打印

兩相同板子 UART互相傳輸問題

[复制链接]
4222|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近在做外部儀器 將資料透過UART傳輸到MSP430F538 板子一沒收到資料 連中斷都沒進去
上網查找發現可能有電壓準位問題 所以要兩者間可能轉換

1.我為了想看使否為準位問題 我想測試兩塊相同型號板子間是否可透過UART互傳
相同型號的板子 應該沒有所謂 準位問題
但是結果還是一樣 板A(發送端) 板B(接收端)  資料:板A ---UART--->板B   可是板B一樣完全無反應

以下附上小弟的程式碼 由TI官方所提供的UART_ECHO所改的
黃色high light是baud rate設定
來源SMCLK = 1MHz ; baud rate: 38400
1048576/38400 = 27.306
UCBRx = INT(27.306) = 27
UCBRSx = round((27.306 - 27) *8) = round (2.448) = 2
根據爬文的某篇 UCBRSx有嘗試設定:3 也沒有反應
板A 板B分別也用電腦測試過 電腦傳進板A/B與傳出來都沒問題
煩請大大幫忙解惑了

下面是我的環境設定:

兩塊板子型號為MSP430F5438

2.另外想請問另一個問題
在user guide寫到UART參數設定
normal: UCBRx = INT(N)
            UCBRSx = round((N – INT(N))*8)
            UCBRFx = 0
Oversampling Baud-Rate Mode:
UCBRx = INT(N/16)
UCBRFx = round(((N/16)-INT(n/16))*16)
UCBRSx只寫到要精度更高 可調整填0~7
那怎麼知道要填多少?

以上兩個問題 麻煩大大幫忙解惑了





收.jpg (120.68 KB )

收.jpg

IMAG0413.jpg (95.93 KB )

IMAG0413.jpg

相关帖子

沙发
1988020566| | 2013-8-15 23:12 | 只看该作者
如果换成简体中文看看,效果会好一些的。

使用特权

评论回复
板凳
1988020566| | 2013-8-15 23:13 | 只看该作者
你使能接收了么?看你只是使能接收中断了。

使用特权

评论回复
地板
houjiakai| | 2013-8-15 23:36 | 只看该作者
木有看明白的。

使用特权

评论回复
5
hjf2001| | 2013-8-16 06:24 | 只看该作者
和电脑传输没问题的话,那就是接线的问题。
1、检查RS232的接线,A板Pin2和B板Pin3连接,B板Pin2和A板Pin3连接,,接地连接可靠。
2.、看你的线是不是太长了,先用短距离Test
UART你参考TI的例子一般没问题的

至于波特率的设置,TI有详细的Guide,你去WWW.TI.COM search .

使用特权

评论回复
6
co5jco5j|  楼主 | 2013-8-16 20:31 | 只看该作者
hjf2001 发表于 2013-8-16 06:24
和电脑传输没问题的话,那就是接线的问题。
1、检查RS232的接线,A板Pin2和B板Pin3连接,B板Pin2和A板Pin3 ...

我自制了以下各种RS232线(每条约长15CM)的测试,还是没办法 :'(
1.正常RS232 9pin正常对接
2.3线版本 A板pin2 - > B板pin3 ; A板pin3 - > B板pin2 ; pin5地线对接
3.
4.
5.

使用特权

评论回复
7
vivilzb1985| | 2013-8-16 23:19 | 只看该作者
uart通讯室非常简单的啊,在官方的实例上修改的就可以的了啊

使用特权

评论回复
8
hjf2001| | 2013-8-17 09:58 | 只看该作者
你把时钟换成DCO试试.不要用ACLK。

使用特权

评论回复
9
co5jco5j|  楼主 | 2013-8-17 13:31 | 只看该作者
vivilzb1985 发表于 2013-8-16 23:19
uart通讯室非常简单的啊,在官方的实例上修改的就可以的了啊

我这一份就是修改官方给的范例
官方给的是母板UART接PC 然后用终端机输入data 母板接收到以后马上在传出给终端机显示

我改成利用rs232的线mcu接mcu 想让两块mcu间沟通
mcuA(传送端)改成一值丢data出去mcuB(接收端)等待接收我在接收的中断那边下一个breakpoint
但是就是一值都没消息 都进不了中断

使用特权

评论回复
10
co5jco5j|  楼主 | 2013-8-17 13:34 | 只看该作者
hjf2001 发表于 2013-8-17 09:58
你把时钟换成DCO试试.不要用ACLK。

我两端的clock都是用SMCLK 预设是DCODIV出来的不好意思注解忘记改

我尝试用其他CLOCK source看看好了 谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

16

帖子

0

粉丝