这几天尝试了下STM32的USART3去接gsm模块。整了好久没整出来,甚是纠结。
途中遇到两个问题:1.USART3配置问题 2.接线问题
USART3也是重映射到PC10 PC11这两个口的,所以要有GPIO_PinRemapConfig(GPIO_PartialRemap_USART3, ENABLE);
其实最主要的问题就是接线问题,即模块电压和MCU电压不一样。
我的GSM模块是通过5V电源+一个二极管供的电,二极管起到降压的作用,把5V降到4点多伏,这是模块的正常工作电压。
然后因为我只用TX RX(PC10 PC11)这两个口接模块,我接前看了看原理图
只看最上面的TX RX ,忽略下面的接口。但是发现按照上面的方法好像不行,于是我把MCU的TXD直接接到模块的RXD,然后MCU的RXD串一个4.7K的电阻再接到模块的TXD上,就能收到了。但是刚开始进主程序的有些时候会收不到,暂时还没找到原因,明天再看看吧。(PS:那个4.7K的电阻是临时找的,找不到其他的了,估计1K-4.7K都行吧)
至于为什么这么接,我也没有找到原因。等我学好电路,再来看看吧。有谁能帮忙解答下吗?
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2012.9.28
更新昨天的内容:
今天又高乐高,发现有错误的地方,总结一下。
1.电流问题:因为我这个开发板上面还接的有WIFI模块,而且一直在工作,所以再加上个GSM模块,可能电流不够(我板上的额定电流是2A,GSM模块电流大的时候可能要1A多一点)。然