成为订阅者(免费)

加入29,000名其他订阅者以获得用户销售折扣和 其他免费资源。
:
:
大学教师'担心 - 您的邮件地址完全是 安全的。我保证使用它 只要 到 send you MicroZine.

pic micros的多任务处理

每次打开计算机时,它都在做多任务处理。我还在找到 令人惊叹的 - 想想PC能够做的所有能力和所有人 一次指导!

它只是意味着将注意力从一个任务切换到另一个任务 似乎同时发生了许多任务。

要使它在PC中工作,您需要平衡处理器的速度 您要求它在某些情况下额外的外部硬件的任务用于 把负载放在处理器上方。数学协同处理器(内置奔腾 处理器),显卡等

这对于PIC微控制器来说完全相同,但由于它不会进入 在GHz速度时,您必须仔细决定您需要做些什么以及如何 使其在每项任务中分配公平的处理时间(或 peripheral).

RTOS.

RTOS. (实时操作系统)是最终的多任务系统和 它确实使编写代码更轻松地使用标志信号进行进程 通信并提供优先任务调度。

使用它们的惩罚是他们占用代码空间和RAM资源(和 他们有一个学习曲线,因为RTOS控制有很多细节 task switching).

在Web上,您可以找到PIC micros的RTOS代码,但这可能更多 适用于较大的18F系列MOTORS作为RTOS's往往需要更大 RAM和程序资源(RAM用于保存所有当前任务数据 在任务切换之间)因此您将许多任务拟合到中档图片中 micro.

简单的多项任务调度

您可以使用中断进行简单的多个任务调度程序和仔细 coding and it won'T需要大量的记忆或资源。

这种方法的优势在于您可以完全控制代码 因此,产生并且可以将其装配到微小的设备中。一个12f675,1k program memory.

缺点是您必须完全符合您的代码 正在工作。使用RTOS时间切片分配给每个任务给予它们 处理时间的公平份额。使用此方法,您需要决定任务的方式 在设计代码时,分配处理器时间。

您所做的只是将所有代码放在循环中并在其中使用变量 循环测试您需要的条件e.g轮询输入。每个测试部分都是 或多或少等同于RTOS中的任务。

中断

与任何多任务系统一样,任务调度程序的核心是主要的 可以为每个进程分配时间切片的计时器。对于这种方法是计时器 中断每n毫秒操作一次,并调用从属函数 需要最高的优先级。其他一切都是一个低优先任务 被最高优先级任务中断。

我在这里使用的多任务处理示例是从12f675教程中获取的 部分 - 这使用计时器0中断来执行最高优先级任务 - 在这种情况下,每18ms产生伺服电机输出信号。如果这 信号延迟,然后伺服电机位置将改变,因此必须是 定期更新,必须具有最高优先级。

从属任务是发送和接收在软件中编码的串行数据 往返单独的销。通过不断轮询输入引脚来完成接收 - 显然,更好的方法是使用另一个中断来检测引脚 改变 - 但没有可用的,它说明了原则 well.

在这种情况下,串行RS232信号并不像准确一样重要 伺服电机信号在2400波特操作时,可以中断 (与RS232的传输时间相比,由于中断缓慢)。

使用此多任务处理方法时,您必须平衡处理 中断例程的时间使得足够的时间花了232 rs232 通信和所有这一都意味着制作ISR(中断服务 常规)尽可能短。在这种情况下,还会发生中断例程 非常不经常,我每人18姆斯都会为所有其他人留下足够的时间 tasks.

注意:此多任务方法对公平的程序非常有用,但我 在使用这种方法对于整个大型项目的公司工作 - 您最终有大量的变量和状态机操作转移 在主循环中的不同部分操作(长约20页!)。 整件事人变成了一个无法管理的混乱,如果你有超过几个 根据您可以想到每个任务,可以更好地切换到RTOS更好的任务 单独(即使底层代码可能是相似的)。 ross 您想解决任务而不是克服硬件操作(或 code operation!).

跳跃 多任务处理 to

最佳微控制器 - 项目主页

新的! Comments

让你说到你刚刚阅读的东西!留下下面的框中的评论。



隐私政策 | 接触 | 关于我

网站地图 | 使用条款


 ezoic. 报告此广告

访问我们的Facebook页面:

   点击这里



最近的文章

  1. 如何使用ADS1115

    使用ADS1115精度16位ADC进行教程进行低功耗。

    阅读更多

  2. arduino. 模拟输出...易模拟输出生成

    arduino. 模拟输出:如何创建最精确的PWM模拟输出以及如何创建模拟PWM正弦波。

    阅读更多

  3. 数号和等效的快速宏。加快代码!

    了解DigitalWrite()的工作原理......现在使用17倍宏宏!

    阅读更多

  4. TCS230颜色传感芯片:如何运作以及如何使用它。

    如何使用TCS230(/ TCS3200)彩色检测器芯片并轻松将其添加到您的任何项目中。

    阅读更多

  5. 如何使用ADXL345进行运动感测等。

    使用ADXL345 Acellerometer,您可以检测到16G!您还可以了解如何使用它来点击检测等。

    阅读更多

  6. HMC5883L 3轴数字MAGENTOMTER如何运作

    HMC5883L - 如何制作数字罗盘,了解HMC5883L和QMC5883L之间的差异以及它们是否兼容。

    阅读更多



读者 Comments

"I wanted to thank
你这么好
对于所有信息
你已经提供了
你的网站's

高超 极好的."

- 逃亡Potthath.

"This site really is
最好的和我最喜欢的。
我发现这里有很多很有用
项目和提示。"

- 米兰

Bursach.<at>gmail.com<

"Awesome site,
非常,非常容易和好
导航!"


-
Matt_tr. <at>
wolf359.cjb.net.


学习微控制器

"Interested in
微控制器?"

注册
免费7天指南:

自由 GUIDE : CLICK HERE


"I am a newbie to PIC
我想说
 how great your
网站一直在为我。"


- 戴夫

de_scott.<at>bellsouth.net

"Your site is a great
和完美的工作。
恭喜。"


- SURESH.

IntegratedInfosys.<at>
Yahoo.com.

"I couldn't find the correct
要定义的词语
你的网页。

非常有用,揭开,
诚实明确。

非常感谢
你的时间和作品。
问候。"


- Anon.

回到顶部