原理图和源代码见上传的PDF和RAR格式文件.
程序有4个任务组成, Task_Start任务实现LED toggle, 任务Task_ADC采样多圈电位器抽头的电压量, Task_SPIDisplay任务负责显示Task_ADC采样的数据, 任务Task_Key负责监视用户键盘输入.
文件组织结构如下.
Startup file包含lowlevel_initial.c 和lpc2xxx_cstartup.s 文件lowlevel_initial可以对LPC2132的SFR进行初始赋值或清零. lpc2xxx_cstartup.s需要做部分修改, 主要是引进一些Port file中的OS中断处理用的全局标号
EXTERN OS_CPU_ARM_ExceptIrqHndlr,OS_CPU_ARM_ExceptFiqHndlr,\
OS_CPU_ARM_ExceptSwiHndlr
以及修改中断向量散转表:
org 0x28
dc32 OS_CPU_ARM_ExceptSwiHndlr
不一一列举
BSP file包含LPC2132的底层驱动程序, 有BSP.C, ADC.C, Timer.C, SPI.C, EINT.C, System_Config.C组成. BSP.C负责初始化各个模块为OS启动作好准备, ADC.C用来配置AD转换器的使用方法, Timer.C用来配置定时器的使用方式, SPI.C 配置SPI的工作方式, EINT.C配置外部中断, System_Config.C初试化系统的2132的PLL, MAM, FIQ, IRQ等.
OS Kernel文件主要把ucOSII 2.85包含进来就可以了.
Port File 是针对不同的处理器架构专门编写的支持ucOS的汇编和C文件.
Application Code 主要包含用户应用相关的代码, 创建了4个任务, 完成AD采样数据同时通过SPI口扩展的LED显示电压, LED指示和键盘响应显示CPU占用率.
用户1584504 2012-2-20 13:15