串口通信的问题
我最近碰到2个问题,实在搞不懂,所以请教一下各位大哥。。。
1、我通过我的硬件键盘,按键,然后在串口调试助手上显示相应的键值,但是上面显示的数值前面,总有一些诡异的符号。比如我按6,就会显示66666。
我希望只显示出一个正常的6,应该怎么弄呢?
2、我每次按完一次键以后,程序就终止了,我想要按完6个键,程序才会终止,应该怎么做呢?
主程序如下:
main()
{
a=0;
while(a<6)
{
P1=0x70;
TMOD=0x20; //设置定时器1为工作方式2
TH1=0xf3;
TL1=0xf3;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1; /*CPU开中断*/
IT0=1; /*脉冲触发方式(负跳变有效)*/
EX0=1; /*允许外部中断0中断*/
}
}
中断程序内就是一个键盘扫描程序,这是扫描完以后的一个输出代码,请教。。。
SBUF=num;
printf("%d",num);
while(!TI);
TI=0;
a++;