# V0.3 完成DHT10驱动函数,但是数据目前异常,等待排除硬件问题

This commit is contained in:
jxh
2025-03-21 00:45:04 +08:00
parent 58efe255f0
commit 9de7e3600d
9 changed files with 430 additions and 386 deletions

View File

@ -92,15 +92,23 @@ IIC_WaitAck (void)
}
}
void
IIC_SendAck (bit ack)
/**
* @brief 发送IIC协议中的确认信号
*
* 该函数通过控制SDA数据线和SCL时钟线来发送确认ACK或不确认NACK信号。
* 在IIC通信中发送方在传输数据后会发送一个ACK请求接收方需要通过拉低或拉高SDA线来响应。
*
* @param ack 一个bit类型的变量决定是否发送确认信号。ack为1时发送ACKack为0时发送NACK。
*/
void IIC_SendAck (bit ack)
{
// 根据ack参数决定SDA线的电平1发送ACK0发送NACK
SDA = ack ? 0 : 1;
IIC_Delay ();
SCL = 1;
IIC_Delay ();
SCL = 0;
SDA = 1; // 释放SDA
IIC_Delay(); // 等待一段时间,确保电平稳定
SCL = 1; // 拉高SCL线允许数据传输
IIC_Delay(); // 再次等待,确保时钟脉冲宽度
SCL = 0; // 拉低SCL线结束当前时钟周期
SDA = 1; // 释放SDA线,准备下一次通信
}
/**