我写的这段代码,请指正!

[复制链接]
879|1
手机看帖
扫描二维码
随时随地手机跟帖
dxfshsh|  楼主 | 2020-1-21 20:38 | 显示全部楼层 |阅读模式
本帖最后由 dxfshsh 于 2020-1-21 20:43 编辑

         /* set the data */          if(transmit_message->tx_dlen>0)
          {
               i = transmit_message->tx_dlen-1 / 4U;
               for( j=0; j<i+1; j++)
              {
                    CAN_TMDATA0(can_periph, mailbox_number) = *(uint32_t *)p_temp;
                    p_temp = ((uint32_t)((uint32_t)p_temp + 4U));

              }
          }
是不是更简洁,如有错误请及时指正!万分感谢!!!!

不好意思发错地方了,不会删帖哈!!!


使用特权

评论回复
lvben5d| | 2020-1-23 19:20 | 显示全部楼层
你的发送邮箱就用1个,你确保代码执行第2次发送的时候,前1个发送邮箱是empty吗?  别看CAN 波特率可以上到1Mbit/s  算上32bit的帧类型 ID 等  实际数据带宽要除以2左右,当然比起串口那个115200bps, 还是快了不少。 不过比起你MCU指令执行时间,那还是不够快的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

152

帖子

0

粉丝