F103和F407通过CAN总线通讯,在UCOSIII中,测试得到的通讯速度才28KByte,不知道是什么问题?求助!
F103 CAN初始化代码
[mw_shl_code=c,true]//CAN初始化,波特率500Kbps
CAN_Mode_Init(CAN_SJW_1tq, CAN_BS2_8tq, CAN_BS1_9tq, 4, 0);
[/mw_shl_code]
F103任务代码
[mw_shl_code=c,true]void can1_tx(void)
{
OS_ERR err;
CanTxMsg tx;
u8 count = 1, i = 0;
u32 eid;
CAN_IdTypeDef id;
id.SourId = CAN_ID;
id.PrioId = 1;
id.ArguId = 3;
id.DestId = 1;
eid = CAN_ID_Build(&id);
while (1)
{
tx.IDE = CAN_Id_Extended;
tx.ExtId = eid;
tx.DLC = 8;
for (i = 0; i < tx.DLC; i++)
{
tx.Data = count;
count++;
}
tx.RTR = CAN_RTR_Data;
if (CAN_TxStatus_NoMailBox != CAN_Transmit(CAN1, &tx))
OSFlagPost(&RT_FLAG, TX_FLAG, (OS_OPT)OS_OPT_POST_FLAG_SET, &err);
}
}[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
如果是的话,差不多是这个速度了
500K/125*8=32K
一周热门 更多>