[local]1[/local]
连续发送数据给uart口,怎么上位机只能收到第一个和最后一个数据?
程序功能,从PC读一个数n,返回PC:"n+1 n+2 n+3"
比如输入"0"
得到: "13" 中间的"2"收不到。。。
-----------------------------------附上源码:
;中断服务程序
btfss PIR1,RCIF ;check whether a interrupt sent by USART
goto Err_Exit ;No! exit
movf RCREG,0 ;Yes! Receive data from USART,movf f,0->"mov f data to W";收到的字节数据现在存在W中
;------------把收到的数据处理output w+1------
movwf user0 ; mov W data to user0
incf user0,0 ;将user0中的数据加1 ,并设d=0,所以,将结果送入W;mov user0 data to W
movwf TXREG ;将W(加了1)输出
;---------------------------------------------
movwf user1 ; mov W+1 data to user1
incf user1,0 ;将user1中的数据(W+1)加1 ,并设d=0,所以,将结果送入W
movwf TXREG ;将W(加了1+1)输出
;---------------------------------------------
movwf user2 ; mov W+2 data to user2
incf user2,0 ;将user2中的数据(W+2)加1 ,并设d=0,所以,将结果送入W
movwf TXREG ;将W(加了1+1+1)输出
;----------------------------------
[local]1[/local]
Err_Exit retfie ;中断返回
;----中断程序结束------------------------------------------------------------ |