奥,我解释一下,是这样子的,我刚刚改了一下我的程序,接收函数我使用了中断函数来代替上面我的两个函数,然后在上位机发个0,小灯亮,发个1,小灯灭,但是我是想在上位机上发一串数(上位机是我用C#编的,调试正常),并且至少是得用数码管甚至是液晶屏显示的,所以我的中断函数是这么写的:(补充,2L问我数码管函数的问题,我的静态数码管是74HC164串并转换的,所以只需要两根线,一根时钟一根DAT,这个不是关键的,关键的是串口接收这儿) void serial (void) interrupt 4 { uint i; uchar temp; if(RI==1) { RI=0; temp=SBUF;//上位机数据,送到temp 中 if(temp == '1') LED = 1;//如果上位机发了个1,那么小灯灭 if(temp == '0') LED = 0;//如果上位机发了个0,那么小灯亮 for(i=0;i<8;i++) { string=SBUF;//将从接收缓冲区得到的数据全部存在事先定义好的数组里面,然后把这个数组发到我的静态数码管的显示函数里面去 } } }
[此贴子已经被作者于2012-3-14 12:58:36编辑过]
|