本帖最后由 陌尘 于 2018-12-17 18:50 编辑
我们做了个板子,主控用的STM32F103C8T6,然后把程序下进去之后与阿波罗板用CAN通信,但是通信不通....
然后我把程序下到精英板上,就可以和阿波罗板通信成功...
波特率配的是500Kbps,CAN用的原子老师的库,程序如下:
[mw_shl_code=c,true]
#include "sys.h"
#include "delay.h"
#include "can.h"
#include "usart.h"
u8 CAN_RX_BUF[8];
u8 CAN_TX_BUF[8] = {1,2,3,4,5,6,7,8};
int main()
{
SystemInit();
delay_init();
uart_init(115200);
if(CAN_Mode_Init(CAN_SJW_1tq,CAN_BS2_8tq,CAN_BS1_9tq,4,CAN_Mode_Normal))//500kbps
{
printf("CAN初始化失败
");
}
printf("初始化完成
");
while(1)
{
if(Can_Send_Msg(CAN_TX_BUF,8))
{
printf("发送失败
");
}else printf("发送成功
");
if(Can_Receive_Msg(CAN_RX_BUF))
{
printf("接收到数据
");
}
delay_ms(100);
for(int i = 0;i<8;i++)
{
CAN_TX_BUF
++;
}
}
}
[/mw_shl_code]
关于CAN的电路部分如下:
其中boot0和外部晶振的问题已经找到了,但是修复之后还是不通...请各位分析一下,问题在哪里,感激不尽...
原子老师,我把120欧的电阻给拆了就可以了,这是为什么?
一周热门 更多>