找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3060|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

STM32片外EEPROM(硬件IIC)源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:634006 發(fā)表于 2019-11-17 16:58 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  1. /****************************************Copyright (c)******************************************
  2. **
  3. **--------------File Info-----------------------------------------------------------------------
  4. ** File name:                 main.c
  5. ** Last modified Date:         
  6. ** Last Version:                  
  7. ** Descriptions:                                          
  8. **----------------------------------------------------------------------------------------------
  9. ** Created by:                        FiYu
  10. ** Created date:                2018-1-20
  11. ** Version:                            1.0
  12. ** Descriptions:                通過硬件IIC接口對外部EEPROM芯片(AT24CXX系列)進(jìn)行讀寫操作,并通過串口1顯示讀取的數(shù)值
  13. **--------------------------------------------------------------------------------------------*/
  14. #include "stm32f10x.h"
  15. #include "user_usart.h"
  16. #include "user_eeprom.h"       
  17. //delay這里報(bào)錯(cuò)的原因是:delay函數(shù)用匯編實(shí)現(xiàn)的,導(dǎo)致了MDK誤報(bào)。
  18. #include "delay.h"


  19. /***************************************************************************
  20. * 描  述 : 主函數(shù)
  21. * 參  數(shù) : 無
  22. * 返回值 : 無
  23. **************************************************************************/
  24. int main(void)
  25. {
  26.         uint8_t        Temp;
  27.   
  28.   //初始化USART1并配置USART1中斷優(yōu)先級
  29.   USART1_Init();
  30.   //初始化EEPROM用IIC所用到的IO口
  31.   I2C_GPIO_Init();       
  32.   //初始化I2C1
  33.   I2C1_Init();       
  34.   
  35.   while(1)
  36.   {              
  37.      if(WriteFLAG)                                //寫模式
  38.                  {              
  39.                           WriteFLAG=0;                              //寫標(biāo)志變量清零,發(fā)送一次
  40.                           AT24CXX_SendOneByte(200,0x33);                        //在地址200位置寫入1個(gè)字節(jié)數(shù)據(jù)0x33
  41.         USART1_SendByte(0x33);                    //串口1發(fā)送數(shù)據(jù)0x33表示寫操作完成
  42.                  }
  43.                  if(ReadFLAG)                                 //讀模式
  44.                  {
  45.                           ReadFLAG=0;                               //讀標(biāo)志變量清零,發(fā)送一次
  46.                           Temp=AT24CXX_RcvOneByte(100);                                //在地址200位置處讀取1個(gè)字符
  47.         USART1_SendByte(Temp);                    //串口1發(fā)送讀取的字符
  48.                  }       
  49.                  if(ClearFLAG)                                //清除模式
  50.                  {
  51.                           ClearFLAG=0;                              //清除標(biāo)志變量清零,發(fā)送一次
  52.                           AT24CXX_EraseOneByte(200);                //擦除地址200位置處數(shù)據(jù)
  53.         USART1_SendByte(0x00);                    //串口1發(fā)送數(shù)據(jù)0x00表示擦除完成
  54.                  }         
  55.         }
  56. }

  57. /********************************************END FILE********************/
復(fù)制代碼

全部資料51hei下載地址:
片外EEPROM(硬件IIC).7z (644.42 KB, 下載次數(shù): 74)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:124486 發(fā)表于 2023-11-28 18:18 | 只看該作者
參考一下
回復(fù)

使用道具 舉報(bào)

板凳
ID:101305 發(fā)表于 2023-12-4 13:02 | 只看該作者
謝謝大神,可以參考下,硬件比軟件要簡單
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表