打印
[技术问答]

变量自减到9,TFT屏显示90,什么原因?

[复制链接]
1385|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bingkaiok|  楼主 | 2016-6-9 18:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教各位前辈,进入中断函数,变量赋初值是12,减减1次显示11,再减减显示10,再减减应该显示9,但屏显示90,再减减显示80,代码如下,请问什么原因,该改成怎样?  谢谢指导!
VOID EINT1_IRQHandler(VOID)     //外部中断1服务函数
{
STATIC UINT16 usIRQCount=12;
             UINT8  buf[32]={0};
                         
                 usIRQCount--;
                       
                 sprintf(buf,"%d",usIRQCount);
                       
                 LcdShowString(194,140,buf,RED,WHITE);       
                         
           Delayms(300);
            if(usIRQCount==0)
                         {
                         usIRQCount=12;
                         }
     /* 写1清空 */
           P3_ISRC |= 1<<3;                                 
}
沙发
yiyigirl2014| | 2016-6-9 21:09 | 只看该作者
你显示函数的错误,你是(1   2)   (1   1)   (1  0) (9  0) (8 0)……(0  0)
因为个位数的0没有清除,而接着显示的在第二位了。

使用特权

评论回复
板凳
yiyigirl2014| | 2016-6-9 21:09 | 只看该作者
每次变更显示前,要清屏一次就肯定不会这样了。。。

使用特权

评论回复
地板
yiyigirl2014| | 2016-6-9 21:10 | 只看该作者
或者你设定显示两位数,显示个位的时候为09    08   这样,就OK了。

使用特权

评论回复
5
bingkaiok|  楼主 | 2016-6-10 08:16 | 只看该作者
谢谢帮助,昨晚23点多我才刷新页面,想回帖都回不了了。清屏后可以了,但是我想问下,每次运行后赋新值给变量,变量的地址再传给显示函数,在显示函数那端的变量为什么不会自动擦除更新?

使用特权

评论回复
6
rgwan| | 2016-6-11 20:32 | 只看该作者
bingkaiok 发表于 2016-6-10 08:16
谢谢帮助,昨晚23点多我才刷新页面,想回帖都回不了了。清屏后可以了,但是我想问下,每次运行后赋新值给变 ...

看液晶控制器设计的....

使用特权

评论回复
7
bingkaiok|  楼主 | 2016-10-4 22:21 | 只看该作者
rgwan 发表于 2016-6-11 20:32
看液晶控制器设计的....

很久没进论坛了,谢谢帮助。

使用特权

评论回复
8
apachectl| | 2016-10-5 23:10 | 只看该作者
后面补几个空格就可以了

使用特权

评论回复
9
21icszx| | 2016-10-8 17:22 | 只看该作者
变量除以10就可以了

使用特权

评论回复
10
598330983| | 2016-10-9 21:29 | 只看该作者
bingkaiok 发表于 2016-6-10 08:16
谢谢帮助,昨晚23点多我才刷新页面,想回帖都回不了了。清屏后可以了,但是我想问下,每次运行后赋新值给变 ...

是啊,那个是人家设计的问题,如果你显示的画面大,那么你只需要修改你要更改的位置就可以了,如果每次都全部刷新,那费劲了。

使用特权

评论回复
11
598330983| | 2016-10-9 21:30 | 只看该作者
楼主要规划好显示的位置。规划好了,你就知道要动哪几个位置,然后你只对这几个位置进行全部的更新就行了。比如你规划三位数,你可以显示009

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

74

帖子

0

粉丝