打印
[STM32F1]

CAN 发送数据少了一帧

[复制链接]
1432|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hhhxj|  楼主 | 2021-5-19 14:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
CAN, AN, AC

大家帮忙 分析下为什么少了一帧数据

使用特权

评论回复
沙发
hhhxj|  楼主 | 2021-5-19 14:16 | 只看该作者
/*******************************************************************************
功 能: CAN 数据处理函数
*******************************************************************************/
void DealCanSlave(void )
{
        CANMSG *Pcanmsg =&CanMsgData ;
        Pcanmsg->std_id=0x761;
       
        TxHeader.StdId=CanMsgData.std_id;
        TxHeader.ExtId = 0x01;
        TxHeader.RTR = CAN_RTR_DATA;
        TxHeader.IDE = CAN_ID_STD;
        TxHeader.DLC = 8;
        TxHeader.TransmitGlobalTime = DISABLE;
       
                Pcanmsg->TxData[0]=LOBYTE(pv_sys_cond_out/10);  // pv_sys_cond_out/10;
                Pcanmsg->TxData[1]=HIBYTE(pv_sys_cond_out/10);
                Pcanmsg->TxData[2]=0x01;
                Pcanmsg->TxData[3]=0x01;
                Pcanmsg->TxData[4]=0x01;
                Pcanmsg->TxData[5]=0x01;
                Pcanmsg->TxData[6]=0x01;
                Pcanmsg->TxData[7]=0x01;
                HAL_CAN_AddTxMessage(&CAN1_Handler, &TxHeader, Pcanmsg->TxData, &Pcanmsg->TxMailbox) ;

       
                Pcanmsg->std_id=0x762;
       
        TxHeader.StdId=CanMsgData.std_id;
        TxHeader.ExtId = 0x01;
        TxHeader.RTR = CAN_RTR_DATA;
        TxHeader.IDE = CAN_ID_STD;
        TxHeader.DLC = 8;
        TxHeader.TransmitGlobalTime = DISABLE;
       
                Pcanmsg->TxData[0]=LOBYTE(pv_sys_cond_out/10);  // pv_sys_cond_out/10;
                Pcanmsg->TxData[1]=HIBYTE(pv_sys_cond_out/10);
                Pcanmsg->TxData[2]=0x02;
                Pcanmsg->TxData[3]=0x02;
                Pcanmsg->TxData[4]=0x02;
                Pcanmsg->TxData[5]=0x02;
                Pcanmsg->TxData[6]=0x02;
                Pcanmsg->TxData[7]=0x02;
                HAL_CAN_AddTxMessage(&CAN1_Handler, &TxHeader, Pcanmsg->TxData, &Pcanmsg->TxMailbox) ;


                Pcanmsg->std_id=0x763;
       
        TxHeader.StdId=CanMsgData.std_id;
        TxHeader.ExtId = 0x01;
        TxHeader.RTR = CAN_RTR_DATA;
        TxHeader.IDE = CAN_ID_STD;
        TxHeader.DLC = 8;
        TxHeader.TransmitGlobalTime = DISABLE;
       
                Pcanmsg->TxData[0]=LOBYTE(pv_sys_cond_out/10);  // pv_sys_cond_out/10;
                Pcanmsg->TxData[1]=HIBYTE(pv_sys_cond_out/10);
                Pcanmsg->TxData[2]=0x03;
                Pcanmsg->TxData[3]=0x03;
                Pcanmsg->TxData[4]=0x03;
                Pcanmsg->TxData[5]=0x03;
                Pcanmsg->TxData[6]=0x03;
                Pcanmsg->TxData[7]=0x03;
                HAL_CAN_AddTxMessage(&CAN1_Handler, &TxHeader, Pcanmsg->TxData, &Pcanmsg->TxMailbox) ;
               
                Pcanmsg->std_id=0x764;
       
        TxHeader.StdId=CanMsgData.std_id;
        TxHeader.ExtId = 0x01;
        TxHeader.RTR = CAN_RTR_DATA;
        TxHeader.IDE = CAN_ID_STD;
        TxHeader.DLC = 8;
        TxHeader.TransmitGlobalTime = DISABLE;
       
                Pcanmsg->TxData[0]=LOBYTE(pv_sys_cond_out/10);  // pv_sys_cond_out/10;
                Pcanmsg->TxData[1]=HIBYTE(pv_sys_cond_out/10);
                Pcanmsg->TxData[2]=0x04;
                Pcanmsg->TxData[3]=0x04;
                Pcanmsg->TxData[4]=0x04;
                Pcanmsg->TxData[5]=0x04;
                Pcanmsg->TxData[6]=0x04;
                Pcanmsg->TxData[7]=0x04;
                HAL_CAN_AddTxMessage(&CAN1_Handler, &TxHeader, Pcanmsg->TxData, &Pcanmsg->TxMailbox) ;               
}       

使用特权

评论回复
板凳
elephant00| | 2023-11-16 11:15 | 只看该作者
可能是总线负荷增加或数据吞吐量增加,导致数据传输速度跟不上数据的生成速度,从而导致数据丢失。

使用特权

评论回复
地板
万图| | 2024-8-1 07:28 | 只看该作者

就是因为它的作用就是在电子产品设备受到雷击浪涌与ESD静电放电或者其他瞬态电压时

使用特权

评论回复
5
Uriah| | 2024-8-1 08:31 | 只看该作者

这方便一般可以使用底涂的方式来改善

使用特权

评论回复
6
帛灿灿| | 2024-8-1 10:27 | 只看该作者

正常信号一般达不到导通电压

使用特权

评论回复
7
Bblythe| | 2024-8-1 11:30 | 只看该作者

在电子电路中电容一端接电阻

使用特权

评论回复
8
周半梅| | 2024-8-1 13:26 | 只看该作者

明确出电源的性能和稳定性是否符合预期和要求

使用特权

评论回复
9
Pulitzer| | 2024-8-1 14:29 | 只看该作者

电流若是偏大就会直接导致器件烧毁

使用特权

评论回复
10
童雨竹| | 2024-8-1 16:25 | 只看该作者

确保在开关管导通,

使用特权

评论回复
11
Wordsworth| | 2024-8-1 17:28 | 只看该作者

从而达到对电子设备进行静电保护

使用特权

评论回复
12
Clyde011| | 2024-8-1 18:31 | 只看该作者

齐纳二极管的缺点是不如TVS快

使用特权

评论回复
13
公羊子丹| | 2024-8-1 19:24 | 只看该作者

这样就可以制作出我们想要的邮票孔了。

使用特权

评论回复
14
好几遍vh| | 2024-8-31 18:03 | 只看该作者
如果CAN总线上的其他节点也在发送大量数据,可能会导致总线过载,出现仲裁失败的情况。

使用特权

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

本版积分规则

2

主题

28

帖子

0

粉丝