最近在做一个实验,通过串口给GPRS模块发送AT指令以达到发短信的功能,MCU和PC通过USART1 通信,MCU和GPRS模块用USART2通信,现在USART1已经通了(串口回显成功),后面的步骤具体应该怎么做?怎样把指令传给GPRS模块呢?本人小白 望大神指点~~谢谢啦
0
|
|
|
|
不不不,现在是我知道指令,我怎么样把指令这段字符串通过USART2给模块,模块返回的字符串又怎样显示到USART1(printf重定向到USART1了)
|
|
-
段文凯
2019-9-2 08:49
你现在会了吗 贴个源码学习一下呗·谢谢您
|
|
|
USART和GPRS的RXDTXD交叉连接,然后发送的发送,接收的接收;
指令是什么就发什么,数据是什么就发什么
|
|
|
|
|
我想知道的是 USART1收到PC发来的AT 指令后 怎样把指令通过USART2给GPRS模块,您能否贴一下代码。void USART1_IRQHandler(void){
uint8_t ch;
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
//ch = USART1->DR;
ch = USART_ReceiveData(USART1);
printf( "%c", ch ); //将接受到的数据直接返回打印
}
}
这是串口1回显中断函数的代码,我现在要修改这个 代码 ,那么我怎样把USART1接收到的AT指令(比如ATI)传给串口2
|
|
|
|
|
收到啥,读出来,然后写给USART2的发送缓冲寄存器。
|
|
|
|
|
头像被屏蔽
· 2014-12-1 08:20:56
|
|
|
|
|
这个肯定需要你在单片机中写程序,控制单片机将UART1缓冲区接收到的PC端发来的数据自动写入到UART2的发送缓冲区,并控制UART2向GPRS模块发送数据即可!
|
|
|
|
|
自己写程序,不要用 printf函数,自己建一个数组,通过写一个简单的程序控制!
|
|
|
|
|
这个我之前实习转正测试的时候做过,当时是这样的,用STM32接收北斗模块的时间经纬度信息,提取处理后,通过GPRS模块以短信的方式发送到手机上。你的手里没有IC卡,只能通过PC端口的串口调试助手查看发送状态,MCU和GPRS以串口2通信,你只需要将AT指令通过MCU的TX发送到GPRS的RX上面就可以,(如果AT指令发送正确后),GPRS的发送串口TX会回执相应的AT回复指令,以表明你发送的状态,你的MCU的接收串口RX接收GPRS的TX串口的回执指令,然后打到串口到PC端就能查看发送状态了。短信发送就那么几个指令,看看就会得。主要就是三个串口,MCU两个,GPRS一个,MCU串口与GPRS串***叉接线,到时候MCU接收到的数据通过另一个串口全部打出就可以。。
还有一种简单侧测试方式,你将GPRS的串口和一个USB转232的串口线交叉连接后,通过串口调试助手就能测试这个GPRS的功能了,发短信什么的,用串口调试助手发送AT指令,串口调试助手就能查看回执信息。。。。
评分
-
查看全部评分
|
|
-
段文凯
2019-9-2 08:47
能贴一段程序吗
|
|
|
liu1990321 发表于 2015-10-27 10:54
这个我之前实习转正测试的时候做过,当时是这样的,用STM32接收北斗模块的时间经纬度信息,提取处理后,通过GPRS模块以短信的方式发送到手机上。你的手里没有IC卡,只能通过PC端口的串口调试助手查看发送状态,MCU和GPRS以串口2通信,你只需要将AT指令通过MCU的TX发送到GPRS的RX上面就可以,(如果AT指令发送正确后),GPRS ...
您还有源码嘛?能不能分享一份
|
|
|
|
|