使用keil MDK5.23的CMSIS Driver层的USART驱动
来源:互联网 发布:商场女装品牌 知乎 编辑:程序博客网 时间:2024/06/07 22:16
前言
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系列的芯片工程时,是非常方便的。基本上通用的外设的驱动都已经写好,我们只需调用使用即可。从而避免了一些自己写驱动出现的错误问题。但这个也不能太依赖于此。毕竟前提是,自己能够写驱动函数,熟悉芯片的外设工作机理。
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系列的芯片工程时,是非常方便的。基本上通用的外设的驱动都已经写好,我们只需调用使用即可。从而避免了一些自己写驱动出现的错误问题。但这个也不能太依赖于此。毕竟前提是,自己能够写驱动函数,熟悉芯片的外设工作机理。
阅读全文
0 0
- 使用keil MDK5.23的CMSIS Driver层的USART驱动
- 使用keil MDK5.23的CMSIS Driver层的USART驱动
- KEIL-MDK 5 CMSIS的问题
- KEIL MDK5 更好用 更简洁 的ARM开发环境
- Keil MDK5生成 .bin文件的简单教程(图文)
- STM32 USART的使用
- USART串口的使用
- CMSIS-RTOS 信号量的使用Using Semaphores
- MDK5.14仿真时驱动文件的设置
- MDK5的一些技巧
- MDK5(Keil for ARM) 工程建立时遇到的问题集锦
- MDK5(Keil for ARM) 工程建立时遇到的问题集锦
- PIC16F877A的USART的使用 第一讲USART发送器
- ARM.CMSIS.3.20.4.pack 和 Keil.STM32F1xx_DFP.1.0.5.pack 这两个文件的意义
- CMSIS PACK的安装
- MDK5 keil 下动态内存分配以及使用事例
- 设备驱动------KEIL下分散加载文件的使用
- 【1.0】-51单片机驱动安装与keil软件的使用
- 服务器死机连不上,zabbix报Trigger: Zabbix agent on Hostname is unreachable for 5 minutes
- windows远程控制电脑,以及上传文件共享
- Convolutional Neural Networks for No-Reference Image Quality Assessment 笔记
- ora-01653的处理
- windows应用程序过程
- 使用keil MDK5.23的CMSIS Driver层的USART驱动
- C++最好用的2分算法 防止边界
- MySQL 异常 UTF-8 字符的处理
- VS解决方案添加的项目在生成dll时设置
- 安卓手机查看已经连接的WIFI密码
- GNUmakefile方式编译Objective-C代码
- 基于MongoDB的高并发高可用政府云平台架构实践
- 第三章 Java程设基础
- 事事有回音,件件有着落