zigbee串口接受发送流程

发布 2019-09-11 08:09:00 阅读 2269

前面学会了如何使用串口,但是仅仅学会使用串口远远不够,这两天把串口相关**又看了一遍,不能说是全部弄清楚,至少能够从总体把握了。串口接受dma模式:data--u0dbuf--dma--rxbuf--(通过调用**函数)haluartread()读取rxbuf中的数据--设置事件发生标志--调用相关的处理函数。

串口接收中断模式:data--u0dbuf-中断--rxbuf--(通过调用**函数)--haluareread()读取rxbuf数据--设置事件发生标志--调用相关的处理函数下面较为详细的说明以上两种方法:

中断:中断函数把u0dbuf数据放入rxbuf()存储空间去,大概每过200ms后调用polllsr()函数,得到未被读取的字节个数,然后返回haluartpoll()进行下一步处理。如果触发以下三种事件:

rxbuf()接收满,rxbuf接收超时,rxbuf()接收到预设值,则调用**函数,读取数据。其中**函数完成以下事情读取缓冲区的数据,设置事件发生标志,特别注意如果mt中**函数没有编译,则**函数在应用层中,因此可以直接在应用层处理。如果mt**函数有编译则设置mt中的任务,调用其中的任务处理函数。

dma:主要区别就是将中断服务程序改为dma模式,其余一样。(关于dma方式毛毛老师已经说的很清楚了,有需要的同学可以参考《zstack中串口操作的深度解析dma(一》)

注意事项:对于大量的数据发送,当接受缓冲区的数据达到一定数量,将触发接收满,超时,达到预设值三个事件,通过硬件终止pc与串口的数据传送。当数据取完后,再通过软件将硬件打开,继续传输数据。

还是有些细节没有弄明白,必须通过实验来验证。欢迎各位来交流。

ZigBee笔记 整理

ieee802.15.4 规范的物理层定义了三个载波频段用于收发数据 868 868.6mhz 902 928mhz 和 2400 2483.5mhz,三个频段上发送数据的速率分别为 20kbit s 40kbit s和 250kbit s 15 zig bee 硬件设备不能同时兼容两个工作频段,中...

串口编程高级篇

uart0串口编程系列。uart0串口编程之在uc os ii中遭遇的危机。日期 2011 02 10 作者 tiger john 字体 大中小 一 潜在的危机。1.在uc os操作系统中设计串口编程时,由于isr和多个任务并发执行,情况比较复杂。尤其是接收状态为被动状态时,只能靠串行口中断来接收数...

11,串口读取温度

引言。串口通信 serial communication 是arduino和计算机间按位进行数据传输的一种最基本的方式 下面进行一个把arduino控制主板上的温度计通过串口在计算机显示屏上读取出来的实验。实验目的。1.了解arduino与计算机进行串口通信的工作原理。2.通过电子实验作品熟悉和的使...