PIC异步串口 TX引脚的配置问题

[复制链接]
 楼主| a250871207 发表于 2013-5-17 09:43 | 显示全部楼层 |阅读模式
RT
查看手册,描述如下

但在测试时出现如下波形:


如果手动将TX脚配置为输出,则波形正常,如下:


同时,如果在硬件上TX脚加上拉电阻,波形也是正常的,如图2.

但是官方笔记中的示例代码却是将TX脚置为输入,代码如下:
  1. SetupSerial: Bank1 ;select bank 1
  2. movlw 0xc0 ;set tris bits for TX and RX
  3. iorwf TRISC,F
  4. movlw SPBRG_VAL ;set baud rate
  5. movwf SPBRG
  6. movlw 0x24 ;enable transmission and high baud rate
  7. movwf TXSTA
  8. Bank0 ;select bank0
  9. movlw 0x90 ;enable serial port and reception
  10. movwf RCSTA
  11. clrf Flags ;clear all flag bits

  12. call InitTxBuffer ;initialize transmit buffer
  13. call InitRxBuffer ;initialize receive buffer

  14. movlw 0xc0 ;enable global and peripheral ints
  15. movwf INTCON
  16. Bank1 ;select bank1
  17. movlw 0x30 ;enable TX and RX interrupts
  18. movwf PIE1
  19. return

很糊涂,求解!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
yewuyi 发表于 2013-5-17 10:11 | 显示全部楼层
TX脚的IO方向设置为输出,RX脚的IO方向设置为输入。

代码中设置IO方向的代码就这两句:
02.movlw 0xc0 ;set tris bits for TX and RX
03.iorwf TRISC,F

你可以按照这个对着数据手册核对,如果和我说的“TX脚的IO方向设置为输出,RX脚的IO方向设置为输入。”不一致,则按照我所说的为准。
 楼主| a250871207 发表于 2013-5-17 10:24 | 显示全部楼层
yewuyi 发表于 2013-5-17 10:11
TX脚的IO方向设置为输出,RX脚的IO方向设置为输入。

代码中设置IO方向的代码就这两句:

02.movlw 0xc0 ;set tris bits for TX and RX
03.iorwf TRISC,F

这两条指令不是将TRISC 与 0xc0相或吗?
这样的话TRISC6(TX),TRISC7(RX)都配置为输入了啊


如果不一致,意味着所有的文档都是错误的?   版主V5  
NE5532 发表于 2013-5-17 10:25 | 显示全部楼层
从道理上来说,很多单片机在开启第二功能后,将自动接管口线,从数据手册上理解,PIC是这样说的,但是保险起见,TX设置为输出,RX设为输入为妙。另外楼主也要检查是否硬件问题,建议TX悬空再测一下输出波形。

PS:现在MICROCHIP的数据手册也是漏洞百出,快赶上STM32了。
yewuyi 发表于 2013-5-17 10:28 | 显示全部楼层
NE5532 发表于 2013-5-17 10:25
从道理上来说,很多单片机在开启第二功能后,将自动接管口线,从数据手册上理解,PIC是这样说的,但是保险 ...

MCHP现在提供了一些未受控版的中文手册,因为还没有经过完全校对,但因为用户催的急,就先放出来了。
未受控版的在手册上都提示了可能有翻译错误,呵呵,没办法,急火烧出来的饭,怎么着也有点口味欠佳。

完全受控后的中文手册,其错误还是很少的。
yewuyi 发表于 2013-5-17 10:30 | 显示全部楼层
a250871207 发表于 2013-5-17 10:24
02.movlw 0xc0 ;set tris bits for TX and RX
03.iorwf TRISC,F

具体ASM指令,请查手册确定,我记不得了。

还有一个简单快捷办法,把它拷贝到MPLAB下面SIM方式跑一下看看TRISC的数值是多少?
NE5532 发表于 2013-5-17 10:32 | 显示全部楼层
yewuyi 发表于 2013-5-17 10:28
MCHP现在提供了一些未受控版的中文手册,因为还没有经过完全校对,但因为用户催的急,就先放出来了。
未 ...

呵呵,叶工,我说的是英文版,你知道我从来不看中文版的。
 楼主| a250871207 发表于 2013-5-17 10:35 | 显示全部楼层
贴中我也有发英文片手册描述,与中文是一致的,看来这就是PIC内部搞的了  
尽信书不如无书  太相信手册了   谢两位了   以后还是要相信自己!!!!
yewuyi 发表于 2013-5-17 10:35 | 显示全部楼层
NE5532 发表于 2013-5-17 10:32
呵呵,叶工,我说的是英文版,你知道我从来不看中文版的。

呵呵,这到真没注意,MCHP的中文资料做的太好了,我看MCHP资料时,都只看中文不看英文了。
NE5532 发表于 2013-5-17 10:42 | 显示全部楼层
a250871207 发表于 2013-5-17 10:35
贴中我也有发英文片手册描述,与中文是一致的,看来这就是PIC内部搞的了  
尽信书不如无书  太相信手册了   ...

也不是,作为芯片开发者和你交流的平台,数据手册是第一应该相信的,只是要知道里面不是全对。所以你自己需要保留一些“常人思维”,比如我们把TX设置输出,RX设为输入,即使写数据手册的人脑袋短路,你也不会撞到枪口上去。

怕的是一些不按常规出牌的,比如前段时间搞STM32,把法国人祖宗都搬出来骂过了。:lol
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

107

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部