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-12 15:29
已经纠结2个礼拜了,哪位大神帮忙看看?
正点原子
2楼-- · 2019-10-12 19:52
回复【2楼】霖一:
---------------------------------
战舰板的代码移植过去,立马就可以的啊!!!
没有信号发出,是不是你测试有问题?
另外,回环测试,测试下.
霖一
3楼-- · 2019-10-12 20:00
 精彩回答 2  元偷偷看……
霖一
4楼-- · 2019-10-13 00:33
回复【3楼】正点原子:

回复【2楼】霖一:
---------------------------------
战舰板的代码移植过去,立马就可以的啊!!!
没有信号发出,是不是你测试有问题?
另外,回环测试,测试下.

---------------------------------
原子哥,你看看我的硬件调试图,can程序我没动,我只稍微修改了下main函数
正点原子
5楼-- · 2019-10-13 01:51
你波形是测试哪个引脚的波形啊???
霖一
6楼-- · 2019-10-13 04:44
回复【6楼】正点原子:
---------------------------------
TX引脚的

一周热门 更多>