写串口通信程序,第一反应是采用中断+队列方式。

[复制链接]
victech 发表于 2008-5-15 22:07 | 显示全部楼层

学习中......

期待
 楼主| 农民讲习所 发表于 2008-5-16 09:11 | 显示全部楼层

数组和队列

区别:
  数组使用一个索引访问,读和写
  队列使用两个索引访问,一个读一个写

  数组增加一个索引,就是对列的一个形状。

  队列常用指针方式做索引,
  用指针可以减少计算偏移的计算量。访问范围不受限制。
  一般在256之类,可以用数组下标字节访问,而超过256用指针好。

  队列是数组的扩展。
发表于 2008-5-16 09:20 | 显示全部楼层

听课...

gyt 发表于 2008-5-16 12:46 | 显示全部楼层

谢谢发表

hotpower 发表于 2008-5-16 12:50 | 显示全部楼层

读指针=写指针时认为队列空,写入后写指针与读指针相等下次

古道热肠 发表于 2008-5-16 13:03 | 显示全部楼层

环形队列的概念在“数据结构”上有详细的介绍

我想所长所讲的队列应该也是环形队列,环形队列用起来方便,在PC机键盘接口中就用到这种技术,PC机键盘按键产生中断,数据送缓冲区,X86MCU有空时或定时来查查缓冲区,有数据要处理就从缓冲区中获取按键码。
Etual 发表于 2008-5-16 14:18 | 显示全部楼层

哈哈,所长厉害

连我想做什么都知道了。确实是想做个命令控制台。
谢谢你的解答了。我再做做实验参透一下。
jimoom 发表于 2008-5-16 14:47 | 显示全部楼层

串口发数据一般都这么做吧。

串口发数据一般都这么做吧。

说到延时,第一想到的是利用主循环延时。
n_ever 发表于 2008-5-16 17:05 | 显示全部楼层

关注,学习

gsb1227 发表于 2008-5-16 22:18 | 显示全部楼层

楼主讲讲啊!我也是用中断加数组的,队列是怎么弄的呢?

machunshui 发表于 2008-5-16 23:04 | 显示全部楼层

找本数据结构,翻翻

找本数据结构,翻翻,
队列是比较简单的数据结构
5880527 发表于 2008-5-16 23:05 | 显示全部楼层

没系统学习过,自己也不知道是啥招式

现在的单片机RAM很宽敞,给通讯划两片区域。一股脑的接收回来慢慢收拾,当然中间也有很多纠错,收拾完了把要发的数据放另一区域,然后开始发送。
Swd21ic 发表于 2008-5-17 00:08 | 显示全部楼层

re

队列在数据结构里倒是很容易的..

一个指针插入.一个指针取出.或者可以构成循环的队列..

问题是不太清楚用在这里它比数组好在哪?

一般就用中断收字节数.解析后存在数组里.

最后解包的时候再从后台里把数组的数据取出...- -!

itelectron 发表于 2010-1-23 20:22 | 显示全部楼层
我也是用中断加数组的:L
NE5532 发表于 2010-1-24 11:21 | 显示全部楼层
看了这个题目,第一个反应就是:如果还有其他需要及时响应的任务,肯定完了。
ecomputer 发表于 2010-2-5 16:31 | 显示全部楼层
哈哈,我用了几次数组就用循环队列了,想了几天晚上想到用队列,后来看数据结构的书发现还是知识面太窄,对于搞单片机就应该多看点软件架构,数据结构上面的书
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部