|
if(oldsec!=sec) //秒有变动就执行下面的语句
{
display_temp(); //lcd显示
send_string_com(buffer,6);
oldsec =sec;
// LED1=!LED1;
}
上面是在主函数里调用串口的程序,下面就是串口程序
// char putchar(char ch)
void send_string_com(unsigned char *str,unsigned char strlen)
{ //*str 数组指针
unsigned char k=0;
do
{
putbuf(*(str + k));
k++;
} while(k < strlen);
}
以下是时间分配表
void bintobcd()
{
buffer[0]=sec%10; buffer[1]=sec/10;
buffer[2]=min%10; buffer[3]=min/10;
buffer[4]=hour%10; buffer[5]=hour/10;
}
为什么程序在lcd上显示是对的时钟程序,而在串口电脑上显示的是错的啊?是不是串口通信中ASCII码有特殊的定义啊?
电脑上的显示:
字符显示?HEX显示06 18 18 18 18 18 F8 18 18 18 18 18 18 F8 ,而我的lcd显示的是00:00:01和
00:00:02,lcd时钟显示正确,但串口显示错误!~ |
阿莫论坛20周年了!感谢大家的支持与爱护!!
阿莫论坛才是最爱国的,关心国家的经济、社会的发展、担心国家被别国牵连卷入战争、知道珍惜来之不易的和平发展,知道师夷之长,关注世界的先进文化与技术,也探讨中国文化的博大精深,也懂得警惕民粹主义的祸国殃民等等等等,无不是爱国忧民的表现。(坛友:tianxian)
|