WiFi模块中软件驱动编写经验
扫描二维码
随时随地手机看文章
现如今智能家居和智能应用之间的配合离不开WiFi模块的帮助。没有WiFi模块,智能家居就不能很好的工作,甚至不能很好的进行数据的交换。本文将从软件驱动编写的角度,利用RAK411来进行举例,为大家介绍WiFi模块的软件驱动的相关经验。
软件驱动编写
这一部分主要涉及SPI的收发函数。中断有数据的时候就会产生,SPI发时钟去读即可(空闲是0,有数据待读取出来是1)。
1)、初始化单片机SPI口,注意模块的SPI时钟最高支持16MHz;初始化GPIO/开IO中断;
voidSPI_Init(void)
{//初始化单片机SPI口(注意SPI时钟不能太高);
CPOL=0-------------------------------------时钟信号在低电平时空闲;
CPHA=0------------------------------------数据在时钟上升沿锁存,在时钟下将沿传输;
MSB_FIRST------------------------------------数据高位首先发送;
8BITMODE-----------------------------------数据宽度为8位;
CS----------------------------------------------从机选择信号低有效;
}
voidGPIO_Init(void)
{//设置连接到模块INT脚的那个GPIO口为输入状态;
//开启该GPIO的中断;
}
2)、voidSPI_Send_Bytes(uint8_t*p_temp,uint8_tdata_len)
{//不同单片机,修改底层发函数
}
3)、voidSPI_Get_Bytes(uint8_t*p_temp,uint8_tdata_len)
{//不同单片机,修改底层收函数
}
4)、GPIO中断函数编写
voidGPIO_PINx_IRQ_Handler(void)
{while(查询INT脚的电平==1)
{SPI_Get_Bytes(x,y);
}
}
通过本文的介绍,可以看到在WiFi模块中软件驱动编写是非常重要的。本文针对此方面进行着重的介绍的同时也分享了一些经验,通过代码的形式让大家能够直观的了解到其中的技巧。在WiFi模块软件驱动编写遇到问题的朋友不妨画上几分钟来阅读本文,相信会有意想不到的收获。