quote:以下是引用翼飞凌在2012-10-21 17:03:36的发言:
CPU每接收到一个字符,都会将它存放到SMB2里,并产生一个中断,那么在这个中断程序里将SMB2值移走即可。
一个典型的处理SMB2的程序如下,经过计算,该中断执行时间为0.13毫秒
Network 1
LD SM0.0 //0.8us
INCB VB10 //15
MOVB SMB2, *VD80 //15+14
INCD VD80 //22
Network 2
LDB= VB10, 4 //18
MOVB 0, VB10 //15
-D +4, VD80 //29
假如传输的波特率是9600,一个字符10位,那么一个字符所用传输时间大约是1毫秒
从时间上看,完全没问题,也就是接说下一个字节还没到,程序就把上一个字节数据移走了。
你说我完全没弄明白,“每接收到一个字符,都会将它存放到SMB2里,并产生一个中断”?不是接收完最后一个字符才会有个接收完成中断?还有,不建立指针,就能读取指针(除网络读写指令)?指针指向的是地址,你怎么把数据传到了指针里面?实在看不明白,求解,谢谢!我觉得用RCV和XMT是不是要好些啊。