?? main.c
字號:
#include "printp.h"
#define PORTB (*((volatile unsigned char*)(0x0001)))
#define DDRB (*((volatile unsigned char*)(0x0003)))
#define CAN0CTL0 (*((volatile unsigned char*)(0x0140)))
#define CAN0CTL1 (*((volatile unsigned char*)(0x0141)))
#define CAN0BTR0 (*((volatile unsigned char*)(0x0142)))
#define CAN0BTR1 (*((volatile unsigned char*)(0x0143)))
#define CAN0RFLG (*((volatile unsigned char*)(0x0144)))
#define CAN0RIER (*((volatile unsigned char*)(0x0145)))
#define CAN0TFLG (*((volatile unsigned char*)(0x0146)))
#define CAN0TIER (*((volatile unsigned char*)(0x0147)))
#define CAN0TARQ (*((volatile unsigned char*)(0x0148)))
#define CAN0TAAK (*((volatile unsigned char*)(0x0149)))
#define CAN0TBSEL (*((volatile unsigned char*)(0x014A)))
#define CAN0IDAC (*((volatile unsigned char*)(0x014B)))
#define CAN0RXERR (*((volatile unsigned char*)(0x014E)))
#define CAN0TXERR (*((volatile unsigned char*)(0x014F)))
#define CAN0IDAR0 (*((volatile unsigned char*)(0x0150)))
#define CAN0IDAR1 (*((volatile unsigned char*)(0x0151)))
#define CAN0IDAR2 (*((volatile unsigned char*)(0x0152)))
#define CAN0IDAR3 (*((volatile unsigned char*)(0x0153)))
#define CAN0IDMR0 (*((volatile unsigned char*)(0x0154)))
#define CAN0IDMR1 (*((volatile unsigned char*)(0x0155)))
#define CAN0IDMR2 (*((volatile unsigned char*)(0x0156)))
#define CAN0IDMR3 (*((volatile unsigned char*)(0x0157)))
#define CAN0IDAR4 (*((volatile unsigned char*)(0x0158)))
#define CAN0IDAR5 (*((volatile unsigned char*)(0x0159)))
#define CAN0IDAR6 (*((volatile unsigned char*)(0x015A)))
#define CAN0IDAR7 (*((volatile unsigned char*)(0x015B)))
#define CAN0IDMR4 (*((volatile unsigned char*)(0x015C)))
#define CAN0IDMR5 (*((volatile unsigned char*)(0x015D)))
#define CAN0IDMR6 (*((volatile unsigned char*)(0x015E)))
#define CAN0IDMR7 (*((volatile unsigned char*)(0x015F)))
#define CAN0RXFG0 (*((volatile unsigned char*)(0x0160)))
#define CAN0RXFG1 (*((volatile unsigned char*)(0x0161)))
#define CAN0RXFG2 (*((volatile unsigned char*)(0x0162)))
#define CAN0RXFG3 (*((volatile unsigned char*)(0x0163)))
#define CAN0RXFG4 (*((volatile unsigned char*)(0x0164)))
#define CAN0RXFG5 (*((volatile unsigned char*)(0x0165)))
#define CAN0RXFG6 (*((volatile unsigned char*)(0x0166)))
#define CAN0RXFG7 (*((volatile unsigned char*)(0x0167)))
#define CAN0RXFG8 (*((volatile unsigned char*)(0x0168)))
#define CAN0RXFG9 (*((volatile unsigned char*)(0x0169)))
#define CAN0RXFGA (*((volatile unsigned char*)(0x016A)))
#define CAN0RXFGB (*((volatile unsigned char*)(0x016B)))
#define CAN0RXFGC (*((volatile unsigned char*)(0x016C)))
#define CAN0RXFGD (*((volatile unsigned char*)(0x016D)))
#define CAN0RXFGE (*((volatile unsigned char*)(0x016E)))
#define CAN0RXFGF (*((volatile unsigned char*)(0x016F)))
#define CAN0TXFG0 (*((volatile unsigned char*)(0x0170)))
#define CAN0TXFG1 (*((volatile unsigned char*)(0x0171)))
#define CAN0TXFG2 (*((volatile unsigned char*)(0x0172)))
#define CAN0TXFG3 (*((volatile unsigned char*)(0x0173)))
#define CAN0TXFG4 (*((volatile unsigned char*)(0x0174)))
#define CAN0TXFG5 (*((volatile unsigned char*)(0x0175)))
#define CAN0TXFG6 (*((volatile unsigned char*)(0x0176)))
#define CAN0TXFG7 (*((volatile unsigned char*)(0x0177)))
#define CAN0TXFG8 (*((volatile unsigned char*)(0x0178)))
#define CAN0TXFG9 (*((volatile unsigned char*)(0x0179)))
#define CAN0TXFGA (*((volatile unsigned char*)(0x017A)))
#define CAN0TXFGB (*((volatile unsigned char*)(0x017B)))
#define CAN0TXFGC (*((volatile unsigned char*)(0x017C)))
#define CAN0TXFGD (*((volatile unsigned char*)(0x017D)))
#define CAN0TXFGE (*((volatile unsigned char*)(0x017E)))
#define CAN0TXFGF (*((volatile unsigned char*)(0x017F)))
#define CAN4CTL0 (*((volatile unsigned char*)(0x0280)))
#define CAN4CTL1 (*((volatile unsigned char*)(0x0281)))
#define CAN4BTR0 (*((volatile unsigned char*)(0x0282)))
#define CAN4BTR1 (*((volatile unsigned char*)(0x0283)))
#define CAN4RFLG (*((volatile unsigned char*)(0x0284)))
#define CAN4RIER (*((volatile unsigned char*)(0x0285)))
#define CAN4TFLG (*((volatile unsigned char*)(0x0286)))
#define CAN4TIER (*((volatile unsigned char*)(0x0287)))
#define CAN4TARQ (*((volatile unsigned char*)(0x0288)))
#define CAN4TAAK (*((volatile unsigned char*)(0x0289)))
#define CAN4TBSEL (*((volatile unsigned char*)(0x028A)))
#define CAN4IDAC (*((volatile unsigned char*)(0x028B)))
#define CAN4RXERR (*((volatile unsigned char*)(0x028E)))
#define CAN4TXERR (*((volatile unsigned char*)(0x028F)))
#define CAN4IDAR0 (*((volatile unsigned char*)(0x0290)))
#define CAN4IDAR1 (*((volatile unsigned char*)(0x0291)))
#define CAN4IDAR2 (*((volatile unsigned char*)(0x0292)))
#define CAN4IDAR3 (*((volatile unsigned char*)(0x0293)))
#define CAN4IDMR0 (*((volatile unsigned char*)(0x0294)))
#define CAN4IDMR1 (*((volatile unsigned char*)(0x0295)))
#define CAN4IDMR2 (*((volatile unsigned char*)(0x0296)))
#define CAN4IDMR3 (*((volatile unsigned char*)(0x0297)))
#define CAN4IDAR4 (*((volatile unsigned char*)(0x0298)))
#define CAN4IDAR5 (*((volatile unsigned char*)(0x0299)))
#define CAN4IDAR6 (*((volatile unsigned char*)(0x029A)))
#define CAN4IDAR7 (*((volatile unsigned char*)(0x029B)))
#define CAN4IDMR4 (*((volatile unsigned char*)(0x029C)))
#define CAN4IDMR5 (*((volatile unsigned char*)(0x029D)))
#define CAN4IDMR6 (*((volatile unsigned char*)(0x029E)))
#define CAN4IDMR7 (*((volatile unsigned char*)(0x029F)))
#define CAN4RXFG0 (*((volatile unsigned char*)(0x02A0)))
#define CAN4RXFG1 (*((volatile unsigned char*)(0x02A1)))
#define CAN4RXFG2 (*((volatile unsigned char*)(0x02A2)))
#define CAN4RXFG3 (*((volatile unsigned char*)(0x02A3)))
#define CAN4RXFG4 (*((volatile unsigned char*)(0x02A4)))
#define CAN4RXFG5 (*((volatile unsigned char*)(0x02A5)))
#define CAN4RXFG6 (*((volatile unsigned char*)(0x02A6)))
#define CAN4RXFG7 (*((volatile unsigned char*)(0x02A7)))
#define CAN4RXFG8 (*((volatile unsigned char*)(0x02A8)))
#define CAN4RXFG9 (*((volatile unsigned char*)(0x02A9)))
#define CAN4RXFGA (*((volatile unsigned char*)(0x02AA)))
#define CAN4RXFGB (*((volatile unsigned char*)(0x02AB)))
#define CAN4RXFGC (*((volatile unsigned char*)(0x02AC)))
#define CAN4RXFGD (*((volatile unsigned char*)(0x02AD)))
#define CAN4RXFGE (*((volatile unsigned char*)(0x02AE)))
#define CAN4RXFGF (*((volatile unsigned char*)(0x02AF)))
#define CAN4TXFG0 (*((volatile unsigned char*)(0x02B0)))
#define CAN4TXFG1 (*((volatile unsigned char*)(0x02B1)))
#define CAN4TXFG2 (*((volatile unsigned char*)(0x02B2)))
#define CAN4TXFG3 (*((volatile unsigned char*)(0x02B3)))
#define CAN4TXFG4 (*((volatile unsigned char*)(0x02B4)))
#define CAN4TXFG5 (*((volatile unsigned char*)(0x02B5)))
#define CAN4TXFG6 (*((volatile unsigned char*)(0x02B6)))
#define CAN4TXFG7 (*((volatile unsigned char*)(0x02B7)))
#define CAN4TXFG8 (*((volatile unsigned char*)(0x02B8)))
#define CAN4TXFG9 (*((volatile unsigned char*)(0x02B9)))
#define CAN4TXFGA (*((volatile unsigned char*)(0x02BA)))
#define CAN4TXFGB (*((volatile unsigned char*)(0x02BB)))
#define CAN4TXFGC (*((volatile unsigned char*)(0x02BC)))
#define CAN4TXFGD (*((volatile unsigned char*)(0x02BD)))
#define CAN4TXFGE (*((volatile unsigned char*)(0x02BE)))
#define CAN4TXFGF (*((volatile unsigned char*)(0x02BF)))
void MSCAN_INITIAL(void)
{
CAN0CTL0|=0x01;
CAN4CTL0|=0x01;
while(!(CAN0CTL0&0x01))
{}
while(!(CAN4CTL0&0x01))
{}
CAN0IDAC=0x20;
CAN4IDAC=0x20;
CAN0IDAR0=0x01;
CAN4IDAR0=0x01;
CAN0IDAR1=0x00;
CAN4IDAR1=0x00;
CAN0IDAR2=0x04;
CAN4IDAR2=0x04;
CAN0IDAR3=0x08;
CAN4IDAR3=0x08;
CAN0IDAR4=0x41;
CAN4IDAR4=0x41;
CAN0IDAR5=0x41;
CAN4IDAR5=0x41;
CAN0IDAR6=0x41;
CAN4IDAR6=0x41;
CAN0IDAR7=0x41;
CAN4IDAR7=0x41;
CAN0IDMR0=0xff;
CAN0IDMR1=0xff;
CAN0IDMR2=0xff;
CAN0IDMR3=0xff;
CAN0IDMR4=0xff;
CAN0IDMR5=0xff;
CAN0IDMR6=0xff;
CAN0IDMR7=0xff;
CAN4IDMR0=0xff;
CAN4IDMR1=0xff;
CAN4IDMR2=0xff;
CAN4IDMR3=0xff;
CAN4IDMR4=0xff;
CAN4IDMR5=0xff;
CAN4IDMR6=0xff;
CAN4IDMR7=0xff;
CAN0BTR0=0x61;
CAN4BTR0=0x61;
CAN0BTR1=0x13;
CAN4BTR1=0x13;
CAN0CTL1=0x80;
CAN4CTL1=0x80;
CAN0CTL0&=0xfe;
CAN4CTL0&=0xfe;
while(CAN0CTL1&0x01)
{}
while(CAN4CTL1&0x01)
{}
CAN0CTL0=0x08;
CAN4CTL0=0x08;
CAN0RIER=0x0f;
CAN4RIER=0x0f;
CAN4TBSEL=CAN4TFLG;
CAN4TXFG1=0x01;
CAN4TXFG2=0x00;
CAN4TXFG4=0x41;
CAN4TXFG5=0x42;
CAN4TXFG6=0x43;
CAN4TXFG7=0x44;
CAN4TXFG8=0x45;
CAN4TXFG9=0x46;
CAN4TXFGA=0x47;
CAN4TXFGB=0x48;
CAN4TXFGC=0x49;
CAN4TFLG=CAN4TBSEL;
}
void main(void) {
MSCAN_INITIAL();
while(!(CAN4TFLG&0x01))
{printp("\nCAN4 SEND\n");}
}
void CAN0_RECEIVE(void)
{
asm
{
sei
}
printp("CAN0 RECEIVE \n");
asm
{
cli
}
asm
{
rti
}
}
void UnimplementedISR(void)
{
/* Unimplemented ISRs trap.*/
asm stop;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -