久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3337|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

dspIC30f6010a芯片CAN通訊與數(shù)據(jù)處理

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:668358 發(fā)表于 2019-12-19 14:53 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
//AD數(shù)據(jù)采集,CAN發(fā)送數(shù)據(jù)
#include"p30f6010A.h"
#include"cpuinit.h"
#include"main.h"
#include"math.h"
//#include"IO.h"

//unsigned long int TX0_id,TX1_id,TX2_id;   
#define FCY = 16000000;//10MHz外部晶振

_FOSC(CSW_FSCM_OFF&HS2_PLL8);
_FWDT(WDT_ON & WDTPSA_512 & WDTPSB_1);//開(kāi)啟看門(mén)狗,1024ms復(fù)位
_FBORPOR(PBOR_OFF&MCLR_EN);//掉電復(fù)位禁止,MCLR復(fù)位時(shí)能
int main (void)
{
    IO_init();
    ClrWdt();//清看門(mén)狗
    T1_init();
    ClrWdt();//清看門(mén)狗
    ADC_init();
    ClrWdt();//清看門(mén)狗
    I2C_init();
    ClrWdt();//清看門(mén)狗
    //USATRT_init();
    ClrWdt();//清看門(mén)狗
   
    //CAN發(fā)送ID
    TX0_id = 0x18104040;//模擬量輸入發(fā)送id
    TX1_id = 0x18104041;
   // TX2_id = 0x1FFFFFFF;//
   
    //CAN接收ID
    RX1_F0id = 0x18200303;
    RX1_F1id = 0x1FFFFFFF;
    RX1_Mid  = 0x1FFFFFFF;
   
    //------
    ClrWdt();//清看門(mén)狗
    CAN_init_C1();
    ClrWdt();//清看門(mén)狗
   
    TRISDbits.TRISD1 = 1;//RUN_1點(diǎn)亮
    Delay(50);
    ClrWdt();//清看門(mén)狗
    while(1)
    {
        Lamp_flashing = 1;
        ClrWdt();
        
       if(CANexchange[0] == 0);//交換數(shù)據(jù)
        {
            CAN1_data_change0[0] = CAN_receive_finish[0][0];
            CAN1_data_change0[1] = CAN_receive_finish[0][1];
            CAN1_data_change0[2] = CAN_receive_finish[0][2];
            CAN1_data_change0[3] = CAN_receive_finish[0][3];
            CAN1_data_change0[4] = CAN_receive_finish[0][4];
            CAN1_data_change0[5] = CAN_receive_finish[0][5];
            CAN1_data_change0[6] = CAN_receive_finish[0][6];
            CAN1_data_change0[7] = CAN_receive_finish[0][7];
        
            CANexchange[0] == 1;
        }
        if(CANexchange[1] == 0)
        {
            CAN1_data_change1[0] = CAN_receive_finish[1][0];
            CAN1_data_change1[1] = CAN_receive_finish[1][1];
            CAN1_data_change1[2] = CAN_receive_finish[1][2];
            CAN1_data_change1[3] = CAN_receive_finish[1][3];
            CAN1_data_change1[4] = CAN_receive_finish[1][4];
            CAN1_data_change1[5] = CAN_receive_finish[1][5];
            CAN1_data_change1[6] = CAN_receive_finish[1][6];
            CAN1_data_change1[7] = CAN_receive_finish[1][7];
            
            CANexchange[1] == 1;
        }
        if(CANexchange[2] == 0)
        {
            CAN1_data_change2[0] = CAN_receive_finish[2][0];
            CAN1_data_change2[1] = CAN_receive_finish[2][1];
            CAN1_data_change2[2] = CAN_receive_finish[2][2];
            CAN1_data_change2[3] = CAN_receive_finish[2][3];
            CAN1_data_change2[4] = CAN_receive_finish[2][4];
            CAN1_data_change2[5] = CAN_receive_finish[2][5];
            CAN1_data_change2[6] = CAN_receive_finish[2][6];
            CAN1_data_change2[7] = CAN_receive_finish[2][7];
            
            CANexchange[2] == 1;
       }
      
      
       //TX0_id發(fā)送
        if((CAN1send_EN == 0)&&(CAN1_sendCLC >25))
        {
            if(AD_change1 == 0)
            {
        
                CANsendID1 = TX0_id;
                CANsend_data1[0] = CAN1_data[0][0];
                CANsend_data1[1] = CAN1_data[0][1];
                CANsend_data1[2] = CAN1_data[0][2];
                CANsend_data1[3] = CAN1_data[0][3];
               
                CANsend_data1[4] = CAN1_data[0][4];
                CANsend_data1[5] = CAN1_data[0][5];
                CANsend_data1[6] = CAN1_data[0][6];
                CANsend_data1[7] = CAN1_data[0][7];
            }
            CAN_Life();
            if(AD_change1 == 1)
            {
                Life_Data ++;
                CANsendID1 = TX1_id;
                CANsend_data1[0] = CAN2_data[0][0];
                CANsend_data1[1] = CAN2_data[0][1];
                CANsend_data1[2] = CAN2_data[0][2];
                CANsend_data1[3] = CAN2_data[0][3];
               
                CANsend_data1[4] = 0;
                CANsend_data1[5] = 0;
                CANsend_data1[6] = 4;
                CANsend_data1[7] = Life_Version;
            }
            CAN1send_EN = 1;//發(fā)送
            AD_change1++;
            if(AD_change1 >1)
                AD_change1 = 0;
            CAN1_sendCLC = 0;
        }
        Send_C1TX0();
         
       //TX1_id發(fā)送
     
       // Life_Data =0;
//       CAN_Life();
//      
//       if((CAN1send_EN1 == 0)&&(CAN2_sendCLC >400))
//       {
//            if(AD_change2 == 0)
//            {
//                //Delay(50);
//               // AD_change[0]=1;
//                AD_change_2();
//
//                Life_Data ++;
//                CAN1_data[1][0] = AD_buff2[0];
//                CAN1_data[1][1] = AD_buff2[1];
//                CAN1_data[1][2] = AD_buff2[2];
//                CAN1_data[1][3] = AD_buff2[3];
//                CAN1_data[1][4] = AD_buff2[4];
//                CAN1_data[1][5] = AD_buff2[5];
//                CAN1_data[1][6] = Life_Data;
//                CAN1_data[1][7] = Life_Version;
//
//                CANsendID2 = TX1_id;
//                CANsend_data2[0] = CAN1_data[1][0];
//                CANsend_data2[1] = CAN1_data[1][1];
//                CANsend_data2[2] = CAN1_data[1][2];
//                CANsend_data2[3] = CAN1_data[1][3];
//                CANsend_data2[4] = CAN1_data[1][4];
//                CANsend_data2[5] = CAN1_data[1][5];
//                CANsend_data2[6] = CAN1_data[1][6];
//                CANsend_data2[7] = CAN1_data[1][7];
//
//              //   CANsend_data2[7] = Life_Data;
//                //CANsend_data2
//            }
//            CAN1send_EN1 = 0;
//            AD_change2++;
//            if(AD_change2 > 1)
//                AD_change2 = 0;
//            CAN2_sendCLC = 0;
//       }
        //Life_Data ++;
      
       //Send_C1TX0_1();
       //--------------------------------------------
       //發(fā)送完成延時(shí)
       Delay(5);
      
         
        
        

     
   
    //  CAN 模塊收、發(fā)錯(cuò)誤處理
    //--------------------------------------------------------------------------
        if ((C1INTFbits.TXBO==1)||(C1INTFbits.TXBP==1)||(C1INTFbits.RXEP))
        {
            IEC0bits.T1IE  =  0;
         
            CAN_init_C1();//接收錯(cuò)誤被動(dòng)復(fù)位
            IEC0bits.T1IE  =  1;
        }  
   
    }   
     
}
//詳情見(jiàn)附件

