📄 main.c
字号:
#include <hidef.h>
#include <string.h>
#include <math.h>
#include <mc9s12dp256.h>
#include "define.h"
#include "Initial.h"
#include "SCI_COM.h"
#include "Interrupt.h"
#include "CAN_COM.h"
#pragma CODE_SEG DEFAULT
void main(void)
{
uchar i = 0;
uint j = 0;
uchar Recv_index = 0;
Delay(50000);
CLKSEL = 0x80;//2倍频
// COPCTL = 0x07;// (* Page 289 *)看门狗
//------------------------------------------------------------------------------------
// RTIInit();
SCI_Initial(); //串口初始化
CAN0_Initial(); //CAN0初始化
//------------------------------------------------------------------------------------
EnableInterrupts;//中断使能
SendFrame.RemoteFlag = 0;
SendFrame.ExternFlag = 1;
SendFrame.ID = 0x12345;
SendFrame.Priority = 3;
SendFrame.DataLen = 8;
for(i=0;i<8;i++)
SendFrame.Data[i] = i;
while(1)
{
if(RX_OK == 0x01)
{
if(frame_status & (0x0001<<Recv_index))
{
Write_To_SCI1_UCHAR_ASCII(0xAA);//帧起始
for(i=0;i<32;i+=8)
Write_To_SCI1_UCHAR_ASCII(Recv_Frame[Recv_index].ID >> i);
Write_To_SCI1_UCHAR_ASCII(Recv_Frame[Recv_index].RemoteFlag);
Write_To_SCI1_UCHAR_ASCII(Recv_Frame[Recv_index].ExternFlag);
Write_To_SCI1_UCHAR_ASCII(Recv_Frame[Recv_index].DataLen);
for(i=0;i<8;i++)
Write_To_SCI1_UCHAR_ASCII(Recv_Frame[Recv_index].Data[i]);
Write_To_SCI1_UCHAR_ASCII(Recv_Frame[Recv_index].frame_status_OBJ);
Write_To_SCI1_UCHAR_ASCII(0xBB);//帧结束
frame_status &= ~(0x0001<<Recv_index);//发送完毕,把相应位清0
}
Recv_index++;
if(Recv_index == 16)
Recv_index = 0;
}
switch(SCI_CMD)
{
case 0:
break;
case 0x01://启动CAN接收
SCI_CMD = 0;
RX_OK = 0x01;
CAN0RIER = 0x01;//使能CAN0接受中断
break;
case 0x02://停止CAN接收
SCI_CMD = 0;
RX_OK = 0x00;
Recv_index = 0;
Recv_buffer_overflow = 0;
frame_status = 0;
CAN0RIER = 0x00;//禁止CAN0接受中断
break;
case 0x03://和上位机握手命令
Write_To_SCI1_UCHAR_ASCII(0xAA);//帧起始
for(i=0;i<16;i++)
Write_To_SCI1_UCHAR_ASCII(0xA5);
Write_To_SCI1_UCHAR_ASCII(0xBB);//帧起始
SCI_CMD = 0;
break;
case 0x04://DP256发送一帧
CAN0TIER = 0x07;
SCI_CMD = 0;
break;
case 0x05:
SCI_CMD = 0;
break;
case 0x06:
SCI_CMD = 0;
break;
default :
SCI_CMD = 0;
;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -