• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

求助:dsPIC30F6014.的can模块使用问题

我使用的是dsPICDEMTM 1.1开发板,该板上有一块dsPIC30F6014.
我现在要把ad采样来的数据传到can总线上,可是我编的程序总是实现不了这个功能,感觉是数据的结构错了,可又不知道怎么改,想请教前辈指点一下.
我对can模块的控制程序如下:

//全局变量,用于存储ad 采样来的数据
unsigned int RPValue[] = {1,2,3};

//局部变量,用于向can传送数据
unsigned char Txdata[]={'0','0','0','0','0','0','0','0','\0'};

//把要传送的RPValue[]数据付给Txdata[],临时设计传一个
Txdata[7]=(unsigned char)RPValue[0];

CAN1SetOperationMode(CAN_IDLE_CON&CAN_MASTERCLOCK_1&CAN_REQ_OPERMODE_CONFIG& CAN_CAPTURE_DIS);
CAN1Initialize(CAN_SYNC_JUMP_WIDTH2&CAN_BAUD_PRE_SCALE(2),
CAN_WAKEUP_BY_FILTER_DIS&CAN_PHASE_SEG2_TQ(5)&
CAN_PHASE_SEG1_TQ(4)&CAN_PROPAGATIONTIME_SEG_TQ(4)&
CAN_SEG2_FREE_PROG&CAN_SAMPLE1TIME);
tx_rx_no=0;
CAN1SetTXMode(tx_rx_no,CAN_TX_STOP_REQ&CAN_TX_PRIORITY_HIGH);
datalen=8;
CAN1SendMessage((CAN_TX_SID(1920))&CAN_TX_EID_DIS&CAN_SUB_NOR_TX_REQ,
(CAN_TX_EID(12344))&CAN_NOR_TX_REQ,Txdata,datalen,tx_rx_no);
CAN1SetOperationMode(CAN_IDLE_CON&CAN_CAPTURE_DIS&
CAN_MASTERCLOCK_1&CAN_REQ_OPERMODE_NOR);
全部回复(0)
正序查看
倒序查看
现在还没有回复呢,说说你的想法