一个通信模块使用AT指令控制,用电脑串口助手实现了发送指令实现功能,用单片机发送同样指令却失败了
我的通信模块接收AT指令控制,用电脑上的串口空间发送ATD2114就能打给2114号码的电话,我设计了一块电路板,是用单片机发送ATD2114(跟电脑发送的一样)。连到电...
我的通信模块接收AT指令控制,用电脑上的串口空间发送ATD2114就能打给2114号码的电话,我设计了一块电路板,是用单片机发送ATD2114(跟电脑发送的一样)。连到电脑上显示发送了该字符串,然后将单片机板子上max232接出的收发线对换,连到那个通信模块上,发送同样的指令却无法实现拨打电话。
跪求答案!好几天了不知道问题出在哪!!!求大神指导 展开
跪求答案!好几天了不知道问题出在哪!!!求大神指导 展开
1个回答
展开全部
首先你先明确电脑和单片机,发送的应该都是字符形式吧?
再有电脑的波特率和单片机的是不是一致?
你可以做几步实验:
1、电脑串口的2脚和3脚接通,电脑发送ATD2114,记住发送的字节和接收到的字节个数?
2、电脑的串口和单片机的串口连接,单片机发送ATD2114到电脑,看电脑接收到的是什么?
收到了多少个字节?然后和刚才的字节和字节数对比一下,看是不是一样?
再有电脑的波特率和单片机的是不是一致?
你可以做几步实验:
1、电脑串口的2脚和3脚接通,电脑发送ATD2114,记住发送的字节和接收到的字节个数?
2、电脑的串口和单片机的串口连接,单片机发送ATD2114到电脑,看电脑接收到的是什么?
收到了多少个字节?然后和刚才的字节和字节数对比一下,看是不是一样?
更多追问追答
追问
我知道是字符形式,这个问题我也怀疑过,所以我做的实验还包括将电脑发送给通信模块成功控制的指令“ATD2114”发送给单片机,单片机的程序实现的是接收什么发送什么,然后看看单片机发回来的是什么,结果也是“ATD2114”,没有'\r'和'\n'。我确定了字符就是“ATD2114”.波特率都是在1200下进行的
追答
既然都试过了,只有一种可能了,那就是硬件的问题?
你观察一下通信模块的232通讯口,在电路板上有几针,我怀疑是232应答的问题?
你也看看你单片机的232是不是只有2、3、5接着的?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询