谁能帮看下我这个RS232收发字符串的程序问题在哪??

2020-02-09 11:24发布

我把下面的程序放在主程序里怎么没反映呢,串口精灵没有输出字符啊!!!!
我用PIC18F248

loop       movf count1,0 ;count1作为查表地址偏移量送入W
           read1 ;字符串"my name"
           addwf PCL,1 ;地址偏移量加当前PC值
           retlw a' ' ;换行控制符号,即0DH=<CR>
           retlw a' ' ;回车控制符号,即0AH=<LF>
           retlw a'M' ;送回到微机超级终端的字符串
           retlw a'y'
           retlw a' '
           retlw a'n'
           retlw a'a'
           retlw a'm'
           retlw a'e'   
           retlw a' '
           retlw a' ' ;
           retlw 0
           movwf temp ;
GetData    btfss PIR1,TXIF ;等待,直到USART空闲
           goto GetData
           movwf TXREG ;查表值送USART
           incf count1,1 ;查表计数器加1
           movf temp,W ;检查到读表值为"0"了吗
           btfss STATUS,Z ;是!跳一步,结束查表
           goto loop ;否!应该返回继续查表
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
youmcu
2020-02-10 18:43
loop       movf    count1,0  ;count1作为查表地址偏移量送入W   
        ;  read1             ;字符串"my name" ?????  
           addwf   PCL,1     ;地址偏移量加当前PC值   
           bsf     PORTB,7   ;!!!!!不可在PCL运算中,count1=0时要错误的,
           retlw   a' '     ;换行控制符号,即0DH=<CR>
           .

init232    .....
           bcf         TRISB,7                ;!!!!如设为输出,则不能用于RX接收
           bcf         TRISB,5
           return

main        
           call   init232
main2      call   GetData
           bsf    PORTB,7   ;?? 如果需要
           bsf    PORTB,5   ;??

           clrf   count1    ;PCL运算从0开始
           goto   main2

           end

一周热门 更多>