|
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周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|