使用keil MDK5.23的CMSIS Driver层的USART驱动

前言
keil mdk自版本5以来,就主推使用包管理器来灵活开发应用。推出了Management Run-Time Environment。用户在新建工程的时候,可以根据项目需要,选择组件。简单的说就是,ARM推出这些标准,旨在用户快速开发的自己的应用程序,无需用户关心底层的逻辑实现。因此,我们尽可放心使用。
一、创建工程
新建工程时选择目标设备芯片,然后弹出的运行环境管理窗口,开始选择自己需要的组件。选择CMSIS Driver 的USART,在下拉列表中选择USART,可以看到后面介绍是基于设备PHY的。选择后sel复选框会变黄,validation output窗口会提示缺乏相应的文件,点击resolve,运行环境管理器就可以自动选中相应的依赖。最后选上启动文件。点击ok就创建了基本工程。
这里写图片描述
配置RTE_Device.h。High-speed Clock可根据具体设备的晶振来改写。另外需打开USART1
这里写图片描述
然后添加main.c文件。增加相应的函数
二、使用驱动API
ARM将驱动中断层转换为事件驱动,串口回调函数可以不作处理。
这里写图片描述
该程序在main函数中调用串口初始化,电源配置、串口配置等函数。只打开了发送功能。最后调用send()函数发送测试字符串。使用串口调试助手可以看到成功发送字符串。
这里写图片描述
三、使用printf函数
以前使用printf函数一般都是重定义fputc函数,现在keil提供完整的std输入输出文件。一般这个是用来配合其中间件Debug调试使用。但是我们也可以单独使用。在RTE_Device.h中选择Stdout
这里写图片描述
增加stdout_USART.c文件
这里写图片描述
配置std_USART.c文件。打开并进如configuration wizard窗口模式,选择串口设备和配置波特率
这里写图片描述
接下来就要删改main函数了,因为std_usart.c已经使用了USART1设备,并且已经初始化,所以我们只需在外部调用stdout_int()即可。
这里写图片描述
四、总结
由此可见,keil5在创建Cortex-M系列的芯片工程时,是非常方便的。基本上通用的外设的驱动都已经写好,我们只需调用使用即可。从而避免了一些自己写驱动出现的错误问题。但这个也不能太依赖于此。毕竟前提是,自己能够写驱动函数,熟悉芯片的外设工作机理。

  • 5
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值