就用STMF4的库函数实现的,我看过探索者给的I2C源程序,用来和什么通信的我不认识,但是好像时序和我那个对不上,我就自己把以前51的程序重新翻译了份,挪用了源程序的
#define SDA_IN() {GPIOB->MODER&=~(3<<(9*2));GPIOB->MODER|=0<<9*2;} //PB9输入模式
#define SDA_OUT() {GPIOB->MODER&=~(3<<(9*2));GPIOB->MODER|=1<<9*2;} //PB9输出模式
我的SDA是PA2。。不知道怎么改,主要切换输入输出模式嘛。。现在还没做出来忙了一天。。有谁做过这东西的告诉我怎么改,要注意点什么。。
{
u8 ucErrTime=0;
SDA_IN(); //SDA设置为输入
IIC_SDA=1;delay_us(1);
IIC_SCL=1;delay_us(1);
while(READ_SDA)
{
ucErrTime++;
if(ucErrTime>250)
{
IIC_Stop();
return 1;
}
}
一周热门 更多>