通过GPIO模拟IIC通信对接SHT20温湿度计-linux gpio模拟spi

因为是模拟的所以不必拘束IO管脚,我是选择了PB6,PB7管脚,这两个管脚旁边也有3.3V正好可以供电。

之后看下代码吧。

`void IIC_Init(void)

{ rcu_periph_clock_enable(RCU_GPIOB); /* configure led GPIO port */ gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_6|GPIO_PIN_7); gpio_output_options_set(GPIOB, GPIO_OTYPE_OD, GPIO_OSPEED_50MHZ, GPIO_PIN_6|GPIO_PIN_7); IIC_SpeedCtl(5); SDA_H; //拉高SDA线,处于空闲状态 SCL_H; //拉高SCL线,处于空闲状态

}`

这里是IIC接口初始化,我们初始化成GPIO_OTYPE_OD,开漏输出,这样不必在意IO口的方向,方便读取IO状态。

通过GPIO模拟IIC通信对接SHT20温湿度计-linux gpio模拟spi

之后获取温湿度值都在SHT20_GetValue函数中。主要就是读取两个寄存器里温湿度值。

然后我们可以仿真看下效果。

通过GPIO模拟IIC通信对接SHT20温湿度计-linux gpio模拟spi 审核编辑:刘清

免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:通过GPIO模拟IIC通信对接SHT20温湿度计-linux gpio模拟spi https://www.yhzz.com.cn/a/7356.html

上一篇 2023-04-17 22:52:21
下一篇 2023-04-17 22:58:42

相关推荐

联系云恒

在线留言: 我要留言
客服热线:400-600-0310
工作时间:周一至周六,08:30-17:30,节假日休息。