STM32
直播中

张婧怡

7年用户 199经验值
私信 关注
[问答]

24C02读取出错的解决办法?

我把24C02的两个引脚接到PA0和PA1
//IO方向设置
#define SDA_IN()  {GPIOA->CRL&=0XFFFFFF0F;GPIOA->CRL|=8<<4;}
#define SDA_OUT() {GPIOA->CRL&=0XFFFFFF0F;GPIOA->CRL|=3<<4;}
//IO操作函数  
#define IIC_SCL    PAout(0) //SCL
#define IIC_SDA    PAout(1) //SDA  
#define READ_SDA   PAin(1)  //输入SDA
void IIC_Init(void)
{         
  RCC->APB2ENR|=1<<2;//先使能外设IO PORTA时钟         
GPIOA->CRL&=0XFFFFFF00;//PA0,PA1 推挽输出
GPIOA->CRL|=0X00000033;   
GPIOA->ODR|=3;     //PA0,PA1 输出高
}
写入和读取的地方
AT24CXX_WriteOneByte(0,123);
i=AT24CXX_ReadOneByte(0);  
LCD_ShowNum(50,50,i,5);
正常的话显示的应该是123吧,现在TFT上显示的是255,求搭救

回帖(1)

莫循虎

2020-6-8 07:49:27
解决了,没初始化,粗心了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分