欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: MC9S12XEP100 can總線接收程序源碼 [打印本頁(yè)]

作者: liujianwe    時(shí)間: 2017-5-7 16:01
標(biāo)題: MC9S12XEP100 can總線接收程序源碼
MC9S12XEP100處理器can總線接收程序



源程序:
  1. /*---------------------------------------------------------*/
  2. /************************************************************
  3. 飛翔科技MC9S12XEP100汽車(chē)電子開(kāi)發(fā)板
  4. E-mail: 2008f.d@163.com
  5. ************************************************************/
  6. /*---------------------------------------------------------*/
  7. #include <hidef.h>      /* common defines and macros */
  8. #include "derivative.h"      /* derivative-specific definitions */
  9. #include "CAN.h"      
  10. #include "LCD.h"      

  11. #define LEDCPU PORTK_PK4
  12. #define LEDCPU_dir DDRK_DDRK4
  13. #define  BUS_CLOCK                   32000000           //總線頻率
  14. #define  OSC_CLOCK                   16000000           //晶振頻率

  15. char *xianshi[3] = {
  16. "飛翔科技開(kāi)發(fā)板",
  17. "接收到的數(shù)據(jù)為:",
  18. };

  19. #define ID                  0x0001       //發(fā)送標(biāo)識(shí)符
  20. #define data_len_TX          7           //發(fā)送數(shù)據(jù)長(zhǎng)度

  21. unsigned char k;

  22. unsigned char senddata[8] = {'F','R','E','E','F','L','Y',0};     //發(fā)送的數(shù)據(jù)

  23. struct can_msg msg_send, msg_get;
  24. unsigned char datain=0;

  25. /*************************************************************/
  26. /*                      初始化鎖相環(huán)                         */
  27. /*************************************************************/
  28. void INIT_PLL(void)
  29. {
  30.     CLKSEL &= 0x7f;       //set OSCCLK as sysclk
  31.     PLLCTL &= 0x8F;       //Disable PLL circuit
  32.     CRGINT &= 0xDF;
  33.    
  34.     #if(BUS_CLOCK == 40000000)
  35.       SYNR = 0x44;
  36.     #elif(BUS_CLOCK == 32000000)
  37.       SYNR = 0x43;     
  38.     #elif(BUS_CLOCK == 24000000)
  39.       SYNR = 0x42;
  40.     #endif

  41.     REFDV = 0x81;         //PLLCLK=2×OSCCLK×(SYNDIV+1)/(REFDIV+1)=64MHz ,fbus=32M
  42.     PLLCTL =PLLCTL|0x70;  //Enable PLL circuit
  43.     asm NOP;
  44.     asm NOP;
  45.     while(!(CRGFLG&0x08)); //PLLCLK is Locked already
  46.     CLKSEL |= 0x80;        //set PLLCLK as sysclk
  47. }

  48. /************************************************************/
  49. /*                    初始化ECT模塊                         */
  50. /************************************************************/
  51. void initialize_ect(void){
  52.   ECT_TSCR1_TFFCA = 1;  // 定時(shí)器標(biāo)志位快速清除
  53.   ECT_TSCR1_TEN = 1;    // 定時(shí)器使能位. 1=允許定時(shí)器正常工作; 0=使主定時(shí)器不起作用(包括計(jì)數(shù)器)
  54.   ECT_TIOS  = 0xff;      //指定所有通道為輸出比較方式
  55.   ECT_TCTL1 = 0x00;            // 后四個(gè)通道設(shè)置為定時(shí)器與輸出引腳斷開(kāi)
  56.   ECT_TCTL2 = 0x00;     // 前四個(gè)通道設(shè)置為定時(shí)器與輸出引腳斷開(kāi)
  57.   ECT_DLYCT = 0x00;            // 延遲控制功能禁止
  58.   ECT_ICOVW = 0x00;            // 對(duì)應(yīng)的寄存器允許被覆蓋;  NOVWx = 1, 對(duì)應(yīng)的寄存器不允許覆蓋
  59.   ECT_ICSYS = 0x00;            // 禁止IC及PAC的保持寄存器
  60.   ECT_TIE   = 0x00;     // 禁止所有通道定時(shí)中斷
  61.   ECT_TSCR2 = 0x07;            // 預(yù)分頻系數(shù)pr2-pr0:111,,時(shí)鐘周期為4us,
  62.   ECT_TFLG1 = 0xff;            // 清除各IC/OC中斷標(biāo)志位
  63.   ECT_TFLG2 = 0xff;     // 清除自由定時(shí)器中斷標(biāo)志位
  64. }

  65. /************************************************************/
  66. /*                在液晶上顯示接收到的數(shù)據(jù)                  */
  67. /************************************************************/
  68. void play_data(void)
  69. {
  70.     unsigned char l;
  71.     write_command(0x8A);
  72.     for(l=0;l<msg_get.len;l++)
  73.        write_Data(msg_get.data[l]);
  74. }

  75. /*************************************************************/
  76. /*                      中斷接收函數(shù)                         */
  77. /*************************************************************/
  78. #pragma CODE_SEG __NEAR_SEG NON_BANKED
  79. void interrupt CAN_receive(void)
  80. {
  81.       if(MSCAN0GetMsg(&msg_get))
  82.       {
  83.         // 接收新信息
  84.          if(msg_get.id == ID && (!msg_get.RTR))
  85.          {
  86.                  LEDCPU = ~LEDCPU;
  87.                  datain=1;      
  88.          }
  89.       }
  90.       else
  91.       {
  92.        for(;;);
  93.       }
  94. }
  95. #pragma CODE_SEG DEFAULT

  96. /*************************************************************/
  97. /*                        主函數(shù)                             */
  98. /*************************************************************/
  99. void main(void) {
  100.   DisableInterrupts;
  101.   INIT_PLL();
  102.   initialize_ect();
  103.   INIT_CAN0();
  104.   INIT_PORT();
  105.   LEDCPU_dir=1;


  106. …………限于本文篇幅 余下代碼請(qǐng)從5 1黑電子論壇下載附件…………
復(fù)制代碼


下載:
CAN接收.rar (545.79 KB, 下載次數(shù): 81)




作者: zhjh159357    時(shí)間: 2017-8-20 10:50
x謝謝樓主
作者: zhjh159357    時(shí)間: 2017-8-20 10:51
謝謝樓主。。。。。。。。。。。。。。。。。。。。。。
作者: zimiaoxinghan    時(shí)間: 2017-9-26 10:42
非常感謝 分享 正在學(xué)習(xí)中
作者: HLX    時(shí)間: 2018-3-5 09:16
多謝樓主

作者: yyz_1111    時(shí)間: 2018-4-12 16:10
有問(wèn)題想請(qǐng)教樓主
作者: yyz_1111    時(shí)間: 2018-4-12 17:32
主函數(shù)里面沒(méi)有看到接收函數(shù)啊
作者: 王力斯    時(shí)間: 2018-4-18 23:24
感謝大神分享   頂一個(gè)
作者: wkei007    時(shí)間: 2018-5-4 15:51
嗯,不錯(cuò),謝謝分享!
作者: 眾星電子    時(shí)間: 2018-7-24 22:17
感謝樓主分享,學(xué)習(xí)一下
作者: semonpic    時(shí)間: 2018-8-4 09:18
好資料
作者: guoshisheng    時(shí)間: 2019-4-1 00:03
非常感謝!。  




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1