📄 main.c
字号:
#include "config.h"
#include "main.h"
#include "time.h"
#include "IncludeCan.H"
INT8U LEDSTATUS1;
INT8U LEDSTATUS2;
extern INT8U FFC;
extern INT32U FFCOUNT;
extern INT32U FCOUNT;
void delays(unsigned char del)
{
unsigned long j=50000;
j=j*del;
while(--j);
}
int main()
{
PINSEL1=0; //P0 upper 16 bits all GPIO
PINSEL2 = PINSEL2|0x00000004; //设置p1.16-p1.25用作GPIO,P1.26-P1.31用作JTEG
IO0DIR=0x00200000; //IODIR 0000 0001 0000 0000 0000 0001 0000 0001...P0.21 are output(beep)also TXD0,TXD1
IO1DIR=0x00030000; //I1DIR 0000 0000 0000 0011 0000 0000 0000 0000...P1.16, P1.17 are output(LEDs)
InitCAN (CAN1);
InitCAN (CAN2);
ConfigAFReg ();
UARTInit (UART0);
FFC=0;
FCOUNT=0;
FFCOUNT=0;
A_LED1_ON;
A_LED2_ON;
BEEP_ON;
delays(40);
BEEP_OFF;
delays(20);
BEEP_ON;
delays(40);
BEEP_OFF;
A_LED1_OFF;
A_LED2_OFF;
UARTRcvCounter = 0;
memcpy(UARTSendBuf, strHelloArmCan, 12); //启动时向串口发送初始化成功信号
UARTSend (UART0,12,UARTSendBuf);
while (1)
{
if (FFC==0)
{
FFCOUNT++;
if (FFCOUNT>187500000)
{
InitCAN (CAN1);
InitCAN (CAN2);
ConfigAFReg ();
UARTInit (UART0);
memcpy(UARTSendBuf, strCheckSunErr, 12); //5M启动向串口发送串口无数据接收错误
UARTSend (UART0,12,UARTSendBuf);
FFCOUNT=0;
}
FCOUNT=0;
}
else
{
FCOUNT++;
if (FCOUNT>156250)
{
UARTInit (UART0);
memcpy(UARTSendBuf, strDATErr, 12); //1/4S启动向串口发送串口接收超时错误
UARTSend (UART0,12,UARTSendBuf);
FFC=0;
UARTRcvCounter=0;
FCOUNT=0;
}
FFCOUNT=0;
}
if ((CANRcvCyBufApp[CAN1].WritePoint != CANRcvCyBufApp[CAN1].ReadPoint)||CANRcvCyBufApp[CAN1].FullFlag)
{
if (U0LSR&0x20)
{
CANSendToRS232 (CAN1, UART0, &CANRcvCyBufApp[CAN1] );
}
}
//*******************
if ((CANRcvCyBufApp[CAN2].WritePoint != CANRcvCyBufApp[CAN2].ReadPoint)||CANRcvCyBufApp[CAN2].FullFlag)
{
if (U0LSR&0x20)
{
CANSendToRS232 (CAN2, UART0, &CANRcvCyBufApp[CAN2] );
}
}
//********************
if (UARTRcvNewData == 1)
{
SRBuf[0]=0x12;
SRBuf[1]=0; //SRBuf[15]>>4;
SRBuf[2]=0x88;
//SRBuf[15]=SRBuf[15]&0x0F;
SRBuf[15]=0;
RS232SendToCAN (SRBuf[1],SRBuf[15] ,&Rs232toCANDataBuf, SRBuf );
UARTRcvNewData = 0;
}
//********************
if (UARTRcvNewData == 2)
{
memcpy(UARTSendBuf, strDATErrr, 12); //
UARTSend (UART0,12,UARTSendBuf);
UARTRcvNewData = 0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -