|
- /****************************************Copyright (c)******************************************
- **
- **--------------File Info-----------------------------------------------------------------------
- ** File name: main.c
- ** Last modified Date:
- ** Last Version:
- ** Descriptions:
- **----------------------------------------------------------------------------------------------
- ** Created by: FiYu
- ** Created date: 2018-1-20
- ** Version: 1.0
- ** Descriptions: 通過硬件IIC接口對外部EEPROM芯片(AT24CXX系列)進(jìn)行讀寫操作,并通過串口1顯示讀取的數(shù)值
- **--------------------------------------------------------------------------------------------*/
- #include "stm32f10x.h"
- #include "user_usart.h"
- #include "user_eeprom.h"
- //delay這里報(bào)錯(cuò)的原因是:delay函數(shù)用匯編實(shí)現(xiàn)的,導(dǎo)致了MDK誤報(bào)。
- #include "delay.h"
- /***************************************************************************
- * 描 述 : 主函數(shù)
- * 參 數(shù) : 無
- * 返回值 : 無
- **************************************************************************/
- int main(void)
- {
- uint8_t Temp;
-
- //初始化USART1并配置USART1中斷優(yōu)先級
- USART1_Init();
- //初始化EEPROM用IIC所用到的IO口
- I2C_GPIO_Init();
- //初始化I2C1
- I2C1_Init();
-
- while(1)
- {
- if(WriteFLAG) //寫模式
- {
- WriteFLAG=0; //寫標(biāo)志變量清零,發(fā)送一次
- AT24CXX_SendOneByte(200,0x33); //在地址200位置寫入1個(gè)字節(jié)數(shù)據(jù)0x33
- USART1_SendByte(0x33); //串口1發(fā)送數(shù)據(jù)0x33表示寫操作完成
- }
- if(ReadFLAG) //讀模式
- {
- ReadFLAG=0; //讀標(biāo)志變量清零,發(fā)送一次
- Temp=AT24CXX_RcvOneByte(100); //在地址200位置處讀取1個(gè)字符
- USART1_SendByte(Temp); //串口1發(fā)送讀取的字符
- }
- if(ClearFLAG) //清除模式
- {
- ClearFLAG=0; //清除標(biāo)志變量清零,發(fā)送一次
- AT24CXX_EraseOneByte(200); //擦除地址200位置處數(shù)據(jù)
- USART1_SendByte(0x00); //串口1發(fā)送數(shù)據(jù)0x00表示擦除完成
- }
- }
- }
- /********************************************END FILE********************/
復(fù)制代碼
全部資料51hei下載地址:
片外EEPROM(硬件IIC).7z
(644.42 KB, 下載次數(shù): 74)
2019-11-22 13:34 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|