1) .
1.1) Code Composer Studio Lab10.pjt. Lab10.c E:\C281x\Labs\Lab10\lab10.c.
1.2) :
C:\tidcs\c28\dsp281x\v100\DSP281x_headers\source\DSP281x_GlobalVariableDefs.c
C:\tidcs\c28\dsp281x\v100\DSP281x_headers\source\DSP281x_GlobalVariableDefs.c
C:\tidcs\c28\dsp281x\v100\DSP281x_headers\cmd\F2812_Headers_nonBIOS.cmd
C:\tidcs\c28\dsp281x\v100\DSP281x_common\cmd\F2812_EzDSP_RAM_lnk.cmd
C:\ti\c2000\cgtools\lib\ rts2800_ml.lib
2) , .
2.1) : Project → Build Options, Compiler Preprocessor Include Search Path (-i) : C:\tidcs\C28\dsp281x\v100\DSP281x_headers\include;..\include
2.2) : Project → Build Options → Linker → Stack Size: 0x400.
2.3) Build Options, OK.
3) Lab9.c.
3.1) Lab10.c
, : cpu_timer0_isr() LED[8].
3.2) while(1) InitSystem() GpioSelect().
:
EALLOW;
SysCtrlRegs.WDKEY = 0x55;
SysCtrlRegs.WDKEY = 0xAA;
EDIS;
3.3) ECanaShadow:
struct ECAN_REGS ECanaShadow;
3.4) Gpio_select(). CANTxA CANRxA:
GpioMuxRegs.GPFMUX.bit.CANTXA_GPIOF6 = 1;
GpioMuxRegs.GPFMUX.bit.CANRXA_GPIOF7 = 1;
3.5) InitCan(), :
3.5.1) ECanaRegs.CANTIOC ECanaRegs.CANRIOC TXFUNC RXFUNC.
3.5.2) HECC CAN ( ECanaRegs.CANMC).
3.5.3) CCR ECanaRegs.CANMC.
3.5.4) CAN CCE ECanaRegs.CANES.
3.5.5) BRP, TSEG1 TSEG2 ECanaRegs.CANBTC.
3.5.6) ECanaRegs.CANBTC - CCR ECanaRegs.CANMC.
3.5.7) mailboxes , , 0 ECanaRegs.CANME.
3.6) mailbox#1 :
3.6.1) 0x10000000 ( IDE EcanaMboxes.MBOX1.MSGID).
3.6.2) mailbox#1 MD1 ECanaRegs.CANMD. ECanaShadow.CANMD.all ECanaRegs.CANMD:
ECanaShadow.CANMD.all = ECanaRegs.CANMD.all;
ECanaShadow.CANMD.bit.MD1 = 1;
ECanaRegs.CANMD.all = ECanaShadow.CANMD.all;
|
|
mailbox#5:
ECanaShadow.CANME.all = ECanaRegs.CANME.all;
ECanaShadow.CANME.bit.ME1 = 1;
ECanaRegs.CANME.all = ECanaShadow.CANME.all;
4) mailbox#1
4.1) . , RMP1 ECanaRegs.CANRMP 1.
do-while RMP1=1.
1. ECanaRegs.CANRMP ECanaShadow.CANRMP.
2. .
4.2) RMP1 1 GPIO-B7B0:
GpioDataRegs.GPBDAT.all = ECanaMboxes.MBOX1.MDL.byte.BYTE0;
4.3) RMP1, 1:
ECanaShadow.CANRMP.bit.RMP1 = 1;
ECanaRegs.CANRMP.all = ECanaShadow.CANRMP.all;
5) .
5.1) : Debug → Reset CPU, Debug → Restart.
5.2) : Debug → Go main.
5.3) : Debug → Run. [6]