1、如何实现CAN通讯发送32位float型数据?库函数定义的是16位无符号整数
extern void
CAN_sendMessage(uint32_t base, uint32_t objID, uint16_t msgLen,
const uint16_t *msgData);
2、程序用can传递某个变量的值,该变量是总中断更新一次,如何实现数据段的更新?
把一下程序放在中断里,可以实现吗?
// Initialize the transmit message object data buffer to be sent
//
txMsgData=pi_pos.Fbk;
//
// Start CAN module A operations
//
CAN_startModule(CANA_BASE);
//
// Transmit messages from CAN-A
//
CAN_sendMessage(CANA_BASE, TX_MSG_OBJ_ID, MSG_DATA_LENGTH, txMsgData);
3、需要用到多个邮箱,是否重复一下程序即可?
CAN_setupMessageObject(CANA_BASE, TX_MSG_OBJ_ID, 0x95555555,
CAN_MSG_FRAME_EXT, CAN_MSG_OBJ_TYPE_TX, 0,
CAN_MSG_OBJ_NO_FLAGS, MSG_DATA_LENGTH);
// Initialize the transmit message object data buffer to be sent
//
txMsgData=pi_pos.Fbk;
//pi_id.fbk;
//
// Start CAN module A operations
//
CAN_startModule(CANA_BASE);
//
// Transmit messages from CAN-A
//
//while(1)
//
// Comment for infinite transmissions
//
//for(i = 0; i < TXCOUNT; i++)
//
//{
CAN_sendMessage(CANA_BASE, TX_MSG_OBJ_ID, MSG_DATA_LENGTH, txMsgData);
//