新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > WiFi模塊中軟件驅(qū)動(dòng)編寫經(jīng)驗(yàn)

WiFi模塊中軟件驅(qū)動(dòng)編寫經(jīng)驗(yàn)

作者: 時(shí)間:2018-08-10 來源:網(wǎng)絡(luò) 收藏

現(xiàn)如今和智能應(yīng)用之間的配合離不開模塊的幫助。沒有模塊,就不能很好的工作,甚至不能很好的進(jìn)行數(shù)據(jù)的交換。本文將從編寫的角度,利用RAK411來進(jìn)行舉例,為大家介紹模塊的的相關(guān)經(jīng)驗(yàn)。

本文引用地址:http://m.butianyuan.cn/article/201808/386281.htm

編寫

這一部分主要涉及SPI的收發(fā)函數(shù)。中斷有數(shù)據(jù)的時(shí)候就會(huì)產(chǎn)生,SPI發(fā)時(shí)鐘去讀即可(空閑是0,有數(shù)據(jù)待讀取出來是1)。

1)、初始化單片機(jī)SPI口,注意模塊的SPI時(shí)鐘最高支持16MHz;初始化GPIO/開IO中斷;

voidSPI_Init(void)

{//初始化單片機(jī)SPI口(注意SPI時(shí)鐘不能太高);

CPOL=0-------------------------------------時(shí)鐘信號(hào)在低電平時(shí)空閑;

CPHA=0------------------------------------數(shù)據(jù)在時(shí)鐘上升沿鎖存,在時(shí)鐘下將沿傳輸;

MSB_FIRST------------------------------------數(shù)據(jù)高位首先發(fā)送;

8BITMODE-----------------------------------數(shù)據(jù)寬度為8位;

CS----------------------------------------------從機(jī)選擇信號(hào)低有效;

}

voidGPIO_Init(void)

{//設(shè)置連接到模塊INT腳的那個(gè)GPIO口為輸入狀態(tài);

//開啟該GPIO的中斷;

}

2)、voidSPI_Send_Bytes(uint8_t*p_temp,uint8_tdata_len)

{//不同單片機(jī),修改底層發(fā)函數(shù)

}

3)、voidSPI_Get_Bytes(uint8_t*p_temp,uint8_tdata_len)

{//不同單片機(jī),修改底層收函數(shù)

}

4)、GPIO中斷函數(shù)編寫

voidGPIO_PINx_IRQ_Handler(void)

{while(查詢INT腳的電平==1)

{SPI_Get_Bytes(x,y);

}

}

通過本文的介紹,可以看到在WiFi模塊中軟件驅(qū)動(dòng)編寫是非常重要的。本文針對(duì)此方面進(jìn)行著重的介紹的同時(shí)也分享了一些經(jīng)驗(yàn),通過代碼的形式讓大家能夠直觀的了解到其中的技巧。在WiFi模塊軟件驅(qū)動(dòng)編寫遇到問題的朋友不妨畫上幾分鐘來閱讀本文,相信會(huì)有意想不到的收獲。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