本文介绍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是指串口缓冲区的最大长度,其值应大于接收数据包的最大长度。
3、打开main.c文件,定义全局变量miniUART1(这里以通用串行口1为例,名字可以自行设定),如下图所示。
4、在main函数的while前,对miniUART1进行初始化,如下图所示。
5、选择合适的定时器,并将定时值设定为1ms,其使用方法,可参看先前的日志“STM32F4 开发笔记3: 定时器2-5的使用方法”,并加入如下图所示的代码。
6、在UART1中断服务处理函数中,加入如下图所示的代码。
7、至此,就可以在main函数中的while主循环中,对接收到的数据包进行处理了,如下图所示。只要函数miniUART_IsReceivedData返回为true,则表示1个新的数据包已经到达。图中所示的程序还列出了,对于数据包的处理方法,供大家参考使用。
上一篇:STM32F0开发笔记3: STM32CubeF0介绍
下一篇:STM32F4 开发笔记3: 定时器2-5的使用方法
推荐阅读
史海拾趣
随着技术的不断进步,顺芯公司意识到只有不断创新才能在激烈的市场竞争中立于不败之地。因此,公司加大了在研发方面的投入,积极引进高端人才,并与国内外知名高校和研究机构建立了合作关系。在XXXX年,顺芯公司成功研发出了一款具有自主知识产权的高性能数模混合芯片,填补了国内市场的空白,并获得了多项专利。
随着公司规模的扩大和产品种类的增多,AEP公司意识到质量管理的重要性。公司引进了一套先进的质量管理体系,从原材料采购、生产过程到产品出厂,每一个环节都进行严格的质量控制。同时,公司还加强了对员工的培训和管理,确保每一名员工都能严格按照质量标准进行操作。这一举措大大提高了AEP公司的产品质量和客户满意度,为公司的长期发展奠定了坚实基础。
在技术创新的基础上,倍(DBIC)公司积极拓展市场,加强品牌建设。公司制定了详细的市场营销策略,针对不同区域和行业进行精准推广。同时,倍(DBIC)公司还积极参与国际展会和论坛,与全球合作伙伴建立联系。这些努力使倍(DBIC)公司的品牌知名度不断提高,市场份额也逐步扩大。
安美通非常重视企业文化建设和团队建设。公司倡导创新、务实、合作的企业文化,为员工提供了一个宽松、自由、充满激情的工作环境。同时,公司还积极开展各类培训活动,提升员工的专业素养和综合能力。这些措施使得安美通的团队更加团结、高效,为公司的持续发展提供了有力的保障。
这五个故事虽然只是安美通发展过程中的一部分,但它们充分展示了安美通在电子行业中不断努力、创新、拓展的精神和成果。未来,安美通将继续秉承这种精神,不断推动公司的发展和进步。
一个优秀的企业不仅要有优质的产品和服务,还要有独特的企业文化。BusBoard公司注重企业文化的建设和传承,通过举办各种活动、培训等方式,让员工更好地了解公司的价值观和发展理念。同时,公司还鼓励员工积极参与公司事务、提出建设性意见,让员工成为公司发展的重要力量。这种以人为本的企业文化使得BusBoard公司的员工队伍更加团结、稳定和有活力。
以上五个故事从不同角度展示了BusBoard公司发展起来的相关情况。这些故事不仅反映了公司的成长历程和发展成果,也体现了公司在电子行业中的地位和影响力。随着科技的不断进步和市场需求的不断变化,BusBoard公司将继续保持创新、拓展市场、提升品质、建设文化,为电子行业的发展贡献更多的力量。
MSP430FG439上实现IO模拟UART以及移植要点解析 最近要做MSP430上的开发,一上手就要做IO模拟UART这种难度的玩意,幸好网上已经有很多现成的MSP430的软串口实现例子,本文代码大部分参考 >http://www.microcontrol.cn/430base.htm上的《MSP430的Timer_A实现模拟串口功能例程》,并且成功移植到M ...… 查看全部问答∨ |
高分请教:MPC82xx系列的ppc中的CPM是如何工作的? powerpc的CPM模块,集成了很多通信协议。 有点我不太清楚。举个例子: 有个10M的udp包从fcc网口进来,肯定不能一次传完,那么CPM模块能不能先把这10M数据完全接受完再送给core处理呢? 如果能够这样处理,那么这个功能怎么实现?是在网口的驱动 ...… 查看全部问答∨ |
原帖地址http://topic.eeworld.net/u/20080521/16/8dd26e1c-2e9b-4277-877b-5f888125bc35.html?seed=2142211368 我们目前的系统是使用的三星44b0的平台,一块8M的sram,一块8M的nor flash,无操作系统 我现在要做的是为原本的这套系统添加一个" ...… 查看全部问答∨ |
|
replyreload += \',\' + 1256626;很详细的哟,我就不多说了。Timson,如果您要查看本帖隐藏内容请回复《深入浅出玩转FPGA》光盘资料.rarTimson,如果您要查看本帖隐藏内容请回复深入浅出玩转fpga.pdf资料又点大,转网盘了。 [ 本帖最后由 8fu8 于 ...… 查看全部问答∨ |
|
请问用IAR打开ZigBee程序,在 Workspace 里选择不同配置,代码文件显示样式问题 请问用IAR打开ZigBee程序,在 Workspace 里,选择不同配置,代码文件显示样式不一样,如下图,这是怎么做到的? 好像选择不同配置就屏蔽了其他代码,怎么回事啊? 求知道的大侠们给讲讲,谢谢! … 查看全部问答∨ |
|
我使用的是mcsdk_1_01_00_02,当进入目录edma3_lld_02_11_09_08/examples/edma3_driver/evmOMAPL138编译edma3的例子时,出现如下错误: root@silent:/opt/ti/edma3_lld_02_11_09_08/examples/edma3_driver/evmOMAPL138# make ISA=674 /opt/ti/edm ...… 查看全部问答∨ |
是这样的,我自行设计的DM648的图像处理系统,编解码方案是TVP5150*2和SAA7121,编解码芯片的驱动程序是基于实验室原有的DM642的配套驱动修改的。程序的主体是参照DVSDK中的例程video_preview写的,经过调试大部分代码已经调通,但是在最后FVID_exc ...… 查看全部问答∨ |