#define CAN0RXFG5 _P(0x0165) /*основной буфер RX CAN0 */
#define CAN0RXFG6 _P(0x0166) /*основной буфер RX CAN0 */
#define CAN0RXFG7 _P(0x0167) /*основной буфер RX CAN0 */
#define CAN0RXFG8 _P(0x0168) /*основной буфер RX CAN0 */
#define CAN0RXFG9 _P(0x0169) /*основной буфер RX CAN0 */
#define CAN0RXFGA _P(0x016A) /*основной буфер RX CAN0 */
#define CAM0RXFGB _P(0x016B) /*основной буфер RX CAN0 */
#define CAN0RXFGC _P(0x016C) /*основной буфер RX CAN0 */
#define CAN0RXFGD _P(0x016D) /*основной буфер RX CAN0 */
#define CAN0RXFGE _P(0x016E) /*основной буфер RX CAN0 */
#define CAN0RXFGF _P(0x016F) /*основной буфер RX CAN0 */
#define CAN0TXFG0 _P(0x0170) /*основной буфер TX CAN0 */
#define CAN0TXFG1 _P(0x0171) /*основной буфер TX CAN0 */
#define CAN0TXFG2 _P(0x0172) /*основной буфер TX CAN0 */
#define CAN0TXFG3 _P(0x0173) /*основной буфер TX CAN0 */
#define CAN0TXFG4 _P(0x0174) /*основной буфер TX CAN0 */
#define CAN0TXFG5 _P(0x0175) /*основной буфер TX CAN0 */
#define CAN0TXFG6 _P(0x0176) /*основной буфер TX CAN0 */
#define CAN0TXFG7 _P(0x0177) /*основной буфер TX CAN0 */
#define CAM0TXFG8 _P(0x0178) /*основной буфер TX CAN0 */
#define CAN0TXFG9 _P(0x0179) /*основной буфер TX CAN0 */
#define CAN0TXFGA _P(0x017A) /*основной буфер TX CAN0 */
#define CAN0TXFGB _P(0x017B) /*основной буфер TX CAN0 */
#define CAN0TXFGC _P(0x017C) /*основной буфер TX CAN0 */
#define CAN0TXFGD _P(0x017D) /*основной буфер TX CAN0 */
#define CAN0TXFGE _P(0x017E) /*основной буфер TX CAN0 */
#define CAN0TXFGF _P(0x017F) /*основной буфер TX CAN0 */
/********************************************************************/
Следующая программа выполняется контроллером первой платы, показанной в верхней части рис. 9.32. Эта программа инициализирует связь, а затем непрерывно посылает в сеть 8-байтовый блок данных ($01, $02, $03, $04, $05, $06, $07, и $08).
/********************************************************************/
/* CANONE.C Эта программа запускает плату 68HC12 и связывает ее с другой*/
/* платой 68HC12 с помощью контроллера CAN */
/* Авторы: Даниэль Пак и Стив Барретт */
/* Дата создания: 29 июля 2004 */
/********************************************************************/
line 0 #include "68HC12DP256.h"
line 1 void main()
line 2 {
line 3 COPCTL=0x00; /*Выключить сторожевой таймер COP*/
line 4 /*установить модуль CAN */
line 5 CAN0CTL1 = CAN0CTL1 | 0x80; /*разрешение для модуля CAN */
line 6 CAN0CTL1 = CAN0CTL1 & 0xEF; /*выключение режима LISTEN*/
line 7 while ((CAN0CTL1 | 0x01) == 0) /*режим инициализации CAN*/
line 8 {