新手上路
- 积分
- 36
- 金钱
- 36
- 注册时间
- 2020-4-3
- 在线时间
- 22 小时
|
本帖最后由 z519585290 于 2020-4-26 11:35 编辑
公司一个器件官网提供的SDK是基于linux 的,最底层是IIC通信,用的是write read函数,想着是否stm32仿照改一下,请大家指点
2020-04-26更新
经过验证,需要添加类似 fd参数,就是设备读写地址,验证正确可行
u8 IIC_write(u8 fd ,u8 *send_buf,u8 lenght) //fd 设备地址
{
u8 i=0;
IIC_Start();
IIC_Send_Byte(fd<<1);
IIC_Wait_Ack();
for(i=0;i<lenght;i++)
{
IIC_Send_Byte(*send_buf);
IIC_Wait_Ack();
send_buf++;
}
IIC_Stop();
return lenght;
}
u8 IIC_read(u8 fd ,u8 *read_buf,u8 lenght)
{
u8 i=0;
IIC_Start();
IIC_Send_Byte(1+(fd<<1));
IIC_Wait_Ack();
for(i=0;i<lenght;i++)
{
if (i<lenght-1)
{*read_buf=IIC_Read_Byte(1);}
else
{*read_buf=IIC_Read_Byte(0);}
read_buf++;
}
IIC_Stop();
return lenght;
}
|
|