微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机—再论IIC—软件通用包(汇编、c语言)—03

51单片机—再论IIC—软件通用包(汇编、c语言)—03

时间:11-25 来源:互联网 点击:

//-------------------------------------------------------------------------------
//从器件指定地址读多个字节
//入口参数有4个:器件地址码、器件单元地址、读出的数据串、读出的字节个数,写入成功返回1,不成功返回0
bit mcu_rec_string(uchar add,uchar rom_add,uchar *s,uchar num)
{
uchar i;
IIC_start();
send_byte(add); //发送器件的地址码,这里最低位为0,写
IIC_ack_acc();
if(ack==0)
return(0);
send_byte(rom_add);//发送器件的单元地址
IIC_ack_acc();
if(ack==0)
return(0);
IIC_start(); //重新发送开始信号,开始读取数据
send_byte(add+1);//发送器件的地址码,这里最后一位为1,读
IIC_ack_acc();
if(ack==0)
return(0);
for(i=0;i{
*s=rec_byte();
IIC_ack_send(0); //送应答信号
s++;
}
*s=rec_byte();
IIC_ack_send(1); //送非应答信号
IIC_stop();
return(1);

}

总算是好了~~呵呵,哦了,整理好了~~要是哪里不对~~我就shit了


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top