📄 main.c
字号:
/*******************************************************************************************************
* 文件名:main.c
* 功 能:开发板main()函数例子
* 作 者:POWER
* 日 期:2006年5月25号
* 斯凯科技主页:www.armsky.net
* 斯凯科技论坛:www.armsky.net/bbs
********************************************************************************************************/
#include "config.h"
#define REALCAN 1
//UINT8 STBuf[30],Txbuf[8];
uint8 SRBuf[14] = {0x01,0x88, 0x12, 0x34, 0x56, 0x78, 0x11, 0x22, 0x33, 0x44 ,0x55,0x66, 0x77, 0x88 };
uint8 Txbuf[4];
stcTxBUF CTbuf; //
stcRxBUF CRBuf;
//UINT32 CanSendFlag=0; //
//UINT32 UartStatus=0,RcvCounter=0,TransCounter=0;
void DelayNS(uint32 dly)
{ uint32 i;
for(; dly>0; dly--)
for(i=0; i<5000; i++);
}
//
void EableIntAll(void)
{
__asm
{
MRS R0, CPSR
BIC R0, R0,#0x80
MSR CPSR_cxsf, R0
}
}
int main (void)
{
// 用户在下面添加自己的程序代码
UINT32 i;
//Debug Uart0
InitUart0(57600);
//初始化CAN
for(i=0;i<REALCAN;i++)
{
InitCAN(i);
}
EableIntAll();
Txbuf[0] = 0x01 ;
Txbuf[1] = 0x02 ;
Txbuf[2] = 0x03 ;
Txbuf[3] = 0x04 ;
while(1)
{
DelayNS(10);
CTbuf.TxFrameInfo.Bits.PRIO_BIT = SRBuf[0]; //CAN通道号
CTbuf.TxFrameInfo.Bits.FF_BIT =(SRBuf[1]&0x80) >> 7; //帧格式
CTbuf.TxFrameInfo.Bits.RTR_BIT = (SRBuf[1]&0x40)>> 6; //帧类型
CTbuf.TxFrameInfo.Bits.DLC_BIT = SRBuf[1]&0x0f; //数据长度
for(i=0;i<4;i++)
{
*((UINT8 *)&CTbuf.TxCANID.Word +i)=SRBuf[5-i];
}
memcpy((UINT8 *)&CTbuf.CANTDA,&SRBuf[6],4);
memcpy((UINT8 *)&CTbuf.CANTDB,&SRBuf[10],4);
CANSendData(CAN1,0x02,&CTbuf);
//if(ReadCANRcvCyBuf(CAN1,&CRBuf) == 0)
//{
//Uart0Send(2,Txbuf);
//STBuf[0] =(UINT8)CRBuf.CANRcvFS.Bits.DLC_BIT ;
//if(STBuf[0]==SRBuf[0])
// {
// Uart0Send(4,Txbuf);
// }
//}
//if(ReadCANRcvCyBuf(CAN2,&CRBuf) == 0)
//{
//Uart0Send(3,Txbuf);
//STBuf[0] =(UINT8)CRBuf.CANRcvFS.Bits.DLC_BIT ;
//if(STBuf[0]==SRBuf[0])
// {
// Uart0Send(4,Txbuf);
// }
//}
//CAN挂起
for(i=0;i<REALCAN;i++)
{
if(regCANMOD(i).Bits.RM_BIT != 0)
{
regCANGSR(i).Word=0;
regCANMOD(i).Bits.RM_BIT=0x00;
regCANCMR(i).Word=0x02;
}
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -