找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

miniSTM32F103使用DHT11温度传感器(教你改引脚)

查看数: 8872 | 评论数: 1 | 收藏 4
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-3-23 15:57

正文摘要:

自己在第一次使用温度传感器DHT11时,想不用正点原子的源程序的那个引脚,就自己改了,但是一直没有成功,自己也移植很多次,但是都没有成功,今天我来回给大家说说怎么改吧首先 //#define DHT11_IO_IN() & ...

回复

ID:599678 发表于 2020-4-29 08:14
这种改变的方法极为不便。以IIC操作可以这样改,先做好全局定义:
#define IIC_SDA_PORT    GPIOD
#define IIC_SDA_PIN       GPIO_Pin_4
#define IIC_SDA_SOUR    GPIO_PinSource4  
下面是STM32F1的配置方法
#if IIC_SDA_SOUR < 8   //PIN 0-7
#define SDA_IN()  {IIC_SDA_PORT->CRL&=(~((u32)15<<(IIC_SDA_SOUR*4)));\
                    IIC_SDA_PORT->CRL|=(u32)8<<(IIC_SDA_SOUR*4);}
#define SDA_OUT() {IIC_SDA_PORT->CRL&=(~((u32)15<<(IIC_SDA_SOUR*4)));\
                    IIC_SDA_PORT->CRL|=(u32)3<<(IIC_SDA_SOUR*4);}
#else                   //PIN 8-15
#define SDA_IN()  {IIC_SDA_PORT->CRH&=(~((u32)15<<((IIC_SDA_SOUR-8)*4)));\
                    IIC_SDA_PORT->CRH|=(u32)8<<((IIC_SDA_SOUR-8)*4);}
#define SDA_OUT() {IIC_SDA_PORT->CRH&=(~((u32)15<<((IIC_SDA_SOUR-8)*4)));\
                    IIC_SDA_PORT->CRH|=(u32)3<<((IIC_SDA_SOUR-8)*4);}
#endif
下面是F4的配置方法:
#define SDA_IN()  {IIC_SDA_PORT->MODER&=~(3<<(IIC_SDA_SOUR*2));\
                    IIC_SDA_PORT->MODER|=0<<IIC_SDA_SOUR*2;}
#define SDA_OUT() {IIC_SDA_PORT->MODER&=~(3<<(IIC_SDA_SOUR*2));\
                    IIC_SDA_PORT->MODER|=1<<IIC_SDA_SOUR*2;}

调整一个引脚,只需修改对应的全局宏定义即可。关注我,编程不迷路

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表