STM32程序编译出现错误,请各位帮忙

STM32程序编译出现错误,请各位帮忙,第1张

STM32程序编译出现错误,是设置错误造成的,解决方法如下:

1、首先打开STM32 ST-LINK Utility,依次选择“File ->Open File...”或者按快捷键“CTRL + O”准备打开一个烧录文件。

2、找到需要烧录的HEX文件,选择“打开”。

3、软件会将该HEX文件加载到窗口,同时会在下面的消息框显示文件的校验码。

4、然后点击菜单栏的“Target ->Connect”开始连接目标。

5、开始连接目标,成功后会在软件工具栏左侧显示目标芯片信息,同时会在下面的消息框进行相关提示。

有问题的那个程序

u8 ReadValue=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_10)

只在上面那条指令采集了一次按键数据。

等到执行到 while(!ReadValue)//等待按键被放开 这条指令时

数据仍然是上次采集到的那个值代表按键按下,(!ReadValue)这个值永远成立,所以无法代表按键断开。所以程序一直卡死在这条指令上。如果要通过就必须在判据里重新读取按键状态,像正确的程序那样用这样的指令

while(!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_10))//等待按键被放开

另外因为你只读取了一次按键状态,所以下面那么多一堆软件消除抖动的程序白写了。

综上,正确的程序在每个判断的时刻都要重新读取下按键状态。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7789285.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存