前言:本文适用于使用过Keil MDK软件且有一定的单片机开发基础的人员
软件版本:Keil MDK v5.24
硬件开发板:STM32F429I-Discovery
预备知识:
Keil RTX线程使用
Keil MDK v5新增了pack Installer、Manage Run-Time Environment等功能使我们可以快速创建基于芯片pack包的工程。而基于ARM CMSIS标准的接口使程序的移植性大提高。此帖就演示如何快速创建基于ARM CMSIS 标准的串口驱动。
Keil MDK最新版软件下载地址:http://tools.emdoor.com/products/arm/keil/1196.html
或者:https://www.keil.com/demo/eval/arm.htm#/DOWNLOAD
pack包安装与下载
相关的芯片pack包也可以在keil官网(https://www.keil.com/dd2/pack/)下载
新建工程并配置相关外设
- 创建工程
利用Manage Run-Time Environment配置工程
- 添加Keil RTX实时操作系统
- 添加CMSIS USART驱动
具体需要添加的
CMSIS->CORE | CMSIS Driver-USART(API)->USART |
CMSIS->RTOS | Device->Startup |
Board Support->LED(API) | Device->STM32Cube Framework(API)->Classic |
- 然后点击窗口中左下角Resolve按钮,让IDE自动帮我们选择其他需要的项目
- 配置系统时钟频率为168MHZ,选择左侧工程窗口的CMSIS->RTX_Conf_CM.c打开RTE_Device文件,选择Configuration Wizard模式,将RTOS Kernel Timer input clock frequence频率设置为168000000(168MHZ)
- 配置USART1的硬件接口:选择左侧工程窗口的Device->RTE_Device.h打开文件。选择Configuration Wizard模式,使用USART1并配置USART1_RX引脚为PA10,USART1_TX引脚为PA9
- 通过查询窗口找到外部时钟宏定义并更改晶振宏定义数值为8000000(8MHZ)
创建串口线程编写代码
- 编译后将hex文件通过ST-Link
效果
打开串口工具,这里使用SecureCRT工具。查看串口输出