AT指令控制:带反馈、超时检测控

作者说明:2019.8.26-WSX
本程序部分借鉴正点原子代码,使用正点原子精英STM32F103ZET6开发板。
仅供交流学习使用,不得用于商业用途。
转载请注明出处。
实现功能:向模块发送AT指令,并在超时时间内检测是否出现期望的返回值。
如果需要对接收到的值进行处理,请自行补充处理函数。
(即对USART_RX_BUF[USART_BUF_NUM][USART_REC_LEN]数组进行处理)
接收到的数据存放方式:如接收到

	  正在复位...
	  复位成功!!
	  ready
	  WIFI GOT IP 192.168.1.1
	  
(那么)
	  USART_RX_BUF[0]=“正在复位...”
	  USART_RX_BUF[1]=“复位成功!!”
	  USART_RX_BUF[2]=“ready”
	  USART_RX_BUF[3]=“WIFI GOT IP 192.168.1.1”
	  USART_RX_BUF[4]=“”
	  USART_RX_BUF[5]=“”
	  ...
	  如果需要那个IP地址,则可以定义一个指针数组
	  
	  uint8_t * esp8266Respond[USART_BUF_NUM];
	  //将指针数组赋值,指向多个缓冲区
	  for (temp=0;temp<USART_BUF_NUM;temp++)
	  {
	 	 esp8266Respond[temp]=USART_RX_BUF[temp];
	  }
	  那么esp8266Respond[3] 中就存着你需要的IP
	  处理方式请自行实现

使用资源:基本定时器TIM6(用于超时检测)/串口1(作为AT指令交互通道)/GPIO(PB6、PB7,(IIC)我作为OLED调试显示使用,可有可无)
使用方式:如果您需要使用其他串口或者其他定时器,请自行修改,注意使用前调整波特率!!
使用代码时,将需要AT指令控制的模块的串口连接到单片机串口1即可。
应用:可以实现蓝牙模块、WIFi模块、NB-IoT模块的AT带反馈控制,软件兼容性好。为兼容性牺牲了一些性能。

不知道怎么上传免费下载的工程,需要工程请1130646208@qq.com索取,有求必应。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值