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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
51单片机,在定时器0的中断函数中,定义了名称为l的变量,在仿真的时候,语句l=l-1;不会被执行,总是会跳过。不知道是什么原因?​
5 w( V7 K, U' @1 t! I7 b/ K( r
- O' E4 ]7 J$ |# c单片机源程序如下:​
. C$ Y1 N% p! w/ d; qvoid T0_Interrupt() interrupt 1​
6 }% ~& _4 s/ I' Y# G{​
" g6 W  U2 f$ V+ m0 L         signed char l=10;​4 E4 y3 g. D- M
         k=k-1;​
, f0 ~' l1 K7 ~% J( j         l=l-1;​/ B3 ]+ p4 u; W7 {( U9 I3 B1 O2 U
         TH0=0xF9;   ​9 E6 z. F( ^* {2 n
         TL0=0x66;​& N& \' ]- m2 K9 v
         ​
8 g# v0 V, j0 C! ^* r" g* \, r" b( Y
) s7 a- X3 f8 V8 Z: Q- J. J- F# A: ~$ B}​) @9 k: |/ U6 P+ K

. T" h4 ]2 @% F$ h1 X8 p- V7 a" M) l# t

该用户从未签到

2#
发表于 2022-2-17 13:13 | 只看该作者
4 b$ a- z6 c+ k' K  N4 ]. j
每次进入中断都给一个初值signed char l=10?定义成全局或者静态变量试试。另外定义变量的时候最好命名有意义的名称,少用单字母啊

该用户从未签到

3#
发表于 2022-2-17 13:27 | 只看该作者
. _, x3 Y! j, m# R) K, _
signed char l=10;
' X5 x8 u1 C9 v; _改成
/ [7 X% {# s0 J1 c/ q: a3 z6 Fsigned char l;
0 n# c, @  T/ jl=10;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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