6010A_AD.X.rar

283.44 KB, 下載次數(shù): 9, 下載積分: 黑幣 -5

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧美aⅴ| 暖暖日本在线视频 | 欧美日韩在线观看视频 | 欧美在线 | 国内自拍偷拍一区 | 亚洲毛片 | 在线观看www | 国产 日韩 欧美 中文 在线播放 | 国产成人免费视频网站视频社区 | 免费黄色特级片 | 国产在线精品一区二区三区 | 日韩成人av在线 | 综合精品 | 成人免费看片 | 搞av.com| 国产 日韩 欧美 中文 在线播放 | 中文字幕亚洲精品 | 91久久精品日日躁夜夜躁国产 | 九色 在线 | 免费高潮视频95在线观看网站 | 国产日韩一区二区 | 少妇精品亚洲一区二区成人 | 一区二区三区在线 | 二区久久 | 天天躁日日躁狠狠躁2018小说 | 神马久久av | 精品久久久久久国产 | 久久久国产一区二区三区四区小说 | 国产亚洲区 | 国产精品一区二区视频 | 久久久精品 | 欧美极品在线 | 天堂影院av | 情侣酒店偷拍一区二区在线播放 | 免费黄色a视频 | 91久久精品国产91久久性色tv | 精品国产乱码久久久久久久久 | 7777精品伊人久久精品影视 | 日日日干干干 | 亚洲一区二区在线免费观看 | 青青草av在线播放 |