OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子全套STM32开发资料,上千讲STM32视频教程,RT1052教程免费下载啦...

查看: 168|回复: 3

显示屏界面切换问题

[复制链接]

  离线 

25

主题

263

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
385
金钱
385
注册时间
2018-3-27
在线时间
105 小时
发表于 4 天前 | 显示全部楼层 |阅读模式
5金钱
两个界面之间通过按键切换(外部中断里面实现操作)
界面一我用TIM3做了一个动态显示(延时150ms切换一次显示,实现动态流动的效果)
通过按键从界面一切换到界面二时
1.当定时器中断优先级高于外部中断优先级时,界面二有时会有界面一动态显示的部分(外部中断打断定时器中断后(这里我失能了定时器中断),还是会回到定时器中断继续操作)
2.当定时器中断优先级低于外部中断优先级时,界面一切换到界面二时会不灵敏(外部中断不能打断定时器中断)


界面二切换到界面一没问题。
请问我应该怎么实现这两个界面之间的切换?

最佳答案

查看完整内容[请看2#楼]

很笨的方法,每条语句都加一个判断:按键外部中断优先级高于定时器中断优先级,这样即使按键打断了定时器中断,程序回来时也不会执行 if(zhu == 0)LCD_Clear(70,73,74,78,WHITE); if(zhu == 0)LCD_Clear(78,81,74,78,WHITE); if(zhu == 0)LCD_Clear(86,89,74,78,WHITE);
回复

使用道具 举报

  离线 

25

主题

263

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
385
金钱
385
注册时间
2018-3-27
在线时间
105 小时
 楼主| 发表于 4 天前 | 显示全部楼层
很笨的方法,每条语句都加一个判断:按键外部中断优先级高于定时器中断优先级,这样即使按键打断了定时器中断,程序回来时也不会执行
if(zhu == 0)LCD_Clear(70,73,74,78,WHITE);
if(zhu == 0)LCD_Clear(78,81,74,78,WHITE);
if(zhu == 0)LCD_Clear(86,89,74,78,WHITE);

回复

使用道具 举报

  离线 

499

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
129612
金钱
129612
注册时间
2010-12-1
在线时间
1163 小时
发表于 3 天前 | 显示全部楼层
你现在实现了么?
回复

使用道具 举报

  离线 

25

主题

263

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
385
金钱
385
注册时间
2018-3-27
在线时间
105 小时
 楼主| 发表于 昨天 09:16 | 显示全部楼层

没呢,原子哥
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则




关闭

"原子哥”推荐上一条 /1 下一条

QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-7-17 04:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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