当前位置: 首页 > news >正文

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

参考
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通信设置
(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口如下 (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 
http://www.lryc.cn/news/106122.html

相关文章:

  • K8s的详细介绍
  • JavaWeb(8)——前端综合案例2(节流和防抖)
  • Spring优雅的在事务提交/回滚前后插入业务逻辑
  • day48-ajax+SSM分页
  • 如何在本地环境使用 CodeQL 扫描出代码中的安全漏洞?
  • 关于领导要求logback日志时间格式要求为“年-月-日 时:分:秒,毫秒”
  • 软件测试--一些生命周期
  • Mr. Cappuccino的第57杯咖啡——简单手写Mybatis大致原理
  • 机房环境、动力、网络、安防,帮您提高运维效率,确保机房安全
  • 大数据课程E1——Flume的概述
  • 01.Redis实现发送验证码
  • Vue中对组件的调用
  • SpringCloud Gateway获取请求响应body大小
  • 二叉树的层序遍历
  • Spring Boot 集成 Thymeleaf 模板引擎
  • 如何快速找到合适的工作?
  • Elasticsearch入门用例
  • python制作超炫流星雨表白,python好看的流星雨代码
  • iOS数字转为图片
  • mac cli文件管理器
  • 不同语言操作符的优先级
  • YOLOv5源码解读1.7-网络架构common.py
  • 关于前端框架vue2升级为vue3的相关说明
  • gdb调试时查看汇编代码
  • 小研究 - JVM GC 对 IMS HSS 延迟分析(二)
  • eNSP 路由器启动时一直显示 # 号的解决办法
  • Kotlin~Facade
  • 服务配置文件/var/lib/systemd与/etc/systemd/
  • 华为、阿里巴巴、字节跳动 100+ Python 面试问题总结(一)
  • 【牛客网】二叉搜索树与双向链表