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之间的串口电平不匹配导致的,具体原因请高手指教。
开发板连接图:见附件。
引用: 3htech 发表于 2013-9-4 16:04
两个UART,各是什么电平?
引用: feifanxp 发表于 2013-10-16 22:12
我也遇到了同样的问题,一样的电平,断开SIM900的TX,通过逻辑分析仪能看到单片机发来的数据,也能看到SIM9 ...
引用: liutian_32 发表于 2013-10-20 10:18
我的问题已经解决了,怀疑是时钟问题,我将430的MCLK设置为8M,SMCLK设置为1M,串口时钟选择选择SMCLK,波特率19200,就可以正常通信了。最初我并没有设置430的MCLK和SMCLK,也就是他们都是默认取值,应该是DOC时钟吧,然后串口使用ACLK作为时钟,SIM900就接收不到数据。
...
更多回帖