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