WiFi模塊中軟件驅動(dòng)編寫(xiě)經(jīng)驗
現如今智能家居和智能應用之間的配合離不開(kāi)WiFi模塊的幫助。沒(méi)有WiFi模塊,智能家居就不能很好的工作,甚至不能很好的進(jìn)行數據的交換。本文將從軟件驅動(dòng)編寫(xiě)的角度,利用RAK411來(lái)進(jìn)行舉例,為大家介紹WiFi模塊的軟件驅動(dòng)的相關(guān)經(jīng)驗。
本文引用地址:http://dyxdggzs.com/article/201808/386281.htm軟件驅動(dòng)編寫(xiě)
這一部分主要涉及SPI的收發(fā)函數。中斷有數據的時(shí)候就會(huì )產(chǎn)生,SPI發(fā)時(shí)鐘去讀即可(空閑是0,有數據待讀取出來(lái)是1)。
1)、初始化單片機SPI口,注意模塊的SPI時(shí)鐘最高支持16MHz;初始化GPIO/開(kāi)IO中斷;
voidSPI_Init(void)
{//初始化單片機SPI口(注意SPI時(shí)鐘不能太高);
CPOL=0-------------------------------------時(shí)鐘信號在低電平時(shí)空閑;
CPHA=0------------------------------------數據在時(shí)鐘上升沿鎖存,在時(shí)鐘下將沿傳輸;
MSB_FIRST------------------------------------數據高位首先發(fā)送;
8BITMODE-----------------------------------數據寬度為8位;
CS----------------------------------------------從機選擇信號低有效;
}
voidGPIO_Init(void)
{//設置連接到模塊INT腳的那個(gè)GPIO口為輸入狀態(tài);
//開(kāi)啟該GPIO的中斷;
}
2)、voidSPI_Send_Bytes(uint8_t*p_temp,uint8_tdata_len)
{//不同單片機,修改底層發(fā)函數
}
3)、voidSPI_Get_Bytes(uint8_t*p_temp,uint8_tdata_len)
{//不同單片機,修改底層收函數
}
4)、GPIO中斷函數編寫(xiě)
voidGPIO_PINx_IRQ_Handler(void)
{while(查詢(xún)INT腳的電平==1)
{SPI_Get_Bytes(x,y);
}
}
通過(guò)本文的介紹,可以看到在WiFi模塊中軟件驅動(dòng)編寫(xiě)是非常重要的。本文針對此方面進(jìn)行著(zhù)重的介紹的同時(shí)也分享了一些經(jīng)驗,通過(guò)代碼的形式讓大家能夠直觀(guān)的了解到其中的技巧。在WiFi模塊軟件驅動(dòng)編寫(xiě)遇到問(wèn)題的朋友不妨畫(huà)上幾分鐘來(lái)閱讀本文,相信會(huì )有意想不到的收獲。
評論