历史上的今天
今天是:2024年11月23日(星期六)
2019年11月23日 | pic单片机驱动CAN接口收发数据C语言程序,11位标准标识符
2019-11-23 来源:51hei
/*********************************************
** 功能描述: CAN口测试,11位标准标识符**
*********************************************/
#include "p30f6014.h"
int failmemory[40];
_FWDT(WDT_OFF);
//_FOSC(CSW_FSCM_OFF & XT);
_FOSC(CSW_FSCM_OFF & XT_PLL4);
unsigned int buffer1;
unsigned int buffer2;
unsigned int buffer3;
unsigned int buffer4;
unsigned long int i = 0;
void initial1()
{
C1CTRLbits.REQOP = 0x4; //请求进入配置模式
C1CTRLbits.CANCKS = 0;
while (C1CTRLbits.OPMODE!=0x4){} //确认进入配置模式
C1TX0CON = 0x0003; //发送0邮箱配置,高优先级
C1TX0SID = 0x0020; //发送0标准标识符(ID),11位
C1TX0DLC = 0x01c0; //发送0数据长度,8字节
C1RX0CON = 0x0000; //接收0邮箱配置
C1RX0DLC = 0x0008; //接收0数据长度,8字节
C1RXF0SID = 0x0010; //接收滤波器0标准标识符(ID),11位
C1RXM0SID = 0xffff; //接收屏蔽0标准标识符
/*******波特率配置*******************************/
C1CFG1bits.SJW = 0x3;
C1CFG1bits.BRP = 0xE;
C1CFG2bits.SEG2PH = 0x7;
C1CFG2bits.SEG1PH = 0x7;
C1CFG2bits.PRSEG = 0x7;
C1CTRLbits.REQOP = 0x0; //请求进入正常模式
while (C1CTRLbits.OPMODE!=0x0){} //确认进入正常模式
return;
}
int main()
{
for (i=0;i<300000;i++){}
INTCON1=0x0000;
INTCON2=0x0000; //关闭所有中断
initial1();
while(1)
{
C1TX0B1 = 0xAAAA; //发送缓冲寄存器8字节
C1TX0B2 = 0x5555;
C1TX0B3 = 0x5555;
C1TX0B4 = 0xAAAA;
C1TX0CONbits.TXREQ = 1; //启动发送
while (C1TX0CONbits.TXREQ==1){} //等待发送完成
for (i=0;i<2;i++){}
if (C1RX0CONbits.RXFUL == 1)
{
buffer1 = C1RX0B1;
buffer2 = C1RX0B2;
buffer3 = C1RX0B3;
buffer4 = C1RX0B4;
C1RX0CONbits.RXFUL = 0;
for (i=0;i<300000;i++){}
}
}
}
下一篇:ICD2线序问题
史海拾趣
|
用avr做一个4位的led的动态显示,选了fdc6330l作为控制com端的开关。 结果显示1234的时候,第一位除了显示1,还显示2,只不过2的亮度很暗,后面这几位也是。 我认为是fdc6330l的响应速度太慢了。 所以想换个开关,开关要求耐压12v,5v的控制 ...… 查看全部问答> |
|
我使用的是SIM300C模块,用三线的简单串口与S3C2410连接。 现在网络是通上了,也能正常与服务器端进行发送接收! 当我向SIM300C发送命令的时候,他会反馈一些字符信息。 问题是当我正在向SIM300C发送命令、数据的时候,服务器端下发的数据也从串 ...… 查看全部问答> |
|
以大家熟悉的AT89C51为例,我想在一个机器周期内给P0和P1都赋值。这能达成吗?假设给P0赋值0xff ,给P1赋值0x00。用C语言该怎么编写。昨天和朋友讨论了好久也没结果,去CSDN那边,大家都觉得在一个机器周期内不可能。 我对数组什么的理解都很浅, ...… 查看全部问答> |
|
STM32 定时器与 PWM 快速使用入门要求:在 万利的开发板 EK-STM32F 上产生 周期为1秒,占空比分别为 50% 10%的 PWM 并且点亮 板上 ...… 查看全部问答> |
|
STM32F429I-discovery+FreeRTOS+STemWin STM32F429I-discovery+FreeRTOS+STemWin,小试了一下,刷屏速度还是很快的,比LPC1788快。本来是打算回来后周末移植的RTOS+emwin的,后来发现Demo里面都有现成的了,但是发现一下问题,就是有些demo会花屏,不知道是不是STemwin修改了有问题,你们 ...… 查看全部问答> |
|
第一次用洞洞板搭电路,这次把OLED和加速度加在一个洞洞板上,大体的硬件就差不多搭好,现在这要做软件方面的了,上我高大上的洞洞板电路,计划用我移植的TI的图形库做界面 得抓紧时间了 … 查看全部问答> |




