STMCU小助手
发布时间:2022-6-27 10:35
|
编写好 I2C 和 AT24CXX驱动函数后, 接下来就可以编写主函数了, 代码如下:
主函数实现的功能很简单,首先调用之前编写好的硬件初始化函数,包括 SysTick 系统时钟,中断分组,LED 初始化等。然后调用我们前面编写的AT24CXX_Init 函数初始化 I2C 端口,接着调用 AT24CXX_Check 函数检测是否存在 AT24CXX 芯片,如果芯片存在就会输出“AT24C02 检测正常!”信息。最后进入 while 循环,调用KEY_Scan 函数,不断检测 K_UP 和 K_DOWN 按键是否按下,如果 K_UP 按键按下,将变量 k 值加 1 写入到 24C02 的地址0 内,并通过打印输出写入的值;当 K_OWN 按键按下,将 24C02 的地址 0 内数据读取出来保存到变量k 中,并通过打印输出读取的值。整个过程中 D1 指示灯会间隔 200ms 闪烁,提示系统正常运行。 实验现象 将工程程序编译后下载到开发板内,串口会输出 AT24C02 检测正常信息,同时可以看到 D1 指示灯不断闪烁,表示程序正常运行。当按下 K_UP 按键后,将数据写入到 24C02 芯片内,同时串口打印输出写入的值;当按下 K_DOWN 按键后,读取 24C02 芯片内的值,同时串口打印输出读取的值。如果想在串口调试助手上看到输出信息, 可以打开 “串口调试助手” ,首先勾选下标号 1 DTR 框,然后再取消勾选。这是因为此串口助手启动时会把系统复位住,通过 DTR 状态切换下即可。然后设置好波特率等参数后,串口助手上即会收到串口发送过来的信息。(串口助手上先勾选下标号1 DTR 框,然后再取消勾选)如下图所示:
实验说明:用户需要将 COM3 模块上的 P232 端子短接到IIC2 端,否则无法显示此功能,这个在硬件电路已经说过。开发板出厂默认已经短接到 IIC2 上,如下:
存储在 24C02(EEPROM)芯片内的值,掉电时都不会丢失。大家可以使用一个短接片将对应的 IIC 模拟 IO 口短接,重启下系统,这个时候就会看到初始化时会报“AT24C02 检测不正常!”(注意还是要按照前面操作串口助手的方法才能看到)。 |
基于stm32平台上的IC-MU磁绝对值编码器SPI通讯和码盘数据处理
使用STM32 MCU和MPU连接PDM数字麦克风
分享STM32资料-采用 STM32U031R8 MCU 的 STM32 Nucleo-64 开发板,官方资料,数据手册等资料
好用软件推荐-TouchGFX Designer
HRTIM 指南
使用 STM32 的 DWT 单元监控内存
DAC,COMP,HRTIM Fault 功能的使用
一个软件引起的 LSE 驱动不良的问题
STM32 GUI LTDC 最大像素时钟评估方法
STM32 Cordic 运算速度评估
微信公众号
手机版