STM32F407芯片CAN数据发送邮箱寄存器状态不对的问题

2019-07-20 14:12发布

第一次使用STM32F407的芯片。调试CAN通讯,首先按照库函数,分别配置了125k,100k的波特率。能够使用CAN分析仪接收到数据。但是发现接收的数据不是自己想要的标准的数据帧,而是拓展的远程帧。
于是查看芯片手册,找到了CAN  发送邮箱标识符寄存器 (CAN_TIxR) (x=0..2)然后仿真,发现发送邮箱里的TIR寄存器不受控制。。。 。。。 所以发出的数据不对。为什么TIR寄存器不受控制呢?代码:发送时赋值的情况。
u8 mbox;
  u16 i=0;
  CanTxMsg TxMessage;
  TxMessage.StdId=0x12;                                         // ±ê×¼±ê궷û
  TxMessage.ExtId=0x12;                                   // éèÖÃà©Õ1±êê¾·û
  TxMessage.IDE=CAN_Id_Standard; // ±ê×¼Ö¡
//  TxMessage.RTR=CAN_RTR_Data;                 // êy¾YÖ¡
//        TxMessage.IDE=CAN_Id_Extended; // ±ê×¼Ö¡
  TxMessage.RTR=CAN_RTR_Data;                 // êy¾YÖ¡
  TxMessage.DLC=len;                                                // òa·¢ËíμÄêy¾Y3¤¶è
  for(i=0;i<len;i++)
  TxMessage.Data=msg;
仿真时监控的图片:


求高手!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。