|
芯片用的是stm32f407igt6,开发环境是cubeide 具体问题如下: 在TIM7的中断函数里,通过改变flag的值,控制单片机执行不同的函数。flag=0执行函数1,flag=1执行函数2。 用cubeide debug的时候,在观察窗切换flag的值,中断执行十多二十次之后,就跑飞了!并且无法改变flag的值。 在cubeIDE里按暂停或者停止都没有响应,先按了停止再按暂停,IDE才会停下来并且报错。 求问是什么原因。。 函数2里程序比较多,正常执行的话需要30多us,TIM7中断的周期设置成100us,按理说也不应该算不完啊。。 因为最小系统板是自己设计的,不排除硬件上的问题。但之前用keil调试时都没有出现类似的情况。。。 求大佬解答 |
离线安装帮助插件
STM32U385的PB1引脚设置推挽输出,外部接电阻上拉时,断掉MCU的电源,MCU仍然运行的问题
新版本STM32CUBEIDE在新建工程中无法没有CUBEMX的选项了?
STM32CubeIDE for Visual Studio Code无法使用
无法通过 SPI 读取 TCD1304数据
MotorControl Workbench 6.4.1 生成 FOC 项目代码后运行死机。
F407的SDIO的硬件分流问题
workbench5.3.1生成代码问题
STM32 CubeIDE 中的编译器优化等级
STLink下载程序失败,Flash部分地址不能写入
微信公众号
手机版
你的flag是全局变量吗?把flag换成全局变量以后再测试一下?
如果不能连续输出,就查查中断什么时候被改了。
如果能连续输出,就要检查逻辑什么时候断档了。
我就是在里面翻转IO来看有没有进中断的
改了flag后,进中断十多次就进不去了
一开始以为是算法运行超时,导致无法进入中断之类的问题,但后来把算法全部注释掉,只在IDE的观察窗中修改flag,仍然会跑飞。甚至修改一个程序中完全不会出现的变量,依然跑飞,遂意识到应该是仿真器和mcu之间的通信出了问题。于是把程序移植到keil里,很顺畅,一点问题都没了。
应该还是仿真器和cubeIDE不匹配导致的,毕竟板子是st的,开发环境也是st的,配个盗版仿真器,怎么可能用的舒服。。。
我的仿真器是300多从淘宝买的jlink,唉
那你直接用stlink,正版的也不贵,有时候工具确实能搞死人