标题: STM32片外EEPROM(硬件IIC)源程序 [打印本页]

作者: meteorite07    时间: 2019-11-17 16:58
标题: STM32片外EEPROM(硬件IIC)源程序
  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系列)进行读写操作,并通过串口1显示读取的数值
  13. **--------------------------------------------------------------------------------------------*/
  14. #include "stm32f10x.h"
  15. #include "user_usart.h"
  16. #include "user_eeprom.h"       
  17. //delay这里报错的原因是:delay函数用汇编实现的,导致了MDK误报。
  18. #include "delay.h"


  19. /***************************************************************************
  20. * 描  述 : 主函数
  21. * 参  数 : 无
  22. * 返回值 : 无
  23. **************************************************************************/
  24. int main(void)
  25. {
  26.         uint8_t        Temp;
  27.   
  28.   //初始化USART1并配置USART1中断优先级
  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;                              //写标志变量清零,发送一次
  40.                           AT24CXX_SendOneByte(200,0x33);                        //在地址200位置写入1个字节数据0x33
  41.         USART1_SendByte(0x33);                    //串口1发送数据0x33表示写操作完成
  42.                  }
  43.                  if(ReadFLAG)                                 //读模式
  44.                  {
  45.                           ReadFLAG=0;                               //读标志变量清零,发送一次
  46.                           Temp=AT24CXX_RcvOneByte(100);                                //在地址200位置处读取1个字符
  47.         USART1_SendByte(Temp);                    //串口1发送读取的字符
  48.                  }       
  49.                  if(ClearFLAG)                                //清除模式
  50.                  {
  51.                           ClearFLAG=0;                              //清除标志变量清零,发送一次
  52.                           AT24CXX_EraseOneByte(200);                //擦除地址200位置处数据
  53.         USART1_SendByte(0x00);                    //串口1发送数据0x00表示擦除完成
  54.                  }         
  55.         }
  56. }

  57. /********************************************END FILE********************/
复制代码

全部资料51hei下载地址:
片外EEPROM(硬件IIC).7z (644.42 KB, 下载次数: 74)

作者: longline    时间: 2023-11-28 18:18
参考一下
作者: herohuang    时间: 2023-12-4 13:02
谢谢大神,可以参考下,硬件比软件要简单




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1