芯片用的是stm32f407igt6,开发环境是cubeide 具体问题如下: 在TIM7的中断函数里,通过改变flag的值,控制单片机执行不同的函数。flag=0执行函数1,flag=1执行函数2。 用cubeide debug的时候,在观察窗切换flag的值,中断执行十多二十次之后,就跑飞了!并且无法改变flag的值。 在cubeIDE里按暂停或者停止都没有响应,先按了停止再按暂停,IDE才会停下来并且报错。 求问是什么原因。。 函数2里程序比较多,正常执行的话需要30多us,TIM7中断的周期设置成100us,按理说也不应该算不完啊。。 因为最小系统板是自己设计的,不排除硬件上的问题。但之前用keil调试时都没有出现类似的情况。。。 求大佬解答 |
cubeIDE在运行时显示Failed to execute MI command是什么问题呢?
stm32f407进入boot里,通过DFU更新程序,没有识别到usb设备
STM32F4作为SPI从机,主机发送完数据后,从机没有正确进入中断
LL库变成黑色,不能用,怎么回事
STM32F407 USB怎么测试接口的极限速度
如何使用STM32CubeIde生成BLE Audio工程
用stm32cubeide生成的STM32G030F6P6代码只要一开中断,任何中断程序都会跑飞.
大佬们,请教有关串口通信问题
STM32F407ZGT6物料表面丝印问题
遇到了外部中断的问题
你的flag是全局变量吗?把flag换成全局变量以后再测试一下?
如果不能连续输出,就查查中断什么时候被改了。
如果能连续输出,就要检查逻辑什么时候断档了。
我就是在里面翻转IO来看有没有进中断的
改了flag后,进中断十多次就进不去了
一开始以为是算法运行超时,导致无法进入中断之类的问题,但后来把算法全部注释掉,只在IDE的观察窗中修改flag,仍然会跑飞。甚至修改一个程序中完全不会出现的变量,依然跑飞,遂意识到应该是仿真器和mcu之间的通信出了问题。于是把程序移植到keil里,很顺畅,一点问题都没了。
应该还是仿真器和cubeIDE不匹配导致的,毕竟板子是st的,开发环境也是st的,配个盗版仿真器,怎么可能用的舒服。。。
我的仿真器是300多从淘宝买的jlink,唉
那你直接用stlink,正版的也不贵,有时候工具确实能搞死人