STM3232 GPIO的配置寄存器(为了移植IIC)

2023-11-16

参考
https://blog.csdn.net/qq_45539458/article/details/129481019
https://blog.csdn.net/weixin_43314829/article/details/125573448?spm=1001.2014.3001.5502
https://blog.csdn.net/m0_71548440/article/details/125894236?spm=1001.2014.3001.5502

正点原子mini板 stm32f103rct6 普通口模拟iic通信设置
CRH:15 14 13 12_11 10 9 8—FFFF_0FFF (11-8)*4=12 CRH

//IO方向      
#define SDA_IN()  {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=8<<12;}
#define SDA_OUT() {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=3<<12;}

//IO操作	 
#define IIC_SCL    PCout(12) //SCL
#define IIC_SDA    PCout(11) //SDA	 
#define READ_SDA   PCin(11)  //输入SDA 

更改io口如下 FF0F FFFF (13-8)*4=20 CRH

#define SDA_IN()  {GPIOC->CRH&=0XFF0FFFFF;GPIOC->CRH|=(u32)8<<20;}	//CRH:15 14 13 12 11 10 9 8 
#define SDA_OUT() {GPIOC->CRH&=0XFF0FFFFF;GPIOC->CRH|=(u32)3<<20;} 	//PC13
#define IIC_SCL   PCout(0) //SCL
#define IIC_SDA   PCout(13) //SDA
#define READ_SDA  PCin(13)  //ÊäÈëSDA

ds18b20代码 0 *4=0 CRL

//IO·½ÏòÉèÖÃ
#define DS18B20_IO_IN()  {GPIOA->CRL&=0XFFFFFFF0;GPIOA->CRL|=8<<0;}
#define DS18B20_IO_OUT() {GPIOA->CRL&=0XFFFFFFF0;GPIOA->CRL|=3<<0;}
IO²Ù×÷º¯Êý											   
#define	DS18B20_DQ_OUT PAout(0) //Êý¾Ý¶Ë¿Ú	PA0
#define	DS18B20_DQ_IN  PAin(0)  //Êý¾Ý¶Ë¿Ú	PA0 

战舰板 iic 7*4=28 CRL

#define SDA_IN()  {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)8<<28;}
#define SDA_OUT() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)3<<28;}
#define IIC_SCL    PBout(6) //SCL
#define IIC_SDA    PBout(7) //SDA	 
#define READ_SDA   PBin(7)  //ÊäÈëSDA 

战舰板 ds18b20 (11-8)*4=12 CRH

//IO·½ÏòÉèÖÃ
#define DS18B20_IO_IN()  {GPIOG->CRH&=0XFFFF0FFF;GPIOG->CRH|=8<<12;}
#define DS18B20_IO_OUT() {GPIOG->CRH&=0XFFFF0FFF;GPIOG->CRH|=3<<12;}
IO²Ù×÷º¯Êý											   
#define	DS18B20_DQ_OUT PGout(11) //Êý¾Ý¶Ë¿Ú	PA0 
#define	DS18B20_DQ_IN  PGin(11)  //Êý¾Ý¶Ë¿Ú	PA0 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM3232 GPIO的配置寄存器(为了移植IIC) 的相关文章

