完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
while(1)
{ w=1; if(w==2) { x=1; } } 程序运行到了x=1,但此时通过监控窗口看w=1; 中断有T0和T1,但中断从未对w做出过修改。这是怎么回事? 翻译成汇编是这样的 BRA 0x15b8 15B8 MOVLW 0x1 15BA MOVWF 0xfdf, ACCESS 15BC MOVLW 0x2 15BE SUBWF 0xfdf, W, ACCESS 15C0 BNZ 0x15c8 15C2 MOVF 0xfde, F, ACCESS 15C4 MOVLW 0x1 15C6 MOVWF 0xfdd, ACCESS |
|
相关推荐
|
|
顺序是这样的,是因为全速运行先出现的问题,然后,我根据问题设断点,发现了这个事情
|
|
|
|
|
|
问题出在这一步
MOVLW 0x1 MOVWF f, BANKED W就是汇编里的WREG寄存器,而这个寄存器在C语言里是看不到的。 执行完 MOVLW 0x1以后 WREG=1;如果这时进入中断,中断里执行了MOVLW 0,就会把WREG变成0;那么再执行MOVWF f, BANKED f的值就变成成0了 不进入中断的话f的值本应是1的 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
求解外围电路实现的是4脚给持续低电平复位并正常工作,高电平不工作的原因
2025 浏览 1 评论
3160 浏览 3 评论
PIC1946程序有一个变量在运行过程中恢复初始值其他变量保持不变
2263 浏览 2 评论
2691 浏览 0 评论
PIC16F1825的RC5引脚,在主程序中操作无效,在中断中可以改变是为什么?
3905 浏览 5 评论
818浏览 0评论
用XC8编译PIC18F25K80时提示下面Error,求怎么解决这个问题
6232浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-11 07:27 , Processed in 0.546418 second(s), Total 77, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191