Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Stellaris , CAN
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Chip115
всем привет! У когонить есть пример реализации CAN для LM3S9B96 или подобного? Что то в примерах IAR не нашел (((
marco
Инициализация CAN-контроллера и конфигурирования одного mailbox для входящих соединений. Используется библиотека StellarisWare.
Измените настройки в соответствии с используемыми GPIO, частотой CANbus.
Отправляется кадр той же функцией CANMessageSet().

CODE

#define RX_MSG_MBOX_ID 0
#define TX_MSG_MBOX_ID 1

#define CAN_BITRATE 250000

void
can_init(void) {
tCANMsgObject canMsgRx;

/* HW Initialization */
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
SysCtlPeripheralEnable(SYSCTL_PERIPH_CAN0);

GPIOPinConfigure(GPIO_PB4_CAN0RX);
GPIOPinConfigure(GPIO_PB5_CAN0TX);

GPIOPinTypeCAN(GPIO_PORTB_BASE, GPIO_PIN_4 | GPIO_PIN_5);

CANInit(CAN0_BASE);

CANBitRateSet(CAN0_BASE, 8000000, CAN_BITRATE);

/* Interrupt handling */
CANIntEnable(CAN0_BASE, CAN_INT_MASTER | CAN_INT_ERROR);
IntEnable(INT_CAN0);

CANEnable(CAN0_BASE);

/* Init Message Object */
canMsgRx.ulMsgID = 0x00;
canMsgRx.ulMsgIDMask = 0x00;
canMsgRx.ulFlags = MSG_OBJ_RX_INT_ENABLE | MSG_OBJ_USE_ID_FILTER;
canMsgRx.ulMsgLen = 8;
canMsgRx.pucMsgData = g_canDataRx;

CANMessageSet(CAN0_BASE, RX_MSG_MBOX_ID, &canMsgRx, MSG_OBJ_TYPE_RX);
}
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.