程序中的两个头文件:
#include <SJA_nnyt.H> //SJA存储器定义头文件
#include <SJA_nnyt.C> //SJA子程序文件
大家需要的话联系我:nnyt@
同时提供can实验开发板给初学者
1 CAN控制器为SJA1000,驱动器为TJA1050,电源隔离;
2 提供详尽的源程序,可根据用户需求编写程序
联系我:13671387011(短信联系,***详谈)
***: 531706356
调试好的can总线程序(c语言)
//
void Init_Cpu(void);
//初始化单片机
void Sja_1000_Init(void);
//初始化SIA
//
void main(void)
{
s=0;
//配置sja1000出现错误时,重新初始化
do{
Sja_1000_Init();
}while(s!=0);
Init_Cpu();
//initialize mcu
flag_init=0x00;
//保存中断寄存器值清零
while(1)
{
if(rcv_flag)
//if there is receive interrupt
{
rcv_flag=0;
//接收标志位清零
BCAN_DATA_RECEIVE(rcv_data);
//接收数据
BCAN_CMD_PRG(RRB_CMD);
//释放接收缓冲区
flag_send=1;
//发送命令置位
}
if(flag_send)
{
flag_send=0;
//发送位清零
send_data[0]=rcv_data[2];
//接收到的"发送方ID10~ID3"
send_data[1]=rcv_data[3];
//接收到的"发送方ID2~ID0"和要求的数据长度
send_data[2]=0x88;
send_data[3]=0x89;
BCAN_DATA_WRITE(send_data);
//发送数据
BCAN_CMD_PRG(TR_CMD);
//置位发送请求位
for(count_k=0;count_k<200;count_k++)
display(a);
//***显示"5"
}
if (err_flag)
//错误中断
{
for(count_k=0;count_k<280;count_k++)
display(c);
//错误显示"1"
err_flag=0;
//错误标志位清零
Sja_1000_Init();
//初始化SJA
}
display(b);
//显示"p"
}
}
void ex0_int(void) interrupt 0 using 1
//外部中断0
{
SJA_BCANAdr=REG_INTERRUPT;
//指针指向中断寄存器
flag_init=*SJA_BCANAdr;
//保持中断寄存器值
}
void Init_Cpu(void)
//单片机初始化,开放外部中断0
{
PX0=1;
EX0=1;
EA=1;
}
void Sja_1000_Init(void)
{
s=BCAN_CREATE_COMMUNATION();
//SJA自测
s=BCAN_ENTER_RETMODEL();
//进入复位
s=BCAN_SET_BANDRATE(0x04);
//设置波特率100K/S
s=BCAN_SET_OBJECT(0xaa,0x00); //设置地址ID:550
s=BCAN_SET_OUTCLK(0xaa,0x48); //设置输出方式,禁止COLOCKOUT输出
s=BCAN_QUIT_RETMODEL();
//退出复位模式
SJA_BCANAdr=REG_CONTROL;
//地址指针指向控制寄存器
*SJA_BCANAdr|=0x1e;
//开放错误\接收\发送中断
}
以下是几款can开发板:
http://item./auction/item_detail-0db2-6e3c6f5717a53a6802d3068fd054ecf3.jhtml
这是一款针对初学者的
http://item./auction/item_detail-0db2-84528f10e90fcdcc97b99194d14201b3.jhtml
这是一款带有8路12位adc采集功能的
http://item./auction/item_detail-0db2-58cd65ef6489e9d4f22176c16a0f6be6.jhtml
这是温度测量的
http://item./auction/item_detail-db2-155e51885e39***bca4ffe21105e566b5.htm
这是实现usb转can的
同时本人接受can项目开发:设计、制作pcb板、焊接、编程、调试以及技术支持服务。
需要的话,请联系我***:531706356 手机:13106551527 MSN:nnyt@ 邮箱:nnyt@
周一到周五我晚上六点到七点,***在线,其它时间请联系我手机,有时间我就上线,谢谢

本博客作品采用
版权所有,未经协议***禁止转载。