#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程序用的是战舰版上的,自己稍加修改了下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
--------------------------------
楼主中断里面用了Printf 函数,中断里面貌似不能使用这个函数,楼主修改一下再试试。最近我也遇到同样的问题
一周热门 更多>