⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 can_test.c

📁 嵌入式软件构件:TMR计时器管理、CLK实时时钟、KEY键盘扫描、LED数码显示、LCD显示、COMM串口通信
💻 C
字号:
#include "..\includes\includes.H"
extern CAN_MSG CAN1TxMsg;
extern CAN_MSG CAN2TxMsg; // TX and RX Buffers for CAN message

extern CAN_MSG CAN1RxMsg;
extern CAN_MSG CAN2RxMsg; // TX and RX Buffers for CAN message

INT8U  CANRxCh;//记录接收通道
CAN_MSG * CANPtr;
CANFRAME CANRxData;

CAN_EXT STAT_PTR CanSendData(HFSM *me);


STAT_PTR CanRxTxData(HFSM *me)
{
    CANFRAME txmsg;//待发送数据
    switch (SIG(me)) {
        case ENTRY_SIG:
            CANRxCh = CAN1;
            return (STAT_PTR)0;
	    case  TIMEOUT_SIG:                  //2秒发送一次CAN数据
	        txmsg.len = 6;                  //发送数据长度<=8
	        txmsg.id  = EXP_STD_ID;         //id 用11位
            txmsg.CANBuf.CANData[0] = 0x01;
            txmsg.CANBuf.CANData[1] = 0x02;
            txmsg.CANBuf.CANData[2] = 0x03;
            txmsg.CANBuf.CANData[3] = 0x04;
            txmsg.CANBuf.CANData[4] = 0x55;
            txmsg.CANBuf.CANData[5] = 0x66;
            txmsg.CANBuf.CANData[6] = 0x77;
            txmsg.CANBuf.CANData[7] = 0x88;
            CANPutTxMsg(CANRxCh,&txmsg);    //向CAN口发送数据
        	TmrStart(1,200);
        	return (STAT_PTR)0;
        case CAN_RX_SIG:
            CANRxData = CANGetRxMsg(PAR(me));//从不同的CAN接收缓冲区取数据。
            CANRxCh = PAR(me);
            return (STAT_PTR)0;
    }
	return  (STAT_PTR)&HfsmTop;
}

/******************************************************************************
**                            End Of File
******************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -