?? flexcan_test.c
字號:
/*
* File: flexcan_test.c
* Purpose: Test the FlexCan on the M5282EVB
*
* Notes: The FlexCan test
*
*/
#include "src/init/m5282evb.h"
#include "src/init/stdlib.h"
#include "src/fat/fat.h"
/********************************************************************/
uint32 i;
/********************************************************************/
void
flexcan_test(void)
{
RESULTS |= CAN_TEST;
/*
* Initialize Port AS PAR to have Can TX/RX signals enabled
*/
MCF5282_GPIO_PASPAR = 0x0FF0;
/*
* Initialize all operating modes
*/
MCF5282_FLEXCAN_CANMCR = (0
| MCF5282_FLEXCAN_CANMCR_FRZ
| MCF5282_FLEXCAN_CANMCR_HALT
| MCF5282_FLEXCAN_CANMCR_SELFWAKE);
MCF5282_FLEXCAN_CANCTRL0 = (0
| MCF5282_FLEXCAN_CANCTRL0_RXMODE);
MCF5282_FLEXCAN_CANCTRL1 = (1
| MCF5282_FLEXCAN_CANCTRL1_LOM);
/*
* Set S-clock rate to 500Khz
*/
MCF5282_FLEXCAN_PRESDIV = 0x83;
/*
* Initialize Message Buffers
*/
MCF5282_FLEXCAN_MBUF0_CTRL = 0x0088;
MCF5282_FLEXCAN_MBUF1_CTRL = 0x0000;
MCF5282_FLEXCAN_MBUF2_CTRL = 0x0088;
MCF5282_FLEXCAN_MBUF3_CTRL = 0x0088;
MCF5282_FLEXCAN_MBUF4_CTRL = 0x0088;
MCF5282_FLEXCAN_MBUF5_CTRL = 0x0088;
MCF5282_FLEXCAN_MBUF6_CTRL = 0x0088;
MCF5282_FLEXCAN_MBUF7_CTRL = 0x0088;
MCF5282_FLEXCAN_MBUF8_CTRL = 0x0088;
MCF5282_FLEXCAN_MBUF9_CTRL = 0x0000;
MCF5282_FLEXCAN_MBUF10_CTRL = 0x0000;
MCF5282_FLEXCAN_MBUF11_CTRL = 0x0000;
MCF5282_FLEXCAN_MBUF12_CTRL = 0x0000;
MCF5282_FLEXCAN_MBUF13_CTRL = 0x0000;
MCF5282_FLEXCAN_MBUF14_CTRL = 0x0000;
MCF5282_FLEXCAN_MBUF15_CTRL = 0x0000;
/*
* Initialize Receive Mask Register
*/
MCF5282_FLEXCAN_RXGMASK = 0xFFE00000;
/*
* Synchronize FlexCan with CAN bus
*/
MCF5282_FLEXCAN_CANMCR = (0
| MCF5282_FLEXCAN_CANMCR_FRZ
| MCF5282_FLEXCAN_CANMCR_SELFWAKE);
/*
* Transmit data in Message Buffer0
*/
MCF5282_FLEXCAN_MBUF0_CTRL = 0xC8;
for (i = 0; i < 3000; i++) {};
/*
* Test for correct error conditions
*/
if ((MCF5282_FLEXCAN_ESTAT != 0x0512) && (MCF5282_FLEXCAN_RXECTR != 0x87))
{
RESULTS |= CAN_FAIL;
}
}
/********************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -