×

AT90CAN128_CAN通讯例程

消耗积分:1 | 格式:rar | 大小:181KB | 2014-04-23

815989042

分享资料个

can通讯例程

  #define _MAIN_H

  #include “AT90CAN128.H”

  uint8 CS = 0;

  uint8 volatile CHA = 0;

  BOOL LED[5] = {FALSE,FALSE,FALSE,FALSE,FALSE};

  BOOL volatile send_mark = TRUE;

  BOOL volatile display_mark = TRUE;

  uint8 send_time = 0;

  uint8 display_time = 0;

  void PORT_Init(void)

  {

  PORTA = 0xFF;

  DDRA = 0xFF; //数码管

  PORTB = 0xFF;

  DDRB = 0x00;

  PORTC = 0xFF; //m103 output only

  DDRC = 0xFF;

  PORTD = 0xFF;//PD4

  DDRD = 0x10;

  PORTE = 0xFF;

  DDRE = 0x00;

  PORTF = 0xFF;

  DDRF = 0x00;

  PORTG = 0xFF;

  DDRG = 0x00;

  //=======================================================================

  //ADEN置位即启动ADC,否则ADC功能关闭。在转换过程中关闭ADC将立即中止正在进

  //行的转换。

  //=======================================================================

  ADCSRA = (0 《《 ADEN); // 关闭数/模转换器

  //=======================================================================

  //ACD 置位时,模拟比较器的电源被切断。可以在任何时候设置此位来关掉模拟比较器。这

  //可以减少器件工作模式及空闲模式下的功耗。改变ACD 位时,必须清零ACSR 寄存器的

  //ACIE 位来禁止模拟比较器中断。否则ACD 改变时可能会产生中断。

  //当ACIE 位被置“1” 且状态寄存器中的全局中断标志I 也被置位时,模拟比较器中断被激

  //活。否则中断被禁止。

  //=======================================================================

  ACSR = (1 《《 ACD) | (0 《《 ACIE); // 关闭模拟比较器

  //=======================================================================

  // EEWE复位值不定

  //=======================================================================

  EECR = 0;

  }
AT90CAN128_CAN通讯例程

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !