基于STM32F103C8T6核心板的E01系列無(wú)線模塊(nRF24L01P方案)和E01C系列無(wú)線模塊(SI24R1芯片方案)的EBYTE官網(wǎng)例程移植。我們?cè)凇?a href="http:///news/4099.html" target="_blank" title="基于STM32核心板的E01和E01C無(wú)線模塊驅(qū)動(dòng)移植案例教程1" se_prerender_url="complete" style="color:#FF0000;text-decoration:underline;">基于STM32核心板E01和E01C無(wú)線模塊驅(qū)動(dòng)移植案例教程1》一文中,我們介紹了STM32F103C8T6核心板無(wú)線模塊驅(qū)動(dòng)移植案例簡(jiǎn)介、硬件環(huán)境、軟件環(huán)境、基于STM32方案無(wú)線射頻模塊簡(jiǎn)介以及STM32開(kāi)發(fā)環(huán)境配置實(shí)驗(yàn)步驟,本文我們主要介紹基于STM32核心板無(wú)線模塊的驅(qū)動(dòng)移植步驟教程。
①、完成《基于STM32核心板E01和E01C無(wú)線模塊驅(qū)動(dòng)移植案例教程1》一文中的案例步驟后,已經(jīng)打開(kāi)了創(chuàng)建的工程,先進(jìn)行首次編譯,查看是否有編譯錯(cuò)誤。
正常的編譯結(jié)果應(yīng)該是0 Error(s), 0 Warning(s)。
②、實(shí)現(xiàn)串口重定向,修改usart。c和usart。h文件
usart.c中修改兩個(gè)位置。
一個(gè)是在/* USER CODE BEGIN 0 */和/* USER CODE END 0 */之間新添加如下代碼:
另一個(gè)是修改void MX_USART1_UART_Init(void)函數(shù),在該函數(shù)中的
/* USER CODE BEGIN USART1_Init 2 */和 /* USER CODE END USART1_Init 2 */之間加入代碼:
Usart.h中,需要包含stdio.h,在/* USER CODE BEGIN Includes */和/* USER CODE END Includes */之間加入代碼:
Usart.h中,在/* USER CODE BEGIN Private defines */和/* USER CODE END Private defines */之間加入代碼:
啟用MicroLIB
③、在創(chuàng)建的工程路徑下,新建一個(gè)名為MyFiles的文件夾,并將例程中的如下文件均復(fù)制到MyFiles文件夾中。
④、添加MyFiles的文件夾路徑到工程
⑤、在工程中新建文件夾,并將復(fù)制的文件添加到工程之中
⑥、修改添加到MyFiles文件夾下的所有.c和.h文件
由于涉及到的修改較多,不做一一介紹,直接給出修改后的該文件夾下的所有文件附件。附件見(jiàn)文末的附件MyFiles。
⑦、修改main.c文件
在/* USER CODE BEGIN Includes */和/* USER CODE END Includes */之間添加為app。h 和bsp。h的包含:
添加USART1的接收和發(fā)送中斷回調(diào)函數(shù),
在/* USER CODE BEGIN 4 */和/* USER CODE END 4 */加入代碼:
⑧、修改stm32f1xx_it.c文件
添加對(duì)app.h的包含,在/* USER CODE BEGIN Includes */和/* USER CODE END Includes */之間加入代碼:
修改void SysTick_Handler(void)函數(shù),
在 /* USER CODE BEGIN SysTick_IRQn 1 */和/* USER CODE END SysTick_IRQn 1 */之間加入:
至此,程序移植已經(jīng)全部完成,再次重新編譯。如果出現(xiàn)warning: #1-D: last line of file ends without a newline這個(gè)警告,請(qǐng)?jiān)谠撐募詈笠恍刑砑有滦小?/span>
將ST-LINK的下載接口與STM32核心板的下載接口連接,對(duì)應(yīng)接線如下:
Debug配置
配置完成后,點(diǎn)擊LOAD進(jìn)行下載。
下載成功后,會(huì)出現(xiàn)如下提示:
建議在接線過(guò)程中斷電操作。STM32核心板的供電使用自帶的USB接口供電。
STM32核心板與E01-ML01D無(wú)線模塊連接
STM32核心板與USB轉(zhuǎn)TTL工具連接
將STM32核心板通過(guò)USB接口供電,USB轉(zhuǎn)TTL轉(zhuǎn)接板模塊工具連接上電腦上的串口調(diào)試助手。串口調(diào)試助手配置如下:
將STM32核心板復(fù)位,它首先會(huì)檢查與E01-ML01D無(wú)線模塊的連接。如果連接成功,則會(huì)打印Link successful。如果鏈接失敗,則會(huì)打印Link Fail Please check and reset module。最大連接次數(shù)為6次,每次連接會(huì)打印當(dāng)前連接次數(shù)。
數(shù)據(jù)發(fā)送和接收,例程使用了nRF24L01P的ACK功能,所以在發(fā)送成功則會(huì)打印Send TX_DS,發(fā)送失敗會(huì)打印Send MAX_RT。
以上實(shí)驗(yàn)中,實(shí)現(xiàn)了基于STM32F103C8T6核心板的E01-ML01D的驅(qū)動(dòng)移植以及通信驗(yàn)證,其中的E01-ML01D可以替換為任意型號(hào)的nRF24L01P方案或者Si24R1方案的無(wú)線射頻模塊。也可以稍加修改,適用于其他STM32系列的MCU。
以上就是全部的《基于STM32的E01和E01C驅(qū)動(dòng)移植教程案例》。
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動(dòng)化的發(fā)展,提升資源利用率,更多無(wú)線射頻模塊和無(wú)線通信技術(shù)資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)進(jìn)行了解,也可以直接撥打400電話(huà)咨詢(xún)技術(shù)專(zhuān)員!
相關(guān)閱讀:
1、STM8L系列單片機(jī)在無(wú)線通信模塊產(chǎn)品中的應(yīng)用
7 X 24 銷(xiāo)售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 無(wú)錫辦事處劉經(jīng)理:13558641933
成都總部銷(xiāo)售經(jīng)理:
秦 科(無(wú)線模塊):18884314654 馮子恒(無(wú)線模塊):18828049434
蔡友銀(無(wú)線模塊):13882211021 葛宇龍(通信設(shè)備):19138800613
胡兵(外貿(mào)銷(xiāo)售經(jīng)理):18584911141、 sales06@ebyte.com
業(yè)務(wù)郵箱:support@cdebyte.com 全國(guó)銷(xiāo)售投訴電話(huà):19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號(hào)B5棟(前臺(tái)座機(jī):028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號(hào)