MSP430技术william hill官网
直播中

liutian_32

11年用户 18经验值
擅长:嵌入式技术
私信 关注
[讨论]

关于MSP430F149开发板与GPRS开发板SIM900的串口连接收不到数据...

`

SIM900的串口与单片机的UART1连接,连接关系如下:

       MSP430F149                    SIM900

           TXD      -------------------   RXD        ==>          之间串了一个30欧的电阻

           RXD     --------------------  TXD         ==>          单片机的RXD引脚通过10k电阻上拉到3.3v


一. MSP430F149与PC之间串口通讯的测试:

     1. PC机通过一个USB转串口的转接板与MSP430F149单片机的UART1相连,在PC内该USB口被映射为COM4,通过串口调试助手对COM4进行测试,数据收发均正常。

     2. 将GPRS模块SIM900连接到PC的COM1,通过一个串口转发的小程序将COM4收到的数据(来自单片机)转发给COM1,来控制SIM900进行GPRS数据收发测试,从TCP服务器可以看到能够正确接收数据。


    通过以上测试可以确定,单片机的串口可以正常收发数据,且控制SIM900的程序代码是没有问题的。


二. MSP430F149与SIM900之间串口通讯的测试:

     将MSP430F149的UART1连接到SIM900,上电后,单片机发送数据给SIM900,但是TCP服务器却接收不到数据,不知道问题出在哪里。

     怀疑是MSP430F149与SIM900之间的串口电平不匹配导致的,具体原因请高手指教。


开发板连接图:见附件。




` 无标题.png
已退回1积分

回帖(23)

朱海生

2013-9-4 16:04:02
两个UART,各是什么电平?
举报

liutian_32

2013-9-8 20:24:26
引用: 3htech 发表于 2013-9-4 16:04
两个UART,各是什么电平?

MSP430F149的电平如下:
     TXD  --->3.3V左右
      RXD --->3.3V左右
SIM900的电平为TTL电平,具体如下:
      TXD --->2.9V左右
      RXD --->2.9V左右




举报

feifanxp

2013-10-16 22:12:22
我也遇到了同样的问题,一样的电平,断开SIM900的TX,通过逻辑分析仪能看到单片机发来的数据,也能看到SIM900的回应,但是一旦连上SIM900的TX就收不到返回数据了,用了三极管的电平转换模块也是一样,求解答啊!
举报

liutian_32

2013-10-20 10:18:42
引用: feifanxp 发表于 2013-10-16 22:12
我也遇到了同样的问题,一样的电平,断开SIM900的TX,通过逻辑分析仪能看到单片机发来的数据,也能看到SIM9 ...

我的问题已经解决了,怀疑是时钟问题,我将430的MCLK设置为8M,SMCLK设置为1M,串口时钟选择选择SMCLK,波特率19200,就可以正常通信了。最初我并没有设置430的MCLK和SMCLK,也就是他们都是默认取值,应该是DOC时钟吧,然后串口使用ACLK作为时钟,SIM900就接收不到数据。
举报

韩丽

2014-2-24 16:26:41
本帖最后由 汉子小丽 于 2015-1-29 15:02 编辑

我买的是正点原子的GPRS模块,一直没用,现在用上,也是调不通,发了指令给模块也不知道它回复没有,但是同样的给串口调试助手发显示发送成功,而模块也是同样用串口调试助手则可以调试,新手,手里没有高级的工具,有估计也不会用。呵呵 一用430给它发,也不知道它回复没有,430就是接不到。

楼主这么多人要代码您是不是考虑考虑公开呀,我们也学习学习


举报

杨东

2014-3-13 12:47:51
这位大神,可以把你的这个430控制sim900的代码发我一份吗?谢谢大神了,2693131118@qq.com,我是新手,也在做这个,十分感谢了
举报

764243886

2014-3-14 18:11:58
同问,大神,可以把你的这个430控制sim900的代码再发我一份吗?764243886@qq.com,谢谢啦
举报

adauan

2014-3-22 16:42:10
学习学习努力加油加油
举报

galsel

2014-4-12 12:04:06
大神,可以把你的这个430控制sim900的代码再发我一份吗?731980484@qq.com,十分感谢!
举报

yfm521

2014-4-14 15:34:39
可以把你的这个430控制sim900的代码再发我一份吗?42182001@qq.com,谢谢啦
举报

shiyiwen2

2014-5-23 21:06:14
大神,可以把你的这个430控制sim900的代码再发我一份吗?312418791@qq.com 急求,毕设快答辩了。。感谢了
举报

meng83128

2014-8-15 21:56:32

同问,大神,可以把你的这个430控制sim900的代码发我一份吗?33548341@qq.com,谢谢啦
举报

woodfor

2014-9-6 11:38:12
同问,大神,可以把你的这个430控制sim900的代码发我一份吗? 704644524@qq.com 谢谢
举报

flyyaaway

2014-9-15 15:52:20
串口之间不接电阻可以吗,可以把你的代码发我看看吗?刚学,请多指教,谢谢  1187357376@qq.com
举报

Kan Chan

2014-9-20 11:22:37
谢谢......................
举报

miaokankan

2015-4-15 16:08:55
楼主 内啥。。。。能把代码也发我一份吗767465412@qq.com
举报

蓝色幽灵LONG

2015-4-30 10:44:30
学习中!这里面有值得借鉴的地方
举报

王峰

2015-5-4 21:18:44
学习中!这里面有值得借鉴的地方
举报

a4295133

2015-6-7 18:02:13
引用: liutian_32 发表于 2013-10-20 10:18
我的问题已经解决了,怀疑是时钟问题,我将430的MCLK设置为8M,SMCLK设置为1M,串口时钟选择选择SMCLK,波特率19200,就可以正常通信了。最初我并没有设置430的MCLK和SMCLK,也就是他们都是默认取值,应该是DOC时钟吧,然后串口使用ACLK作为时钟,SIM900就接收不到数据。
...

你好,和你遇到的问题一模一样, ////////////////串口配置//////////////////
  P3SEL = 0x30;                             // P3.4,5 = USART0 TXD/RXD
  ME1 |= UTXE0 + URXE0;                     // Enabled USART0 TXD/RXD
  UCTL0 |= CHAR;                            // 8-bit character, SWRST=1
  UTCTL0 |= SSEL0;                          // UCLK = ACLK
  UBR00 = 0x03;                             // 9600 from 1Mhz
  UBR10 = 0x00;                             //
  UMCTL0 = 0x4A;                            // Modulation
  UCTL0 &= ~SWRST;                          // Initialize USART state machine
  IE1 |= URXIE0 + UTXIE0;                   // Enable USART0 RX/TX interrupt
  IFG1 &= ~UTXIFG0;                         // Clear inital flag on POR
我的串口是这样配置的,请问应该怎么修改呢?很急,谢谢!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分