目前個人測試過AT24C02-AT24C128,感覺還可以。里面沒有頁寫函數,有興趣的伙伴可以補充一下,該程序僅供參考
單片機源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "key.h"
- #include "24cxx.h"
- #include "myiic.h"
- //要寫入到24c128的字符串數組
- const u8 TEXT_Buffer[]={"STM32 AT24c128"};
- #define SIZE sizeof(TEXT_Buffer)
- #define ADDRESS 163 //讀寫地址
- int main(void)
- {
-
-
- u32 fan,fan1=6553;
-
- u8 datatemp[SIZE];
-
- NVIC_Configuration();
- delay_init(); //延時函數初始化
- uart_init(9600); //串口初始化為9600
- LED_Init(); //初始化與LED連接的硬件接口
- KEY_Init(); //按鍵初始化
- AT24CXX_Init(); //IIC初始化
- while(AT24CXX_Check())//檢測不到24c128
- {
- delay_ms(500);
- LED0=!LED0;//DS0閃爍
- }
- while(1)
- {
- //每一個函數都已經測試過,適合AT24C02-AT24C128
- //AT24CXX_WriteOneByte(2049,fan1);
- //AT24Cxx_WriteTwoByte(16383,fan1);
- //AT24CXX_Write(ADDRESS,(u8*)TEXT_Buffer,SIZE);
- //printf("Write:%s\r\n",TEXT_Buffer); //顯示寫入內容
- AT24CXX_WriteLenByte(0,fan1,2);
- delay_ms(1000);
-
- //fan=AT24CXX_ReadOneByte(2049);
- //fan=AT24Cxx_ReadTwoByte(16383);
- //AT24CXX_Read(ADDRESS,datatemp,SIZE);
- //printf("Read:%s\r\n",datatemp);//顯示讀取內容
- fan=AT24CXX_ReadLenByte(0,2);
- printf("Read:%d\r\n",fan);
- }
- }
復制代碼
所有資料51hei提供下載:
STM32 AT24C128.7z
(201.62 KB, 下載次數: 106)
2020-7-27 19:05 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|