完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
线程入口函数里写的是500ms刷新一次显示程序,但是从显示屏上看到的是2000ms才刷新一次,请问是什么问题?
void Display_time_entry(void *parameter) { while (1) { now = time(RT_NULL); // rt_kprintf("%.*s ", 25, ctime(&now)); strcpy(buf,ctime(&now)) ; ssd1306_SetCursor(0, 50); ssd1306_ShowNumber(0, 0, buf[11]-48, Font_7x10, White); ssd1306_ShowNumber(1, 0, buf[12]-48, Font_7x10, White); ssd1306_SetCursor(14, 50); ssd1306_WriteChar(':', Font_7x10, White); ssd1306_SetCursor(0, 50); ssd1306_ShowNumber(3, 0, buf[14]-48, Font_7x10, White); ssd1306_ShowNumber(4, 0, buf[15]-48, Font_7x10, White); ssd1306_SetCursor(35, 50); ssd1306_WriteChar(':', Font_7x10, White); ssd1306_SetCursor(0, 50); ssd1306_ShowNumber(6, 0, buf[17]-48, Font_7x10, White); ssd1306_ShowNumber(7, 0, buf[18]-48, Font_7x10, White); rt_thread_delay(500); } } int Display_Time_Thread(void) { rt_thread_t Display_Time= RT_NULL; Display_Time = rt_thread_create("Display_Time", Display_Time_entry, RT_NULL, 512, 10, 20); if (Display_Time != RT_NULL) { rt_thread_startup(Display_Time); } return RT_EOK; } |
|
相关推荐
3个回答
|
|
可能是系统时间配置问题,另外提醒一下,延时500ms最好调用rt_thread_mdelay
|
|
|
|
rt_thread_delay的单位是tick,你的一个tick是1ms吗?
系统中还存在比display线程优先级高的线程,高优先级的线程有没有及时的让出cpu的控制权呢? |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
790 浏览 0 评论
4407 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2548 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2936 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31545 浏览 11 评论
72957 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 11:46 , Processed in 0.790388 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号