导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→再次請教串口問題[bizhenke]

 *第9168篇: 再次請教串口問題

  
楼 主:bizhenke 2003年3月21日10:30
 再次請教串口問題

怎么我能發送數據﹐但是接受不到數據呢﹖請大俠們指點﹐謝謝﹗
  
2楼:老古 2003年3月21日10:42
 具体的程序?用中断还是查询?
  
3楼:bizhenke 2003年3月21日11:17
 采用中斷方式﹐具體中斷接收程序見下﹕

采用中斷方式﹐具體中斷接收程序見下﹕
 Receive:
     clr ea
     mov a,sbuf
     clr ri
     mov 30h,a
     re0:
          jbc ri,re1
          jmp re0
    re1:
          mov a,sbuf
          mov 31h,a
    re2:
          jbc ri,re3
          jmp re2
    re3:
          mov a,sbuf
          mov 32h,a
    setb ea
    reti
我接收固定的三個字節﹐但是都是零﹐偶爾最后一個會正確﹐有時會有半個字節正確

  
4楼:学习中 2003年3月21日20:21
 未保护现场
程序未保护现场,似不妥。如果接收波特率不是太高,最好接收一字节中断一次,这个程序容易进入死循环。


  
5楼:老古 2003年3月21日20:38
 clr ri的指令是多余的,jbc ri 就包含了对ri的清除
  
6楼:红心J 2003年3月21日20:51
 参考
程序好象没什么问题,建议观察RXD波形,看信号是否可靠到达。
以下编程谨提供参考:
Receive: clr ea
            CLR TI
            JBC RI,RE
RE_END: SETB EA
             RETI
RE:        mov 30h,SBUF
re0:       jbc ri,re1
            jmp re0
re1:       mov 31h,SBUF
re2:       jbc ri,re3
            jmp re2
re3:       mov 32h,SBUF
            sJMP RE_END
  
7楼:bizhenke 2003年3月22日10:45
 謝謝大家的回答﹐是rxd沒有信號的原因
謝謝大家的回答﹐是rxd沒有信號的原因
  
8楼:红心J 2003年3月21日17:24
 接收是否允许了。
SETB REN

>>>>>>对该主题发表你的看法

本主题贴数8,分页: [第1页]


[上一篇主题]:请各位老兄帮帮忙,谁有A1261红外线接收芯片的资料

[下一篇主题]:[求助] 奇怪:关于 Flash Rom 烧录问题