手头有个湿温传感器程序的模板,是应用于avr的,好像只需要修改一下端口,就可以应用于stm32:
*时钟线:P4.5
*数据线:P4.6
*采用温度14位,湿度12位
*******************************************************************************/
#define SHT_SCK BIT5
#define SHT_DAT BIT6
#define SHT_SCK_OUT P4DIR|=SHT_SCK //时钟线为输出
#define SHT_SCK_1 P4OUT|=SHT_SCK //SHT_SCK=1
#define SHT_SCK_0 P4OUT&=~SHT_SCK //SHT_SCK=0
#define SHT_DAT_OUT P4DIR|=SHT_DAT //数据线为输出
#define SHT_DAT_IN P4DIR&=~SHT_DAT //数据线为输入
#define SHT_DAT_1 P4OUT|=SHT_DAT //SHT_DAT=1
#define SHT_DAT_0 P4OUT&=~SHT_DAT //SHT_DAT=0
#define Read_SHT_Dat (P4IN>>6)&0x01
我想用stm32的PC9和PC8来连接DATA和SCK,但上面的程序有点搞不懂,以前没见过这样的程序,我改成下面的程序行吗?
*时钟线:PC.8
*数据线:PC.9
*采用温度14位,湿度12位
*******************************************************************************/
#define SHT_SCK BIT8
#define SHT_DAT BIT9
#define SHT_SCK_OUT PCDIR|=SHT_SCK //时钟线为输出
#define SHT_SCK_1 PCOUT|=SHT_SCK //SHT_SCK=1
#define SHT_SCK_0 PCOUT&=~SHT_SCK //SHT_SCK=0
#define SHT_DAT_OUT PCDIR|=SHT_DAT //数据线为输出
#define SHT_DAT_IN PCDIR&=~SHT_DAT //数据线为输入
#define SHT_DAT_1 PCOUT|=SHT_DAT //SHT_DAT=1
#define SHT_DAT_0 PCOUT&=~SHT_DAT //SHT_DAT=0
#define Read_SHT_Dat (PCIN>>6)&0x01
非常感谢曾经帮助我的原子哥,真是个好人哎~~~
|