STM32的can通信,发不出数据

2019-10-12 13:57发布

#include <stm32f10x_lib.h> #include "sys.h" #include "usart.h" #include "delay.h" #include "led.h" #include "key.h" #include "exti.h" #include "can.h"
int main(void) {     u8 key;     u8 i=0,t=0;     u8 cnt=0;     u8 canbuf[8];     u8 res;     u8 mode=0;//CAN工作模式;0,普通模式;1,环回模式     Stm32_Clock_Init(9); //系统时钟设置     delay_init(72); //延时初始化     uart_init(72,9600); //串口初始化     LED_Init(); //初始化与LED 连接的硬件接口     flag=CAN_Mode_Init(1,8,9,4,mode);//CAN初始化,波特率500Kbps      if(flag==0)  for(i=0;i<=2;i++)    //检验can是否完成初始化,用灯指示 {     LED0=0;     LED1=1;     delay_ms(300);     LED0=1;     LED1=0;     delay_ms(300); }     if(flag!=0) for(i=0;i<=2;i++) {     LED0=1;     LED1=0;     delay_ms(300); }     LED0=1;     LED1=1;  
while(1) { for(i=0;i<8;i++) { canbuf=cnt+i;//填充发送缓冲区 } res=Can_Send_Msg(canbuf,8);//发送8个字节 if(res==0)   LED0=res; else LED1=!res;              //开发板上LED1亮(即发不出数去)为什么发送不出去。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 delay_ms(1000); } }

硬件连接:迷你版上外接can收发器模块,利用示波器看TX引脚~~~~结果显示为:发不出数据,怎么解决?
急求!!!can程序用的是战舰版上的,自己稍加修改了下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
21条回答
霖一
1楼-- · 2019-10-13 08:16
回复【6楼】正点原子:
---------------------------------
如果测canh和canl引脚的,也没有变化
霖一
2楼-- · 2019-10-13 08:39
 精彩回答 2  元偷偷看……
正点原子
3楼-- · 2019-10-13 13:06
回复【9楼】霖一:
---------------------------------
回环模式,是可以在CAN_TX脚测到波形的.
你测试下回环模式.
霖一
4楼-- · 2019-10-13 15:04
回复【10楼】正点原子:
---------------------------------
回环模式下,TX波形一直是高电平,没变化
正点原子
5楼-- · 2019-10-13 20:20
那没辙了,等我有时间,我测试下mini板代码吧.
霖一
6楼-- · 2019-10-13 21:18
回复【12楼】正点原子:
---------------------------------
谢原子哥,这几天整的我有种跳楼的冲动~~收发芯片  sn65hvd230q-q1

一周热门 更多>