AVR单片机中的uCOS-II

B站影视 2025-02-03 17:50 2

摘要:对于AVR单片机的应用是非常成熟的。下面整理一下相关的硬件和软件开发工具链。为今后的应用打下基础。

一、前言

  对于AVR单片机的应用是非常成熟的。下面整理一下相关的硬件和软件开发工具链。为今后的应用打下基础。

二、测试电路

  设计测试电路,其中包括有三个用于调试目标的 LED。使用单面PCB设计电路板,适合一分钟制板,一分钟之后得到测试电路。下面对它进行焊接测试,使用昨天制作的软件开发板进行软件开发。

  焊接电路,使用弹簧夹子将下载模块与测试电路相连。给电路提供5V工作电压。设置MEGA128的熔丝图,将 自己编写的BOOTLOADER下载到单片机中。利用编写的串口软件,将一个测试程序利用BOOTLOADER下载到单片机,至此,单片机开发硬件环境已经建立了。

三、测试UCOSII

  测试一下之前已经移植好的 uCOS 嵌入式操作系统。初始化之后,建立四个不同优先级别的任务。这些相关的移植文件,都放置在工程目录中 OS 子目录中。需要在工程文件的 Options中,增加对应的 include 文件目录,这样便可以正常包含相应的头文件,同时,将 OS子目录中所有文件都包含在工程中。下面便可以进行正常编译了。

  下载程序,可以看到四个任务分别控制四个LED,以不同的频率进行闪烁。由此与见证了uC OS 工作正常了。利用 uCOS 可以完成更加复杂的控制任务。将不同优先级,不同性质的任务同时进行运行。这个移植版本,在很多过去的工程中都得到了应用。

  测试一下MEGA单片机,在晶体16MHz下计算函数的速度, 测试方法是利用电路板上的LED的高电平来只是计算所消耗的时间。计算sine(0.123)。LED 高电平时长为计算时间。使用示波器测量,可以看到计算三角函数消耗 384微秒。

▲ 图1.4.1 计算正弦对应的时间

  在前几天测试过 STC32F单片机计算速度。如果不使用硬件加速,计算sine函数大约消耗229微秒。如果使用硬件加速,计算一次sine 函数,只需要 16.2微秒。可以看到对于 八位单片机,硬件加速是非常重要的。

  本文原本是将原来 AVR 单片机开发硬件和软件工具链进行整理,顺便测量了单片机的三角函数计算速度,以及整理了 uCOS 的软件效果。

[1]

[2]

测试ATMEGA128的下载功能:

[3]

ATMEGA单片机的下载电路:

[4]

STC32G中的数学硬件库有多疯狂?:

[5]

STC32F中的硬件浮点库:

来源:TsinghuaZhuoqing

相关推荐