准备添加DS1302日历模块和AT24C02flash模块,这两个模块都是I2C通讯的,想启用I2C1来对这两个模块进行通讯。我将STM32CubeMX生成的代码复制到项目中,编译总是出错,折腾了几天,最后才摸索出添加的步骤,除了要将I2C1的配置代码复制过来,还要将stm32g4xx_hal_conf.h文件中被注释掉的宏定义恢复(如下图),这样才能编译通过。
下图为复制I2C的配置代码:
通过分析,配置其他外设如SPI、USART等外设也应该按此步骤进行。 I2C1配置好之后,移植DS1302的驱动代码又花费了几天时间,范例中提供的都是大量数据通讯,没有找到单个字节通讯的代码,自己反复尝试都不行,一晃4~5天的时间就过了,迫不得已,今天只好延用自定义GPIO引脚进行模拟I2C通讯,只花了一上午时间便完成了代码移植,成功地驱动了DS1302模块,下面是调试过程: 月日和年份交替显示——显示月日和时间
月日和年份交替显示——显示年份和时间
|
经验分享 | STM32G4双BANK启动应用演示
STM32G4 LPTIM+DMAMUX 实现并行输出应用示例
实战经验 | LAT1578 SAU对NSC分区的影响
经验分享 | STM32G474 HRTIM Triggered-half模式实现两相交错电源180°相位同步方案
STM32大神笔记,超详细单片机学习汇总资料
经验分享 | 为什么重启ADC的DMA传输要先停掉ADC?
实战经验 | 基于STM32G474的三相LLC+SR PWM产出方案
STM32固件库分享,超全系列整理
经验分享 | STM32G4 双BANK Flash模式页擦除话题
经验分享 | STM32G4片内FLASH擦写实验笔记
微信公众号
手机版
行啊,已经发布在此贴中https://www.stmcu.org.cn/module/ ... p;extra=#pid2458269