完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
` sprintf(temp,"%02d%02d-%02d-%02d -%d-",(int)time_buf1[0],(int)time_buf1[1],(int)time_buf1[2],(int)time_buf1[3],(unsigned int)time_buf1[7]); 些语句中的第9个数(即最后一个%d),好像不受控制,在实际的硬件中显示异常,为一个固定的数值。 LCD1602显示时间,日期,还有星期 格式为2014-03-06 -5- 13:22:00 132200 上条语句中的异常也就是星期显示异常 注:此种异常仅限数字,如果每行的数字不超过8个数字显示正常。 用的是德飞莱开发板 附上程序
电子时钟_DS1302 1602_20140303.zip
(55.65 KB, 下载次数: 60
)
异常现象附图按照程序的设计,第一行的12应该显示一个数字“5”为星期5,第二行前8位显示正常,程序意图的显示效果为00:38:02 003802,由此可见不管是第一行,还是第二行第9个数字起显示异常,并且异常的显示均为12 德飞莱给的程序
105-1602液晶显示DS1302时钟.zip
(44.58 KB, 下载次数: 86
)
请大神帮忙分析一下,为什么,小弟万分感谢。 ` |
|
相关推荐
6个回答
|
|
看看、。。。。。。。。。。。。
|
|
|
|
希望大神们帮忙看看mobile_fromtype_android
|
|
|
|
把上面那句转换一下,转换成
sprintf(temp1,"%02d%02d-%02d-",(int)time_buf1[0],(int)time_buf1[1],(int)time_buf1[2]); sprintf(temp2,"%02d -%d-",(int)time_buf1[3],(unsigned int)time_buf1[7]); sprintf(temp,"%8s%8s",temp1,temp2); 问题得以解决,显示数字正常了,可是为什么用sprintf函数的格式化字符显示超过8个数字时,会显示异常? |
|
|
|
是否因为sprintf函数的参数有个数的限制?
|
|
|
|
这个问题真是奇了怪了,
sprintf((char*)&showtime[2],"%02d-%02d-%02d%02d:%02d:%02d/",sdatestructureget.Year,sdatestructureget.Month, sdatestructureget.Date,stimestructureget.Hours, stimestructureget.Minutes, stimestructureget.Seconds);//影响了我STM32的串口数据接收,莫名奇妙! 改成下面的也不行,好像只能执行一句
|
|
|
|
但是如果执行一句代码运行正常
sprintf((char*)&showtime[2],"%02d-%02d-%02d-",sdatestructureget.Year,sdatestructureget.Month,sdatestructureget.Date); |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
644 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1819 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1262 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1136 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1357 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12024 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 05:30 , Processed in 0.663004 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号