准备添加DS1302日历模块和AT24C02flash模块,这两个模块都是I2C通讯的,想启用I2C1来对这两个模块进行通讯。我将STM32CubeMX生成的代码复制到项目中,编译总是出错,折腾了几天,最后才摸索出添加的步骤,除了要将I2C1的配置代码复制过来,还要将stm32g4xx_hal_conf.h文件中被注释掉的宏定义恢复(如下图),这样才能编译通过。 ' e6 k5 I6 b' w6 E: N 下图为复制I2C的配置代码: % F3 ?# t8 n: T, g7 z t% w; {8 E& c* \4 X1 T 通过分析,配置其他外设如SPI、USART等外设也应该按此步骤进行。% V* O. n, j! w0 m I2C1配置好之后,移植DS1302的驱动代码又花费了几天时间,范例中提供的都是大量数据通讯,没有找到单个字节通讯的代码,自己反复尝试都不行,一晃4~5天的时间就过了,迫不得已,今天只好延用自定义GPIO引脚进行模拟I2C通讯,只花了一上午时间便完成了代码移植,成功地驱动了DS1302模块,下面是调试过程: : ~1 M% Z; R" x: | 月日和年份交替显示——显示月日和时间) H) f n9 a2 Q* m! s7 N 0 @7 r# }/ U- \% X 月日和年份交替显示——显示年份和时间( M+ U& N% e5 o 2 b# d4 e* I" [1 h# H ; x5 d: |7 m3 m |
STM32固件库分享,超全系列整理
【经验分享】STM32G4_CORDIC与定点带符号整数数据格式
STM32的CAN FD位定时设置注意事项
基于STM32G474 中 Triggered-half 模式的实现
基于STM32G4的数字控制 15kW双向PFC
基于STM32G431简介
今天14:00 | 基于STM32的MATLAB电机控制方案直播
基于STM32G474外红外接收经验分享
STM32G431RBT6之Key模块入门
STM32G431RBT6--LED模块入门
行啊,已经发布在此贴中https://www.stmcu.org.cn/module/ ... p;extra=#pid2458269