STM32项目开发遇见问题解决2024.6.4

1、引脚接错线

调试迪文屏的界面切换方法,查看迪文使用手册找到界面切换的指令,然后在之前程序代码的基础上修改程序。并找来一个按键板,接好线到单片机,查看之前的按键程序,移植过来并修改。使用迪文软件制作两个背景图片0和1编号,生成文件,用SD卡下载到屏幕上。测试单片机程序,一开始按键不起作用,单步调试不能检测到按键的变量,就开始用万用表检测按键按下时电压是否变化,按键引脚不按下时是高电平,按下后变为低电平,没有问题,再检查单片机程序发现切屏指令的数组编号最后两个还是6、7,修改后不行,再查看程序,按键按下后没有串口发送数据代码,修改后,测试,历史数据界面没有弹出,查看按键接线PC1接到了PC10上,改正后可以弹出历史数据。

2、按键需要按多次才起作用

因为主程序中使用了500ms延时,按键按下是查询检测,导致程序运行的时候有时候不能检测到按键按下,解决方法是将按键检测改成中断输入检测的方式。

3、多级菜单弄清楚menu结构体

调试多级菜单程序,参考之前 的多级菜单程序,移植到项目程序后,比较费劲,一直在看程序的含义,最后的使用落在menu结构体数组中索引号的使用上面,忘记了之前的使用方法,程序也没有完善备注,移植后,初始菜单不是想要的界面,后面的菜单基本能切换。

4、按键扫描代码缺失

程序初步编写完成后运行,按下增加、减小、切换按键没有反应,单步调试查看不了按键的值,查看变量值没有改变,后来又把增加减小按键代码放在while循环中也不行,经过排查,调试程序观察按键扫描函数的返回值,让程序一直全速运行,按下增加、减小按键后返回值一直是0,说明按键扫描函数有问题,进入按键扫描函数,发现keyscan()函数中新增加的4个按键的对应的代码没有添加,修改后,下载程序,可以正常运行,可以增加、减小。

相关推荐
d111111111d37 分钟前
C语言中,malloc和free是什么,在STM32中使用限制是什么,该如何使用?
c语言·开发语言·笔记·stm32·单片机·嵌入式硬件·学习
Mya153592737871 小时前
BX&Mya DSAI130D 3BSE003127R1 模拟量输入模块
嵌入式硬件·plc·输入模块·控制器模块·现货库存·价格优惠·dsai130d
d111111111d1 小时前
STM32 平衡车前置:直流电机正反转 PID 控制(编码器测速 + PWM 驱动)
笔记·stm32·单片机·嵌入式硬件·学习
学工科的皮皮志^_^1 小时前
光模块学习
经验分享·笔记·嵌入式硬件·学习
Jerry丶Li1 小时前
四十、STM32的外设SPI
stm32·单片机·嵌入式硬件
Coder_Boy_2 小时前
【人工智能应用技术】-基础实战-小程序应用(基于springAI+百度语音技术)智能语音控制-单片机交互代码
java·人工智能·后端·嵌入式硬件
清风6666662 小时前
基于单片机的硫化氢、氨气、甲烷、一氧化碳气体多种有害气体检测与声光报警系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
ACP广源盛139246256732 小时前
GSV6505F@ACP#6505F产品规格详解及产品应用分享
单片机·嵌入式硬件·计算机外设·音视频
点灯小铭2 小时前
基于单片机的汽车防撞安全系统
单片机·安全·汽车·毕业设计·课程设计·期末大作业
小李做物联网2 小时前
【单片机毕业设计】148.1基于单片机stm32多节点环境检测毕业设计
stm32·单片机·嵌入式硬件·物联网