[其他产品] 请问一下在AVR stdio里面这样写为什么没法执行?

[复制链接]
2531|19
 楼主| powerantone 发表于 2025-2-8 20:00 | 显示全部楼层 |阅读模式
定时器中断配置正确,LED端口正确,已验证。 目前就是if判断无法执行, 也就是说定时器里将k置位, 但主函数中却没执行。
稳稳の幸福 发表于 2025-2-9 17:39 | 显示全部楼层
k是全局变量吗,贴出来代码,或者打包工程看看。
稳稳の幸福 发表于 2025-2-9 17:40 | 显示全部楼层
另外要看你置位后,有没有清理中断标志,不清理标志会卡在中断函数里。
598330983 发表于 2025-2-21 19:52 | 显示全部楼层
没看到代码不好说是什么问题啊。要看看具体是卡哪儿了,DEBUG模式呢?
狗啃模拟 发表于 2025-2-23 00:02 | 显示全部楼层
如果编译器对变量 k 进行了优化,可能导致主函数无法正确读取 k 的值。
ewyu 发表于 2025-3-7 13:42 | 显示全部楼层
你不是能仿真吗?仿真看看呗
canfeil 发表于 2025-3-7 15:06 | 显示全部楼层
一般来说就是进不到if的话,说明里面条件达不到呗
gra22ce 发表于 2025-3-7 16:14 | 显示全部楼层
建议就是看看你的程序逻辑吧,一般if判断无法执行就说明是你的if语句不对
teaccch 发表于 2025-3-7 17:20 | 显示全部楼层
看看你的条件是什么?再看看这个条件怎么能为1呗
gongqijuns 发表于 2025-3-7 18:29 | 显示全部楼层
我觉得就是因为你的变量值错了,就是if条件有问题了才会这样
wamed 发表于 2025-3-7 19:45 | 显示全部楼层
看看你的代码吧,这没有代码也看不出来啊
yuliangren 发表于 2025-3-7 21:57 | 显示全部楼层
是不是你的中断变量没清除啊?
清芯芯清 发表于 2025-3-8 09:15 | 显示全部楼层
一般来说主函数之前要给变量清除,比如k值这种
星星点点didi 发表于 2025-3-8 11:35 | 显示全部楼层
If的条件是啥?看看你这个条件是不是写错了
pe66ak 发表于 2025-3-8 13:16 | 显示全部楼层
有可能是你的对比条件写的不对导致呢

kzlzqi 发表于 2025-4-25 18:15 | 显示全部楼层
在 AVR 中,定时器中断通常通过设置一个标志位(如 k)来通知主程序。
暖心小太阳 发表于 2025-4-26 22:39 | 显示全部楼层
检查一下中断使能和全局中断使能是否都打开了,有时候只配置了中断但没有使能,就会导致中断不执行。
桃乐丝 发表于 2025-8-29 12:21 | 显示全部楼层
可能原因:未正确配置熔丝位(如时钟源设置)、缺少必要头文件(如 <avr/io.h>)、未定义目标 MCU 型号、代码有语法错误、编译未通过或下载器连接 / 驱动问题。需检查配置、代码及硬件连接。
野玫瑰 发表于 2025-9-16 16:05 | 显示全部楼层
可能原因:语法错误(如缺少分号、括号不匹配)、未包含必要头文件(如 avr/io.h)、函数未定义或原型缺失、配置熔丝位错误导致程序无法下载、主函数未正确定义(如 main () 返回类型不对)。检查编译提示的错误信息,定位具体问题所在。
桃花落满山前 发表于 2025-9-26 16:37 | 显示全部楼层
可能是代码存在语法错误、库函数未正确包含,或硬件配置问题。AVR Studio 对语法要求严格,括号、分号缺失会报错;未包含对应头文件(如 avr/io.h)会导致函数未定义;引脚定义与硬件不符也会使程序无法正常执行。检查编译提示的错误信息可定位问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

679

主题

4005

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部