保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

μC/OS-II的多任务信息流与CAN总线驱动


)。
  
  接口函数总结如下。
  
  voidCanInitHW(UIsegment,BYTEirq0,BYTEIRQ1)
  
  /*设置SJA1000控制器端口中断向量*/
  
  intcanReleaseHW()/*清除SJA1000控制器端口中断向量*/
  
  intcanSendMsg(CANBYTEport,MSG_STRUCTmsg)
  
  /*向定制SJA1000控制器端口发送数据*/
  
  intcanReceiveMsg(CANBYTEport,MSG_STRUCTmsg_ptr)
  
  /*从定制SJA1000控制器端口接收数据
  
  intcanConfig(CANBYTEport,CAN_STRUCTcan)
  
  /*初始化和配置SJA1000控制器*/
  
  intcanNormalRun(CANBYTEport)
  
  /*设置SJA1000正常(Normal)运行模式*/
  
  intcanReset(CANBYTEport)
  
  /*SJA1000控制器端口重新设置,缓冲区置位0xff*/
  
  CANBYTEcan0r(CANBYTEaddr)
  
  /*读取SJA1000控制器端口0的定制寄存器的值*/
  
  CANBYTEcan1r(CANBYTEaddr)
  
  /*读取SJA1000控制器端口1的定制寄存器的值*/
  
  接收和发送数据缓冲区数据结构定义:
  
  
  
  
  >typedefstruct{
  
  INT16URingBufRxCtr;/*接收缓冲中字符数目*/
  
  OS_EVENTRingBufRxSem;/*接收信号量*/
  
  INT8URingBufRxInPtr;/*接收缓冲中下一字符的写入位置*/
  
  INT8URingBufRxOutPtr;/*接收缓冲中下一待读出字符的位置*/
  
  INT8URingBufRx[CAN_RX_BUF_SIZE];/*接收环形缓冲区*/
  
  INT16URingBufTxCtr;
  
  /*发送缓冲中字符数目*/
  
  OS_EVENT*RingBufTxSem;/*发送信号量*/
  
  INT8U*RingBufTxInPtr;
  
  /*发送缓冲中下一字符的写入位置*/
  
  INT8U*RingBufTxOutPtr;
  
  /*发送缓冲中下一待读出字符的位置*/
  
  INT8URingBufTx[CAN_TX_BUF_SIZE];/*发送环形缓冲区*/
  
  }CAN_RING_BUF;
  
  结语
  
  本文是在嵌入式计算机技术领域的应用背景下提出的,整个工程开发结束以后,系统正常运作时间超过27天。希望本文的提出对开发嵌入式操作系统的技术人员能有所帮助,同时也希望同一领域的开发人员共同探讨、共同发展。
  

《μC/OS-II的多任务信息流与CAN总线驱动(第5页)》
本文链接地址:http://www.oyaya.net/fanwen/view/168701.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。