初探STM32F4(3)--WIFI模块(1)

本文详细介绍了STM32F4配置WIFI模块的流程,包括STA+AP、STA、AP模式的含义,以及如何通过AT指令进行操作。重点剖析了发送AT指令的atk_8266_send_cmd()函数和配置STA模式的atk_8266_wifista_test()函数,讲解了TCP客户端和UDP通信模式。
摘要由CSDN通过智能技术生成


通过上几节的分析,对STM32常用外设的配置有了基本概念,可以开始本文研究,本文并不是具体分析WIFI模块通讯机理,仅是对 正点原子的代码例程架构的详细剖析。

阅读完本文,要能回答以下问题:

  1. 简述单片机配置WIFI模块的主程序流程
  2. 解释WIFI模块的三种工作模式STA+AP、STA、AP都是什么?
  3. 单片机是通过发送AT指令来操作WIFI模块,简述发送AT指令的代码流程
  4. 如果将WIFI模块配置成STA模式,简述STA配置代码流程
  5. 配置好WIFI模块后,要与远端进行收发数据,收发数据的协议有UDP或者TCP(客户端/服务器),这些都是什么?
  6. 如果将WIFI模块配置成TCP客户端与远端通信,简述配置成TCP客户端的代码流程?简述发送数据的代码流程?
  7. STA/AP与TCP/UDP是两类不同层次的概念,简单区分一下。

WIFI测试的代码架构剖析

步骤1:wifi模块的主函数流程

1、阐述例程主函数代码结构?首先是单片机串口初始化,然后是其余用到的外设初始化,最后是WIFI模块初始化,之后就是测试WIFI模块收发数据。详细代码如下:

int main(void)
{
   
	u8 key,fontok=0; 	
//基本的外设初始化
  Stm32_Clock_Init(360,25,2,8);   //设置时钟,180Mhz   
  HAL_Init();                     //HAL库初始化
  delay_init(180);                //初始化延时函数
  uart_init(115200);              //初始化USART1
  usart3_init(115200);  		//初始化USART3
  
  //下面就是些其他外设的初始化配置了,以后再来学习。
  usmart_dev.init(90);				//³õʼ»¯usmart
  LED_Init();                     //³õʼ»¯LED 
  KEY_Init();                     //³õʼ»¯°´¼ü
  SDRAM_Init();                   //SDRAM³õʼ»¯
  LCD_Init();                     //LCD³õʼ»¯
	W25QXX_Init();				    			//³õʼ»¯W25Q256
	tp_dev.init();									//³õʼ»¯´¥ÃþÆÁ
  my_mem_init(SRAMIN);            //³õʼ»¯ÄÚ²¿ÄÚ´æ³Ø
  my_mem_init(SRAMEX);            //³õʼ»¯ÍⲿSDRAMÄÚ´æ³Ø
  my_mem_init(SRAMCCM);           //³õʼ»¯ÄÚ²¿CCMÄÚ´æ³Ø
  exfuns_init();		            	//ΪfatfsÏà¹Ø±äÁ¿ÉêÇëÄÚ´æ  
  f_mount(fs[0],"0:",1);          //¹ÒÔØSD¿¨ 
 	f_mount(fs[1],"1:",1);          //¹ÒÔØSPI FLASH.  
	key=KEY_Scan(0);
	if((key==KEY0_PRES)&&(tp_dev.touchtype&0X80)==0)		//Ç¿ÖÆУ׼£¬µç×èÆÁ²ÅÐèҪУ׼
	{
   
		LCD_Clear(WHITE);	//ÇåÆÁ
		TP_Adjust();  		//ÆÁĻУ׼ 
		TP_Save_Adjdata();	  
		LCD_Clear(WHITE);	//ÇåÆÁ
	}
	fontok=font_init();		//¼ì²é×Ö¿âÊÇ·ñOK
	if(fontok||key==KEY1_PRES)//ÐèÒª¸üÐÂ×Ö¿â				 
	{
   
		LCD_Clear(WHITE);		   	//ÇåÆÁ
 		POINT_COLOR=RED;			//ÉèÖÃ×ÖÌåΪºìÉ«	   	   	  
		LCD_ShowString(60,50,200,16,16,"ALIENTEK STM32");
		while(SD_Init())			//¼ì²âSD¿¨
		{
   
			LCD_ShowString(60,70,200,16,16,"SD Card Failed!");
			delay_ms(200);
			LCD_Fill(60,70,200+60,70+16,WHITE);
			delay_ms(200);		    
		}								 						    
		LCD_ShowString(60,70,200,16,16,"SD Card OK"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值