
准备添加DS1302日历模块和AT24C02flash模块,这两个模块都是I2C通讯的,想启用I2C1来对这两个模块进行通讯。我将STM32CubeMX生成的代码复制到项目中,编译总是出错,折腾了几天,最后才摸索出添加的步骤,除了要将I2C1的配置代码复制过来,还要将stm32g4xx_hal_conf.h文件中被注释掉的宏定义恢复(如下图),这样才能编译通过。![]() 下图为复制I2C的配置代码: ![]() ![]() 通过分析,配置其他外设如SPI、USART等外设也应该按此步骤进行。 I2C1配置好之后,移植DS1302的驱动代码又花费了几天时间,范例中提供的都是大量数据通讯,没有找到单个字节通讯的代码,自己反复尝试都不行,一晃4~5天的时间就过了,迫不得已,今天只好延用自定义GPIO引脚进行模拟I2C通讯,只花了一上午时间便完成了代码移植,成功地驱动了DS1302模块,下面是调试过程: 月日和年份交替显示——显示月日和时间 ![]() 月日和年份交替显示——显示年份和时间 ![]() |
行啊,已经发布在此贴中https://www.stmcu.org.cn/module/ ... p;extra=#pid2458269