STM32G0开发笔记-Platformio+libopencm3-EEPROM M24C02使用
使用Platformio平台的libopencm3开发框架来开发STM32G0,以下为EEPROM M24C02的使用方法。
1 新建项目
- 建立eeprom项目
在PIO的Home页面新建项目,项目名称eeprom,选择开发板为 MonkeyPi_STM32_G070RB,开发框架选择libopencm3;
- 项目建立完成后在src目录下新建main.c主程序文件;
- 修改下载和调试方式,这里开发板使用的是DAPLink仿真器,因此修改platformio.ini文件如下:
1 | upload_protocol = cmsis-dap |
2 编写程序
首先从之前的I2C项目中拷贝sw_i2c库文件夹到当前项目的lib目录下:
本次不使用串口打印,直接使用SEGGER rtt打印,因此将SEGGER RTT也放置在lib目录下,便于调试打印:
1 | void log(const char* fmt, ...) |
2.1 EEPROM 写数据
1 | static inline bool m24cxx_write_one_byte(uint8_t addr, uint8_t data) |
2.2 EEPROM 读数据
1 | static inline bool m24cxx_read_one_byte(uint8_t addr, uint8_t *ptr) |
3 连接硬件进行测试
将EEPROM模块与开发的I2C引脚连接好:
先执行程序进行写入:
1 | int main(void) |
然后将读取部分的程序注释打开:
1 |
|
将开发板断电后重新上电可以看到测试正确:
注:写入数据根据M24C02的数据手册,其 Write time 为5ms,因此写入后要进行等待其写入完成;
著作权归本网站(https://makerinchina.cn)所有,转载请注明来自 MakerInChina.