找回密码
 注册
关于网站域名变更的通知
查看: 222|回复: 2
打印 上一主题 下一主题

51单片机为什么中断中定义变量,对应的语句却不执行?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-2-17 11:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
51单片机,在定时器0的中断函数中,定义了名称为l的变量,在仿真的时候,语句l=l-1;不会被执行,总是会跳过。不知道是什么原因?​7 C( s7 X6 P) Z: y! V- Q

& V2 D: ~  l( ]% N7 C9 M; v) H9 u单片机源程序如下:​. `4 D7 t4 ~9 i& h) K% k; L& h
void T0_Interrupt() interrupt 1​7 {6 j7 B: B& s# D
{​1 A  J( g% K9 r0 s8 [/ [4 T8 W: y
         signed char l=10;​
- D7 B% r/ I! a6 A' c. ]+ F         k=k-1;​
+ m/ q' ]" }- \. Z/ y         l=l-1;​
: A* l4 B6 M0 C6 G0 U         TH0=0xF9;   ​6 G* U1 g# C4 a) Y
         TL0=0x66;​
0 \% S5 n! d0 j% H2 m: R; D         ​9 e) I3 a& H3 d* P* ]

% \% ~' o. o( F1 |}​$ w8 V) ?- [, y) a7 g! P/ n2 n

" O/ B& M0 s( |. [

该用户从未签到

2#
发表于 2022-2-17 13:13 | 只看该作者

' u$ W, n  ?( b+ u: l- O每次进入中断都给一个初值signed char l=10?定义成全局或者静态变量试试。另外定义变量的时候最好命名有意义的名称,少用单字母啊

该用户从未签到

3#
发表于 2022-2-17 13:27 | 只看该作者
: i* X% X0 }8 y$ N- p
signed char l=10;6 a, E  m6 u- J" `1 y
改成
" ?1 ~* E' x9 H- |signed char l;
( N1 i4 ~; d& @& r8 }6 Yl=10;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 11:22 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表