📄 指定地址读指定长度程序.c
字号:
//**********从IIC总线上器件指定地址读指定长度的数据IIC_read_lendata()***
bit IIC_read_lendata (unsigned char cadd, unsigned char data_address, unsigned char *ptr, unsigned char len)
{
IIC_Start(); //发送IIC 启动信号
IIC_SendByte (cadd); //发送从器件写命令
if(CACK_flg()==0) //检测应答信号
{
return 0;
}
IIC_SendByte (data_address); //发送数据地址
if(CACK_flg()==0) //检测应答信号
{
return 0;
}
IIC_Start(); //重新发送IIC启动信号
IIC_SendByte (cadd|0x01); //发送器件读命令
if(CACK_flg()==0) //检测应答信号
{
return 0;
}
for(;len>1;len--) //连续接收LEN-1长度的字节数据
{
*ptr++= IIC_ReceiveByte ();
Send_Ack (); //发送应答信号
}
*ptr= IIC_ReceiveByte (); //接收最后一个字节
Send_NoAck(); // 发送无应答信号
IIC_Stop(); // 发送IIC停止信号
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -