基于STM32F103C8T6核心板的E01系列无线模块(nRF24L01P方案)和E01C系列无线模块(SI24R1芯片方案)的EBYTE官网例程移植。我们在《基于STM32核心板E01和E01C无线模块驱动移植案例教程1》一文中,我们介绍了STM32F103C8T6核心板无线模块驱动移植案例简介、硬件环境、软件环境、基于STM32方案无线射频模块简介以及STM32开发环境配置实验步骤,本文我们主要介绍基于STM32核心板无线模块的驱动移植步骤教程。
①、完成《基于STM32核心板E01和E01C无线模块驱动移植案例教程1》一文中的案例步骤后,已经打开了创建的工程,先进行首次编译,查看是否有编译错误。
正常的编译结果应该是0 Error(s), 0 Warning(s)。
②、实现串口重定向,修改usart。c和usart。h文件
usart.c中修改两个位置。
一个是在/* USER CODE BEGIN 0 */和/* USER CODE END 0 */之间新添加如下代码:
另一个是修改void MX_USART1_UART_Init(void)函数,在该函数中的
/* 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
③、在创建的工程路径下,新建一个名为MyFiles的文件夹,并将例程中的如下文件均复制到MyFiles文件夹中。
④、添加MyFiles的文件夹路径到工程
⑤、在工程中新建文件夹,并将复制的文件添加到工程之中
⑥、修改添加到MyFiles文件夹下的所有.c和.h文件
由于涉及到的修改较多,不做一一介绍,直接给出修改后的该文件夹下的所有文件附件。附件见文末的附件MyFiles。
⑦、修改main.c文件
在/* USER CODE BEGIN Includes */和/* USER CODE END Includes */之间添加为app。h 和bsp。h的包含:
添加USART1的接收和发送中断回调函数,
在/* USER CODE BEGIN 4 */和/* USER CODE END 4 */加入代码:
⑧、修改stm32f1xx_it.c文件
添加对app.h的包含,在/* USER CODE BEGIN Includes */和/* USER CODE END Includes */之间加入代码:
修改void SysTick_Handler(void)函数,
在 /* USER CODE BEGIN SysTick_IRQn 1 */和/* USER CODE END SysTick_IRQn 1 */之间加入:
至此,程序移植已经全部完成,再次重新编译。如果出现warning: #1-D: last line of file ends without a newline这个警告,请在该文件最后一行添加新行。
将ST-LINK的下载接口与STM32核心板的下载接口连接,对应接线如下:
Debug配置
配置完成后,点击LOAD进行下载。
下载成功后,会出现如下提示:
建议在接线过程中断电操作。STM32核心板的供电使用自带的USB接口供电。
STM32核心板与E01-ML01D无线模块连接
STM32核心板与USB转TTL工具连接
将STM32核心板通过USB接口供电,USB转TTL转接板模块工具连接上电脑上的串口调试助手。串口调试助手配置如下:
将STM32核心板复位,它首先会检查与E01-ML01D无线模块的连接。如果连接成功,则会打印Link successful。如果链接失败,则会打印Link Fail Please check and reset module。最大连接次数为6次,每次连接会打印当前连接次数。
数据发送和接收,例程使用了nRF24L01P的ACK功能,所以在发送成功则会打印Send TX_DS,发送失败会打印Send MAX_RT。
以上实验中,实现了基于STM32F103C8T6核心板的E01-ML01D的驱动移植以及通信验证,其中的E01-ML01D可以替换为任意型号的nRF24L01P方案或者Si24R1方案的无线射频模块。也可以稍加修改,适用于其他STM32系列的MCU。
以上就是全部的《基于STM32的E01和E01C驱动移植教程案例》。
今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多无线射频模块和无线通信技术资料,感兴趣的小伙伴可以登录我们的亿佰特官网进行了解,也可以直接拨打400电话咨询技术专员!
相关阅读:
7 X 24 销售服务热线
4000-330-990深圳办事处柯经理:18218726658 无锡办事处刘经理:13558641933
成都总部销售经理:
秦 科(无线模块):18884314654 冯子恒(无线模块):18828049434
蔡友银(无线模块):13882211021 葛宇龙(通信设备):19138800613
胡兵(外贸销售经理):18584911141、 sales06@ebyte.com
业务邮箱:support@cdebyte.com 全国销售投诉电话:19934352316
地址:四川省成都市高新西区西区大道199号B5栋(前台座机:028-61543675)
©© 成都亿佰特电子科技有限公司【版权所有】 蜀ICP备13019384号