我把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,求搭救
|