新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于Atmega128嵌入式控制器的设计

基于Atmega128嵌入式控制器的设计

作者:时间:2014-01-07来源:网络收藏

  CAN总线接口如图4。SJA1000的AD0~AD7连接到的PC口,CS连接到的PG3。PG3为0时CPU片外存储器地址选中SJA1000,CPU通过地址可对SJA1000执行读/写操作。SJA1000的RD、WE、ALE与的引脚相连,INT接Atmega128的PE7,Atmega128可通过中断方式访问SJA1000。

基于Atmega128嵌入式控制器的设计

(5)与PC机的串行通信

  考虑到智能控制节点要接收从RS232串口来的数据,因而采用了Atmega128的串行口进行中断接收,所用的引脚是PE0、PE1。通过MAX232进行数据传输。
(6)脉冲输入脉冲输出

  由于输入信号的多样性,增加了PI/PO部分。
3MicroC/OS—II的移植

  MicroC/OS—II移植到Atmega128上,需要修改OS_CPU.H,OS_CPU_A.S和OS_CPU_C.C三个与其相关的文件。其中OS—CPU.H主要完成的是数据类型、堆栈单位、堆栈增长方向的定义。相关的数据类型定义:

  typedefunsignedcharBOOLEAN;

  typedefunsignedcharINT8U;//无符号8位数

  typedefsignedcharINT8S;//带符号8位数

  typedefunsignedintINTI6U;//无符号l6位数

  typedefsignedintINTl6S;//带符号l6位数

  typedefunsignedlongINT32U;//无符号32位数

  typedefsignedlongINT32S;//带符号32位数

  typedeffloatFP32;//单精度浮点数

  堆栈单位的定义:

typedefunsignedcharOS_STK;//堆栈入口宽度为8位

  状态寄存器的定义:

  typedefunsignedcharOS_CPU_SR;//定义状态寄存器为8位

堆栈增长方向的定义:

  #defineOS_STK_GROWTH1;//堆栈由高地址向低地址增长

  0S_CPU_C.C文件主要包括任务堆栈初始化和实现操作系统规定的几个Hook函数。其中移植需要的Hook函数如下:

  OSTaskCreateHook();OSTaskDelHook()

  OSTaskldleHook();OSTaskStateHook()

  OSTaskSwHook();oSTCBInitHook()

  OSTimeTickHook()



评论


相关推荐

技术专区

关闭