准备添加DS1302日历模块和AT24C02flash模块,这两个模块都是I2C通讯的,想启用I2C1来对这两个模块进行通讯。我将STM32CubeMX生成的代码复制到项目中,编译总是出错,折腾了几天,最后才摸索出添加的步骤,除了要将I2C1的配置代码复制过来,还要将stm32g4xx_hal_conf.h文件中被注释掉的宏定义恢复(如下图),这样才能编译通过。 ) h: o7 f+ r% a" y+ A 下图为复制I2C的配置代码:+ b) L. u& H- r! N" _ 9 ^ z0 x, W8 w3 @! W7 r" R# | 1 G1 N$ m, B5 l" k/ V8 \ 通过分析,配置其他外设如SPI、USART等外设也应该按此步骤进行。: z" A& @+ L6 i& S* T I2C1配置好之后,移植DS1302的驱动代码又花费了几天时间,范例中提供的都是大量数据通讯,没有找到单个字节通讯的代码,自己反复尝试都不行,一晃4~5天的时间就过了,迫不得已,今天只好延用自定义GPIO引脚进行模拟I2C通讯,只花了一上午时间便完成了代码移植,成功地驱动了DS1302模块,下面是调试过程: 月日和年份交替显示——显示月日和时间1 G4 g' g4 @+ G, D 4 s6 y( }2 \3 \. r 月日和年份交替显示——显示年份和时间 2 p/ f/ ~" Q5 j% b. r k |
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