随机推荐

  • java.sql.SQLException: Network error IOException: Connection refused

    发生原因的问题是 数据库从服务器换到本地 项目启动就报错 1 程序和功能 启用或关闭Windows功能 2 Telnet客户端打个勾 3 win R cmd 输入 services msc 找到SQL SERVER的服务 重启一下 4 重启
  • SQLserver2008 R2连接服务器异常(error:26-定位指定的服务器/实例时出错)

    SQLserver2008 R2连接服务器异常 error 26 定位指定的服务器 实例时出错 笔者的系统环境 Windows7旗舰版安装VMware workstations pro后在Windows8 1专业版操作系统上安装SQLser
  • C语言实现抽签小功能

    相信大家都玩过微信小程序抽签的经历 现在我们就用C语言实现简单的抽签函数 简单方便 思考难度不大 各位试试吧 include
  • css line height无效,为什么设置span的line-height属性无效?

    不知道为什么span 中line height设置大小小于18px的话都是无效的 18之后才看到效果 不知道是怎么回事求大佬解答一下 http codepen io 1206189299 直接给答案 给 span 设置 display in
  • Cannot change version of project facet Dynamic Web Module to 2.5 错误

    问题 新建maven webapp项目后 出现Cannot change version of project facet Dynamic web module to 3 0或者2 5 分析 使用Maven新建Web项目时使用的是Artif
  • 和数集团聚焦区块链人才培养推动数字经济场景落地

    随着互联网时代的不断推进 全球经济结构已呈现多元化形态 尤其是大数据 云计算 人工智能等技术革新进步 数字经济迎来了快速发展的时期 从更深层次方面理解 数字经济也契合创新 协调 绿色 开放 共享的新发展理念 为我们国家经济社会发展注入了新动
  • Hive(八)Hive的Shell操作与压缩存储

    一 Hive的命令行 1 Hive支持的一些命令 Command Description quit Use quit or exit to leave the interactive shell set key value Use this
  • node.js如何封装一个接口

    用到的应用 1 webstorm 2 Navicat for MySQL 3 postman 一 使用express创建项目 1 npm install express generator g 2 express myapp 二 使用Nav
  • Openwrt下ipk包的安装、卸载与更新

    一 环境说明 Openwrt version 17 01 4 Linux version 4 4 92 二 安装ipk 将编译好的 ipk传到开发板上 使用命令 opkg install xxxxx ipk 安装成功的界面如下 再进入 li
  • 【软件工程期末复习内容】

    前言 时不可以苟遇 道不可以虚行 一 软件工程的概念 软件是计算机系统运行的 指令 数据 和 相关文档 的集合 即软件等于程序 数据 加上文档 程序 是事先按照预定功能性能等要求设计和编写的指令序列 数据 是使程序正常处理信息的数据结构及信
  • 远程计算机内部错误,Win10系统远程桌面连接出现内部错误怎么办?

    Win10系统远程桌面连接出现内部错误该怎么办 大家在使用Win10系统的时候总是会出现这样那样的问题 Win 10 远程桌面连接偶尔提示 出现了内部错误 刚刚明明还好好的 有时连接久了会突然断开 提示出现了内部错误 我们遇到这个问题该怎么
  • 生态系统过程模型

    生态系统过程模型 根据生态系统的生理生态学特性 结合影响生态系统过程的观测指标 提出的能够反映生态系统过程的机制模型 统计模型 stochasticmodel statisticmodel probabilitymodel 指以概率论为基础
  • qt 动态库的创建和使用教程(step by step)

    一般大型项目中 会将实现特定功能的函数或类 封装成链接库 供应用程序代码调用 下面我将一步步教你如何在qt 中创建动态库 并使用它 目录 创建多子目录项目 创建动态链接库 编辑链接库内容 创建应用工程并连接动态链接库 创建多子目录项目 首先
  • React基础入门

    系统学习React 一 基础知识 邂逅React开发 React系列一 核心JSX语法一 React系列二 核心JSX语法二 React系列三 阶段案例练习 React系列四 React脚手架 React系列五 组件化开发 一 React系
  • mysql8.0.30用户与权限管理

    文章目录 用户管理 登录mysql服务器 创建用户 修改用户 删除用户 查看用户 修改用户密码 权限管理 查看权限 授予权限的原则 授予权限 查看权限 收回权限 查看user 信息表结构和信息 db表 其他表信息 角色管理 创建角色 给角色
  • Python之NumPy(axis=0/1/2...)的透彻理解

    前言 在numpy的使用中 对axis的使用总是会产生疑问 如np sum函数 在多维情况下 axis不同的取值应该做怎样的运算呢 返回的是什么形状的数组呢 在网上查了很多资料 总是似懂非懂 查阅了官方文件 以及多次试验后 我总结出一种能深
  • [ZYNQ随笔] uboot移植中bitstream比特流加载问题:zynq_validate_bitstream: Bitstream is not validated yet

    问题介绍 由于项目设计需要 需要频繁的更换比特流文件 之前使用petalinux生成的boot bin每次都需要合并比特流 比较麻烦 遂换了一个uboot版本 米联客默认的u boot 将bitstream放到了独立于boot bin的文件
  • 经验教训

    最近有一个项目基于STM32F446ZE MCU使用FREERTOS操作系统开发 之前有部分功能代码是基于MCU裸机开发的 移植过程种发现程序老出错 DEBUG模式条件发现程序停在了HardFault Handler中断服务程序中 查看对应
  • 对角矩阵np.diag()

    np diag 是 NumPy 库中的一个函数 用于创建一个对角矩阵或从一个矩阵中提取对角线元素 具体来说 np diag 可以接受以下两种参数 一个一维数组 将其转换为一个对角矩阵 数组中的元素将成为对角线上的元素 例如 np diag
  • STM3232 GPIO的配置寄存器(为了移植IIC)

    参考 https blog csdn net qq 45539458 article details 129481019 https blog csdn net weixin 43314829 article details 1255734