stm32 I2C操作ds1624温度传感器代码
来源:互联网 发布:淘宝卖家地址是真的吗 编辑:程序博客网 时间:2024/06/05 20:54
STM32 I2C通信
此项目中的I2C通信协议用于和温度模块(DS1624)进行通信 温度模块有两大功能 采集温度和存取数据
I2C的起始信号:
void IIC_Start(void)
{
SDA_OUT();
IIC_SDA(1);
IIC_SCL(1);
delay_us(4);
IIC_SDA(0);
delay_us(4);
IIC_SCL(0);
}
I2C的结束信号:
void IIC_Stop(void)
{
SDA_OUT();
IIC_SCL(0);
IIC_SDA(0);//STOP:when CLK is high DATA change form low to high
delay_us(4);
IIC_SCL(1);
IIC_SDA(1);
delay_us(4);
}
//等待应答信号到来
U8 IIC_Wait_Ack(void)
{
U8 ucErrTime =0;
SDA_IN();
IIC_SDA(1);delay_us(1);
IIC_SCL(1);delay_us(1);
While(READ_SDA)
{
ucErrTime++;
If(ucErrTime>250)
{
IIC_Stop();
Return 1;
}
}
IIC_SCL(0);
Return 0;
}
//产生ACK应答
void IIC_ACK(void)
{
IIC_SCL(0);
SDA_OUT();
IIC_SDA(0);
Delay_us(2);
IIC_SCL(1);
Delay_us(2);
IIC_SCL(0);
}
//不产生ACK应答
void IIC_ACK(void)
{
IIC_SCL(0);
SDA_OUT();
IIC_SDA(1);
Delay_us(2);
IIC_SCL(1);
Delay_us(2);
IIC_SCL(0);
}
//送一个Byte数据
void IIC_Send_Byte(u8 txd)
{
u8 t;
SDA_OUT();
IIC_SCL(0);//低时序送数据
for(t=0;t<8;t++)
{
IIC_SDA((txd&0x80)>>7);
txd<<=1;
delay_us(2);
IIC_SCL(1);
delay_us(2);
IIC_SCL(0);
delay_us(2);
}
}
//读一个byte数据
u8 IIC_Read_Byte(u8 ack)
{
u8 i,receive=0;
SDA_IN();//数据线设为输入
for(i=0;i<8;i++ )
{
IIC_SCL(0);
delay_us(2);
IIC_SCL(1); //高时序开始读数据
receive<<=1;
if(READ_SDA)receive++;
delay_us(1);
}
if (!ack)
IIC_NAck();//产生ack应答
else
IIC_Ack(); //产生nack应答
return receive;
}
- stm32 I2C操作ds1624温度传感器代码
- DS1624温度传感器应用
- stm32 i2c开发部分代码
- I2C温度传感器应用
- STM32 的内部温度传感器
- STM32芯片内部温度传感器
- stm32 ds18b20 温度传感器
- stm32 驱动DS18B20温度传感器
- stm32 i2c通信 [操作寄存器+库函数]
- stm32 i2c通信 [操作寄存器+库函数]
- stm32 i2c通信 [操作寄存器+库函数]
- stm32 i2c通信 [操作寄存器+库函数]
- stm32 i2c通信 [操作寄存器+库函数]
- stm32 i2c通信 [操作寄存器+库函数]
- stm32 i2c通信 [操作寄存器+库函数]
- stm32 i2c通信 [操作寄存器+库函数]
- STM32---------- I2C
- STM32获取DHT11温度传感器数据
- 406. Queue Reconstruction by Height
- Java+JavaScript+EasyUi启用/禁用的切换,并添加修改人和修改时间
- 对于现有可用于开发者接入的区块链的探讨
- Java(4-4)
- NYOJ 42 一笔画问题
- stm32 I2C操作ds1624温度传感器代码
- 由maven依赖的jar包有误导致tomcat运行报错的一种解决思路
- Swift 4.0中 GCD定时器写法,及延时操作
- 众多优秀的下拉刷新集合
- CentOS-7.0.中安装与配置Tomcat-7的方法
- easyui-tree 清空树 加载树 勾选树 保存树
- 怎么解决cad转jpg格式后不清晰问题呢
- 浅析Oracle 递归查询
- LeetCode 43 Multiply Strings