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 22:08
 精彩回答 2  元偷偷看……
xijiaqi
2楼-- · 2019-10-14 02:28
回复【4楼】霖一:

原子哥,环回模式,硬件调试正常,但用示波器看不到波形;  
            正常模式,硬件调试不正常,示波器看不到波形;
            附上硬件调试图

---------------------------------
楼主的这个问题解决了没,我也是和你的一样,会换模式,硬件调试正常,但是用示波器看不到波形,正常模式,硬件调试不正常,示波器也看不到波形,最终是如何解决的呢?
everyday666
3楼-- · 2019-10-14 03:12
回复【14楼】霖一:
--------------------------------
楼主中断里面用了Printf 函数,中断里面貌似不能使用这个函数,楼主修改一下再试试。最近我也遇到同样的问题
cpholr
4楼-- · 2019-10-14 07:34
楼主你买到假SN65HVD230Q芯片了。
傅万春
5楼-- · 2019-10-14 07:45
楼主问题解决了吗
carrotzjg
6楼-- · 2019-10-14 10:26
 精彩回答 2  元偷偷看……

一周热门 更多>