打印
[STM32F1]

界面根本就没有显示出来

[复制链接]
1085|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
supernan|  楼主 | 2021-7-4 17:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目的是让时间在LCD屏幕的一小块指定区域内刷新,其他的区域作为秒表的界面,是不需要实时更新的。问题就是我的其他界面是跟着时间一起刷新的,可能由于频率太快(0.1s刷新一次),导致我的界面根本就没有显示出来
//定时器0中断处理函数
void Timer0IntHandler(void)
{
      if(g_bSign)
    {
        return;
    }
    TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT);
    unsigned long ulNum = ++g_ulNum;
    char pcBuffer[9]="00:00:00";
    usprintf(pcBuffer,"%02d:%02d:%02d",
           (int)(ulNum/3600),
           (int)(ulNum%3600/60),
           (int)(ulNum%60));

    IntMasterDisable();
//这里写实时时间   
    GrStringDraw(&g_sTimeContext, pcBuffer, -1, 0, 24, 1);
    IntMasterEnable();
}

主函数中我将存放动态时间的区域分开了(如下),可是还是没效果
GrContextClipRegionSet(&g_sContext, &sRect2);
g_sTimeContext = g_sContext;

如果我这样的方式行不通,请各位指导指导,换种方式也行,再次拜谢!

使用特权

评论回复
沙发
chenjunt| | 2021-7-4 17:32 | 只看该作者
是刷频太慢了吧?

使用特权

评论回复
板凳
ousj| | 2021-7-4 17:35 | 只看该作者
LCD显示的全靠刷频的啊

使用特权

评论回复
地板
morrisk| | 2021-7-4 17:37 | 只看该作者
TimerConfigure(TIMER0_BASE, TIMER_CFG_32_BIT_PER); TimerLoadSet(TIMER0_BASE, TIMER_A, SysCtlClockGet() / 60);

使用特权

评论回复
5
songqian17| | 2021-7-4 17:44 | 只看该作者
是不是定时器中断中刷新字符串频率太快,还没等其他部分刷新出来它又刷新时间部分,导致其他部分没有出现。

使用特权

评论回复
6
kangzj| | 2021-7-4 17:45 | 只看该作者
将时间部分分割出来。。

使用特权

评论回复
7
gongche| | 2021-7-4 17:47 | 只看该作者
是不是刷频速度太慢了

使用特权

评论回复
8
xxmmi| | 2021-7-4 17:49 | 只看该作者
这个是显示的问题。

使用特权

评论回复
9
kangzj| | 2021-7-4 17:53 | 只看该作者
频率速度太快是显示不清楚吗

使用特权

评论回复
10
spark周| | 2021-7-4 17:55 | 只看该作者

这个定时更新固定的趋势。

使用特权

评论回复
11
kangzj| | 2021-7-4 17:57 | 只看该作者
刷新之后,也能隐约看到数字。

使用特权

评论回复
12
huwr| | 2021-7-4 17:59 | 只看该作者
频率太快不是显示的问题吧,是LCD显示问题。

使用特权

评论回复
13
wenfen| | 2021-7-4 18:01 | 只看该作者
推荐楼主使用定时器试试。

使用特权

评论回复
14
supernan|  楼主 | 2021-7-4 18:52 | 只看该作者
你是不是每次刷新前用了清屏指令

使用特权

评论回复
15
stly| | 2021-7-4 18:54 | 只看该作者

静态显示还是动态

使用特权

评论回复
16
supernan|  楼主 | 2021-7-4 18:56 | 只看该作者
唉,还是没有什么结果,算了,多谢大家啦

使用特权

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

本版积分规则

730

主题

10412

帖子

6

粉丝