STM32F103和SIM800L打造低成本短信转发系统(五):控制程序

本文主要介绍单片机的控制程序。

控制程序中主要分为这几个函数:

1.串口中断回调函数,当发生串口中断事件时,会调用此函数。

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart);

2.发送AT控制命令到sim800l模块。

int8_t SendAtCmd(const char *cmd, const char *ack, int16_t timeout)

3.sim800l初始化函数,主要是单片机和sim800l建立连接、检查SIM卡状态、检查信号强度、检查网络注册情况、设置短信工作在文本模式和保存设置参数等。

int8_t GsmInit(void);

4.GPRS初始化函数,主要在联网前配置承载场景、激活GPRS上下文。

int8_t GprsInit(void);

5.GPRS去初始化函数,主要在数据传输完成后关闭GPRS上下文。

int8_t GprsEnd(void);

6.HTTP初始化函数,主要是初始化HTTP服务、设置会话参数和设置上传数据类型为key=value形式。

int8_t HttpInit(void);

7.HTTP发送函数,主要是访问网页和发送数据。

int8_t HttpSend(void);

8.HTTP结束函数,主要是在数据发送完成后结束HTTP服务。

int8_t HttpEnd(void);

9.发件人URL编码,主要是删除发件人前缀"+"号,如不删除需要进行URL编码,否则数据提交会出错。

void OaUrlDecode(void);

10.短信时间URL编码,具体可以看前面发布的这篇文章

void SctsUrlDecode(void);

11.读短信函数,主要检查当前SIM卡短信存量,并读取一条短信至内存中。还会把短信内容发至串口1

int8_t ReadSms(void);

12.删除短信函数,主要是在短信提交至服务器后删除SIM卡中储存的短信。

int8_t DeleteSms(void);

  

详细代码如下:

猜你喜欢

转载自www.cnblogs.com/1x11/p/12595738.html