关键词不能为空

当前您在: 主页 > 英语 >

can功能描述

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-01 23:44
tags:

-

2021年2月1日发(作者:imat)


/* **************************************** ************************


**


功能描述


:


接收到来自


PC


机串口通信发来的数据后


,

将所有接收数据用


CAN


转发到从实验板


(



CAN)


****** ************************************************** ******* */


#include


系列的头文件


*/


char


CAN_TX_Adress_H,CAN_TX_Adress_L;


/* CAN


发送邮箱标识符高低字



*/


char


CAN_RX_Adress_H,CAN_RX_Adress_L;


/* CAN


接收邮箱标识符高低字



*/


int CAN_FLAG; /* =1


接收到


CAN


数据


,=0


未接收到数据


*/


unsigned char receive_count=0; /* 232


串口接收数据个数寄存器


*/


unsigned char send_count=0; /* 232


串口发送数据个数寄存器


*/


unsigned char *pointer; /* 232


串口发送指针


*/


unsigned char SciReceiveFlag; /*=1

< p>
串口收到


8


个数据


,



0


未收到


8


个数据


*/


unsigned char receive232[20]; /* 232


串口接收数据数组


*/


unsigned char send232[20]; /* 232


串口发送数据数组


*/



/* ************************************ ****************************


**







: initial()


**


功能描述


:


系统初始化子程序,放在程序首部



* ************************************************** ************ */


void initial()


{


INTCON=0x00; /* bit7-bit0:


关总中断


*/


ADCON1=0X07; /*


设置数字输入输出口


*/


PIE1=0; /* PIE1


的中断不使能


*/


PIE2=0; /* PIE2


的中断不使能


*/


PIE3=0; /* PIE3


的中断不使能


*/


}



/* ************************ ****************************************


**







: sciinitial()


**


功能描述


:


串行通讯初始化子程序



****** ************************************************** ******* */


void sciinitial()


{


SPBRG=25; /* 4M,


波特率


9600


时为


SPBRG



25 */


TXSTA=0x04; /*


选择异步高速方式传输


8


位数据


*/


RCSTA=0x80; /*


允许串行口工作使能


*/


TRISC=TRISC|0X80; /* RC7(RX)


设置为输入方式


*/


TRISC=TRISC&0Xbf; /* RC6(TX)


设置为输出


*/


PIE1=PIE1|0x20; /*


允许串行通讯接口接收中断使能


*/


RCIP=0; /*


设置


SCI< /p>


接收中断为低优先级中断


*/


PIE1=PIE1|0x10; /*


允许中断发送


*/


TXIP=0; /*


低优先级中断


*/


CREN=1; /*


允许串口接收数据


*/


// TXEN=1; /*


允许串口发送数据


*/


}



/* *********** ************************************************** ***


**







: initcan()


**


功能描述


: CAN


初始化子程序,采用标准标识符,正常工作模式



****************************************** ********************* */


void initcan()


{


/* ************


设置对


CAN


进行配置


******* ******** */


TRISB=(TRISB|0X08)&0XFB; / *


设置


CANRX/RB3


输入


,CANTX/RB2


输出


*/


CANCON=0X80; /* CANCON


< p>
bit7-5:1XX


请求配置


*/


while((CANSTAT&0X80)==0) /* CAN

< br>状态寄存器。


bit7-5:100


配置方式

< p>
*/


{


;


} /*


等待进入


CAN


配置模式


OPMODE=100 */


/* ************


设置对


CAN


进行配置

*************** */



/* ***********


波特率设置


************************** */


BRGCON1=0X01; /* Sync_Seg(bit7-6)=1TQ,B RP(bit5-0)=1





TQ=((2*(BRP+1))/Fosc=4/4M=1us */


BRGCON2=0X90; /*bit7=1


自由编程


,bit6=0


总线在采样点采样


1



;phase_Seg1(bit5-3)=3TQ;Prog_ Seg(bit2-0)=1TQ*/


BRGCON3=0X42; /*


设置


Phase_Seg2(bit2-0)=3TQ */


/*


标称位时间=


TQ*(Sync_Seg+ Prop_Seg+ Phase_seg1+ Phase_seg2)


=(1+1+3+3)TQ



8TQ,


位率


=1/(8*1U)=0.125MHz */



/*


设置发送邮箱


0


标识符


:=0x019F */


CAN_TX_Adress_H=0x33; //CAN


高地址标识符,应与发送方标识符相同



CAN_TX_Adress_L=0xe0; //CAN


低地址标识符



CAN_TX_Adress_L=CAN_TX_Adress_L&0xe0;



/*


设置接收邮箱


0


标识符


:1=0x04CA */


CAN_RX_Adress_H=0x99; //CAN


高地址标识符



CAN_RX_Adress_L=0x55; //CAN


低地址标识符,应与发送方标识符相同



CAN_RX_Adress_L=CAN_RX_Adress_L&0xe0;



/* ******


设置发送邮箱


0


和初始发送的数据


***** */


TXB0CON=0X03; /* bit1-0:


发 送优先级


,


设置


TXB0


为最高优先级


3 */


TXB0SIDL=CAN_TX_Adress_L&0xe0;/* bit3=0


标准标识符


,bit7-5:


标准标识 符


2-0



*/


TXB0SIDH=CAN_TX_Adress_H; /*


标准标识符的


10-3



*/


TXB0DLC=0X08; /*


设置数据长度为


8


个字节


*/


TXB0D0=0X00; /*


写发送缓冲器数据区数据初值


*/


TXB0D1=0X01; /*


写发送缓冲器数据区数据初值


*/


TXB0D2=0X02;


TXB0D3=0X03;


TXB0D4=0X04;


TXB0D5=0X05;


TXB0D6=0X06;


TXB0D7=0X07;



RXB0SIDL=CAN_RX_Adress_L&0xe0;/* bit3=0


标准标识符


,bit7-5:


标准标识 符


2-0



*/


RXB0SIDH=CAN_RX_Adress_H; /*


标准标识符的


10-3



*/


RXB0CON=0X20; /* bit6-5=01


只接收有效的标准标识符信息


*/


RXB0DLC=0X08; /*


设置接收缓冲器


0


数据区长度


8


个字节


*/


RXB0D0=0X02; /*

< br>初始化接收缓冲器


0


的数据区数据


*/


RXB0D1=0X03; /*


初始化接收缓冲 器


0


的数据区数据


*/


RXB0D2=0X04;


RXB0D3=0X05;


RXB0D4=0X00;


RXB0D5=0X00;


RXB0D6=0X00;


RXB0D7=0X00;



/* *******


初始化接收滤 波器


0


和接收屏蔽


********* ******* */


RXF0SIDH=CAN_RX_Adress_H;

-


-


-


-


-


-


-


-



本文更新与2021-02-01 23:44,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/595887.html

can功能描述的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文