现如今智能家居和智能使用之间的合作离不开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模块软件驱动编写遇到问题的朋友无妨画上几分钟来阅览本文,信任会有意想不到的收成。