![]() |
Описание библиотеки микросхемы 5023ВС016 процессора "Спутник"
|
Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с интерфесом CAN. Подробнее...
#include "types.h"
Структуры данных | |
struct | CAN_T |
Структура для доступа к регистрам контроллера CAN в базовом режиме. Подробнее... | |
struct | CAN_EXTANDED_T |
Структура для доступа к регистрам контроллера CAN в расширеном режим режиме. Подробнее... | |
Макросы | |
#define | Reset_request(x) ((uint32_t)(x << 0)) |
Макросы и типы для регистра CONTROL. Подробнее... | |
#define | Receive_Interrupt_Enable(x) ((uint32_t)(x << 1)) |
#define | Transmit_Interrupt_Enable(x) ((uint32_t)(x << 2)) |
#define | Error_Interrupt_Enable(x) ((uint32_t)(x << 3)) |
#define | Overrun_Interrupt_Enable(x) ((uint32_t)(x << 4)) |
#define | Transmission_request(x) ((uint32_t)(x << 0)) |
Макросы и типы для регистра COMMAND. Подробнее... | |
#define | Abort_transmission(x) ((uint32_t)(x << 1)) |
#define | Release_receive_buffer(x) ((uint32_t)(x << 2)) |
#define | Clear_data_overrun(x) ((uint32_t)(x << 3)) |
#define | Receive_buffer_status(x) ((uint32_t)(x << 0)) |
Макросы и типы для регистра STATUS. Подробнее... | |
#define | Data_overrun_status(x) ((uint32_t)(x << 1)) |
#define | Transmit_buffer_status(x) ((uint32_t)(x << 2)) |
#define | Transmission_complete(x) ((uint32_t)(x << 3)) |
#define | Receive_status(x) ((uint32_t)(x << 4)) |
#define | Transmit_status(x) ((uint32_t)(x << 5)) |
#define | Error_Status(x) ((uint32_t)(x << 6)) |
#define | Bus_status(x) ((uint32_t)(x << 7)) |
#define | Receive_interrupt(x) ((uint32_t)(x << 0)) |
Макросы и типы для регистра INTERRUPT. Подробнее... | |
#define | Transmit_interrupt(x) ((uint32_t)(x << 1)) |
#define | Error_interrupt(x) ((uint32_t)(x << 2)) |
#define | Data_overrun_interrupt(x) ((uint32_t)(x << 3)) |
#define | Reset_mode(x) ((uint32_t)(x << 0)) |
Макросы и типы для регистра Mode. Подробнее... | |
#define | Listen_only_mode(x) ((uint32_t)(x << 1)) |
#define | Self_test_mode(x) ((uint32_t)(x << 2)) |
#define | Acceptance_filter_mode(x) ((uint32_t)(x << 3)) |
#define | Transmission_request(x) ((uint32_t)(x << 0)) |
Макросы и типы для регистра COMMAND. Подробнее... | |
#define | Abort_transmission(x) ((uint32_t)(x << 1)) |
#define | Release_receive_buffer(x) ((uint32_t)(x << 2)) |
#define | Clear_data_overrun(x) ((uint32_t)(x << 3)) |
#define | Self_reception_request(x) ((uint32_t)(x << 4)) |
#define | Receive_interrupt_ext(x) ((uint32_t)(x << 0)) |
Макросы и типы для регистра INTERRUPT. Подробнее... | |
#define | Transmit_interrupt_ext(x) ((uint32_t)(x << 1)) |
#define | Error_warning_interrupt(x) ((uint32_t)(x << 2)) |
#define | Data_overrun_interrupt_ext(x) ((uint32_t)(x << 3)) |
#define | Error_passive_interrupt(x) ((uint32_t)(x << 5)) |
#define | Arbitration_lost_interrupt(x) ((uint32_t)(x << 6)) |
#define | Bus_error_interrupt(x) ((uint32_t)(x << 7)) |
#define | Bit_number(x) ((uint32_t)((x&0x1F) << 0)) |
Макросы и типы для регистра Arbitration_lost_capture. Подробнее... | |
#define | Segment(x) ((uint32_t)((x&0x1F) << 0)) |
Макросы и типы для регистра Error_code_capture. Подробнее... | |
#define | Direction(x) ((uint32_t)((x) << 5)) |
Бит, в котором была потеряна арбитрация Подробнее... | |
#define | Error_Code(x) ((uint32_t)((x&0x3) << 6)) |
#define | Clock_divisor(x) ((uint32_t)((x&0x7) << 0)) |
Макросы и типы для регистра Clock_divider. Подробнее... | |
#define | Clock_off(x) ((uint32_t)((x) << 3)) |
#define | CAN_mode(x) ((uint32_t)((x) << 7)) |
#define | BRP(x) ((uint32_t)((x&0x3F) << 0)) |
Макросы и типы для регистра Bus_timing_0. Подробнее... | |
#define | SJW(x) ((uint32_t)((x&0x3) << 6)) |
#define | TSEG1(x) ((uint32_t)((x&0xF) << 0)) |
Макросы и типы для регистра Bus_timing_1. Подробнее... | |
#define | TSEG2(x) ((uint32_t)((x&0x3) << 4)) |
#define | SAM(x) ((uint32_t)(x << 7)) |
Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с интерфесом CAN.
Copyright(C) НПП Цифровые решения, 2017 Copyright(C) Команда разработчиков НПП Цифровые решения Все права защищены.
Программное обеспечение, описанное в этом файле, предназначено только для демонстрационных целей, и предоставляет программистам информацию о продукции организации "Цифровые решения". Это программное обеспечение поставляется "КАК ЕСТЬ" без каких-либо гарантий, "Цифровые решения" отказываются от любых гарантий, фактических или подразумеваемых, включая все подразумеваемые гарантии товарной пригодности, пригодности для конкретной цели и сохранения прав интеллектуальной собственности. Органицация "Цифровые решения" не несет никакой ответственности за использование программного обеспечения, не предоставляет лицензий или прав на патент, авторское право, или любые другие права интеллектуальной собственности, на какие-либо продукты. Организация "Цифровые решения" оставляет за собой право вносить изменения в программное обеспечение без уведомления. Организация "Цифровые решения" также не дает никаких заверений или гарантий, что это программное приложение подойдет для использования без дальнейшего тестирования или модификаций.
Разрешение на использование, копирование, изменение и распространение этого программного обеспечения и документации предоставляется согласно условиям "Цифровых решений" и соответствующих авторских прав своей лицензии без оплаты, при условии, что это программное обеспечнение используется совместно с микроконтроллерами организации "Цифровые решения". Эти права должны распространяться во всех копиях этого кода.
См. определение в файле can.h
#define Abort_transmission | ( | x | ) | ((uint32_t)(x << 1)) |
#define Abort_transmission | ( | x | ) | ((uint32_t)(x << 1)) |
#define Acceptance_filter_mode | ( | x | ) | ((uint32_t)(x << 3)) |
#define Arbitration_lost_interrupt | ( | x | ) | ((uint32_t)(x << 6)) |
#define Bit_number | ( | x | ) | ((uint32_t)((x&0x1F) << 0)) |
#define BRP | ( | x | ) | ((uint32_t)((x&0x3F) << 0)) |
#define Bus_error_interrupt | ( | x | ) | ((uint32_t)(x << 7)) |
#define Bus_status | ( | x | ) | ((uint32_t)(x << 7)) |
#define CAN_mode | ( | x | ) | ((uint32_t)((x) << 7)) |
#define Clear_data_overrun | ( | x | ) | ((uint32_t)(x << 3)) |
#define Clear_data_overrun | ( | x | ) | ((uint32_t)(x << 3)) |
#define Clock_divisor | ( | x | ) | ((uint32_t)((x&0x7) << 0)) |
#define Clock_off | ( | x | ) | ((uint32_t)((x) << 3)) |
#define Data_overrun_interrupt | ( | x | ) | ((uint32_t)(x << 3)) |
#define Data_overrun_interrupt_ext | ( | x | ) | ((uint32_t)(x << 3)) |
#define Data_overrun_status | ( | x | ) | ((uint32_t)(x << 1)) |
Значение 1 означает, что сообщение было потеряно из-за отсутствия свободного места в FIFO Бит означает, что полученное контроллером сообщение было утеряно, поскольку в приемном FIFO отсутствовало свободное место. Данный бит устанавливается в момент вычитывания данных из FIFO.
#define Direction | ( | x | ) | ((uint32_t)((x) << 5)) |
#define Error_Code | ( | x | ) | ((uint32_t)((x&0x3) << 6)) |
#define Error_interrupt | ( | x | ) | ((uint32_t)(x << 2)) |
#define Error_Interrupt_Enable | ( | x | ) | ((uint32_t)(x << 3)) |
#define Error_passive_interrupt | ( | x | ) | ((uint32_t)(x << 5)) |
#define Error_Status | ( | x | ) | ((uint32_t)(x << 6)) |
#define Error_warning_interrupt | ( | x | ) | ((uint32_t)(x << 2)) |
#define Listen_only_mode | ( | x | ) | ((uint32_t)(x << 1)) |
#define Overrun_Interrupt_Enable | ( | x | ) | ((uint32_t)(x << 4)) |
#define Receive_buffer_status | ( | x | ) | ((uint32_t)(x << 0)) |
Макросы и типы для регистра STATUS.
Значение 1 означает, что в приемном FIFO присутствуют принятые сообщения Бит сбрасывается в 0, если была подана команда Release receive buffer через бит в регистре Command. Если при этом в приемном FIFO присутствуют последующие сообщения, бит будет установлен в 1 повторно.
#define Receive_interrupt | ( | x | ) | ((uint32_t)(x << 0)) |
#define Receive_Interrupt_Enable | ( | x | ) | ((uint32_t)(x << 1)) |
#define Receive_interrupt_ext | ( | x | ) | ((uint32_t)(x << 0)) |
#define Receive_status | ( | x | ) | ((uint32_t)(x << 4)) |
#define Release_receive_buffer | ( | x | ) | ((uint32_t)(x << 2)) |
#define Release_receive_buffer | ( | x | ) | ((uint32_t)(x << 2)) |
#define Reset_mode | ( | x | ) | ((uint32_t)(x << 0)) |
#define Reset_request | ( | x | ) | ((uint32_t)(x << 0)) |
#define SAM | ( | x | ) | ((uint32_t)(x << 7)) |
#define Segment | ( | x | ) | ((uint32_t)((x&0x1F) << 0)) |
Макросы и типы для регистра Error_code_capture.
Местоположение ошибки внутри фрейма: 0x03 - Start of frame 0x02 - ID.28 - ID.21 0x06 - ID.20 - ID.18 0x04 - Bit SRTR 0x05 - Bit IDE 0x07 - ID.17 - ID.13 0x0F - ID.12 - ID.5 0x0E - ID.4 - ID.0 0x0C - Bit RTR 0x0D - Reserved bit 1 0x09 - Reserved bit 0 0x0B - Data length code 0x0A - Data field 0x08 - CRC sequence 0x18 - CRC delimiter 0x19 - Acknowledge slot 0x1B - Acknowledge delimiter 0x1A - End of frame 0x12 - Intermission 0x11 - Active error flag 0x16 - Passive error flag 0x13 - Tolerate dominant bits 0x17 - Error delimiter 0x1C - Overload flag4
#define Self_reception_request | ( | x | ) | ((uint32_t)(x << 4)) |
#define Self_test_mode | ( | x | ) | ((uint32_t)(x << 2)) |
#define SJW | ( | x | ) | ((uint32_t)((x&0x3) << 6)) |
#define Transmission_complete | ( | x | ) | ((uint32_t)(x << 3)) |
#define Transmission_request | ( | x | ) | ((uint32_t)(x << 0)) |
#define Transmission_request | ( | x | ) | ((uint32_t)(x << 0)) |
#define Transmit_buffer_status | ( | x | ) | ((uint32_t)(x << 2)) |
#define Transmit_interrupt | ( | x | ) | ((uint32_t)(x << 1)) |
#define Transmit_Interrupt_Enable | ( | x | ) | ((uint32_t)(x << 2)) |
#define Transmit_interrupt_ext | ( | x | ) | ((uint32_t)(x << 1)) |
#define Transmit_status | ( | x | ) | ((uint32_t)(x << 5)) |
#define TSEG1 | ( | x | ) | ((uint32_t)((x&0xF) << 0)) |