STM32F4 开发笔记5: miniUART的使用方法
来源:互联网 发布:c语言怎么打开特定文件 编辑:程序博客网 时间:2024/06/06 06:51
本文介绍miniUART的使用方法,miniUART是一组轻量型代码,可以用于完成串口接收数据功能的快速实现。其可正确对2包数据按照时间间隔进行分割,使用简单,代码可靠。
可以按照下列步骤使用mininUART.
1、打开config.h文件,按照下图所示的内容代码进行设置,设置为1表示启用miniUART。
2、打开miniUART_config.h文件,对miniUART进行配置,如下图所示。MINIUART_PERIOD是指两包数据之间的最小时间间隔,说的通俗一些如果串口接收到的2个字节之间的时间间隔小于MINIUART_PERIOD的数值,则认为该2个字节是同1包数据,否则认为后1个字节是下1包数据的第1个字节。MINIUART_LENGTH是指串口缓冲区的最大长度,其值应大于接收数据包的最大长度。
6、在UART1中断服务处理函数中,加入如下图所示的代码。
7、至此,就可以在main函数中的while主循环中,对接收到的数据包进行处理了,如下图所示。只要函数miniUART_IsReceivedData返回为true,则表示1个新的数据包已经到达。图中所示的程序还列出了,对于数据包的处理方法,供大家参考使用。
可以按照下列步骤使用mininUART.
1、打开config.h文件,按照下图所示的内容代码进行设置,设置为1表示启用miniUART。
2、打开miniUART_config.h文件,对miniUART进行配置,如下图所示。MINIUART_PERIOD是指两包数据之间的最小时间间隔,说的通俗一些如果串口接收到的2个字节之间的时间间隔小于MINIUART_PERIOD的数值,则认为该2个字节是同1包数据,否则认为后1个字节是下1包数据的第1个字节。MINIUART_LENGTH是指串口缓冲区的最大长度,其值应大于接收数据包的最大长度。
3、打开main.c文件,定义全局变量miniUART1(这里以通用串行口1为例,名字可以自行设定),如下图所示。
4、在main函数的while前,对miniUART1进行初始化,如下图所示。 5、选择合适的定时器,并将定时值设定为1ms,其使用方法,可参看先前的日志“STM32F4 开发笔记3: 定时器2-5的使用方法”,并加入如下图所示的代码。
4、在main函数的while前,对miniUART1进行初始化,如下图所示。 5、选择合适的定时器,并将定时值设定为1ms,其使用方法,可参看先前的日志“STM32F4 开发笔记3: 定时器2-5的使用方法”,并加入如下图所示的代码。
6、在UART1中断服务处理函数中,加入如下图所示的代码。
7、至此,就可以在main函数中的while主循环中,对接收到的数据包进行处理了,如下图所示。只要函数miniUART_IsReceivedData返回为true,则表示1个新的数据包已经到达。图中所示的程序还列出了,对于数据包的处理方法,供大家参考使用。
原创性文章,转载请注明出处 http://user.qzone.qq.com/2756567163。
CSDN:http://blog.csdn.net/qingwufeiyang12346。 0 0
- STM32F4 开发笔记5: miniUART的使用方法
- STM32F4 开发笔记3: 定时器2-5的使用方法
- STM32F4 开发笔记4: UART的使用方法
- STM32F4 开发笔记2: IO输出的设置
- STM32F4 开发笔记1: 时钟配置
- STM32F4开发板学习笔记一
- 基于正点原子STM32F4探索者的笔记
- STM32F4库函数开发的一些小套路
- Maven开发工具的使用方法笔记
- Android开发笔记: WebView的使用方法
- STM32F4学习笔记1
- stm32F4学习笔记序言
- Matlab&Simulink开发STM32F4
- Matlab&Simulink开发STM32F4
- stm32f4**开发相关记录
- STM32F4开发前菜
- STM32F4-浮点DSP库的MDK开发环境的设置
- 基于STM32F4的FreeRTOS_笔记2_打印输出字符串
- Android AsyncTask 源码分析
- 常见浏览器兼容性问题与解决方案
- Android sdk开发 - 序
- Max_allowed_packet配置
- oracle密码解锁
- STM32F4 开发笔记5: miniUART的使用方法
- Lattice DCS (Dynamic Clock Select)
- C++关于迭代器删除(erase)插入(insert)失效问题http://m.blog.csdn.net/blog/a327369238/26715187
- iOS开发:同步方法中混杂异步方法,导致异步方法还没有回调,同步方法就返回了值,因此返回了nil。解决方法
- SpringMVC 过滤器Filter使用解析
- centos =>centos安装软件的两种命令rpm,yum
- c++实现大数加法(含负数)
- Activity主窗口与软键盘的交互模式
- 网页布局基础