Сохранить русские комментарии и настройки проекта в UTF-8

Добавить пояснения к исходникам, заголовкам TI, настройкам CCS и существующим проверкам. Зафиксировать правила кодировки, обзор модулей и аудит комментариев.
This commit is contained in:
2026-10-12 12:24:48 +03:00
parent 378e06a281
commit f741741cf8
137 changed files with 21576 additions and 2134 deletions

6
.editorconfig Normal file
View File

@@ -0,0 +1,6 @@
# Общая кодировка редактируемых файлов проекта.
root = true
# Русские комментарии сохраняются без BOM в UTF-8.
[*]
charset = utf-8

13
.gitignore vendored
View File

@@ -1,13 +1,26 @@
# Исключает из Git артефакты по шаблону ниже.
/Debug/
# Исключает из Git артефакты по шаблону ниже.
/UKSSTMS320F28335.CS_/
# Исключает из Git артефакты по шаблону ниже.
/Bin/UKSSTMS320F28335_*.bin
# Исключает из Git артефакты по шаблону ниже.
/Bin/LoggerFix/
# Исключает из Git артефакты по шаблону ниже.
/Bin/LoggerEepromFix/
# Исключает из Git артефакты по шаблону ниже.
/Bin/Rs232FifoTest/
# Исключает из Git артефакты по шаблону ниже.
/Bin/Rs232NoFifoTest/
# Исключает из Git артефакты по шаблону ниже.
/Bin/UartFifoTest/
# Исключает из Git артефакты по шаблону ниже.
/Bin/*.pending
# Исключает из Git артефакты по шаблону ниже.
/UKSSTMS320F28335/Generated/
# Исключает из Git артефакты по шаблону ниже.
/Bin/FirmwareIdentity/
# Исключает из Git артефакты по шаблону ниже.
/Bin/*.bin.manifest.json
# Исключает из Git артефакты по шаблону ниже.
/Bin/*.bin.sha256

1
Bin/.gitignore vendored
View File

@@ -1 +1,2 @@
# Исключает из Git артефакты по шаблону ниже.
/UKSSTMS320F28335.out

134
Doc/COMMENT_AUDIT.md Normal file
View File

@@ -0,0 +1,134 @@
# Проверка комментариев и кодировки
Проверка относится к редактируемым исходникам C/H, ASM, CMD, тестовым INC и Python.
Каждая непустая строка кода имеет русское пояснение перед ней или на ней. Пустые строки,
текст существующих комментариев и содержимое многострочных строк данных не считаются кодом.
Исходные уведомления TI сохранены. JSON-паспорта, индексы IDE, таблицы XLS и двоичные
результаты сборки не допускают исходных комментариев; их назначение описано в документации.
UTF-8 проверен в 151 текстовых файлах. Строк кода: 18624.
| Файл | Строк кода | С русским пояснением |
| --- | ---: | ---: |
| F28335.cmd | 69 | 69 |
| Source/External/v120/DSP2833x_common/include/DSP2833x_DefaultIsr.h | 89 | 89 |
| Source/External/v120/DSP2833x_common/include/DSP2833x_Dma_defines.h | 44 | 44 |
| Source/External/v120/DSP2833x_common/include/DSP2833x_EPwm_defines.h | 89 | 89 |
| Source/External/v120/DSP2833x_common/include/DSP2833x_Examples.h | 33 | 33 |
| Source/External/v120/DSP2833x_common/include/DSP2833x_GlobalPrototypes.h | 156 | 156 |
| Source/External/v120/DSP2833x_common/include/DSP2833x_I2c_defines.h | 58 | 58 |
| Source/External/v120/DSP2833x_common/include/DSP2833x_SWPrioritizedIsrLevels.h | 5097 | 5097 |
| Source/External/v120/DSP2833x_common/include/DSP28x_Project.h | 5 | 5 |
| Source/External/v120/DSP2833x_common/source/DSP2833x_ADC_cal.asm | 8 | 8 |
| Source/External/v120/DSP2833x_common/source/DSP2833x_Adc.c | 14 | 14 |
| Source/External/v120/DSP2833x_common/source/DSP2833x_CpuTimers.c | 45 | 45 |
| Source/External/v120/DSP2833x_common/source/DSP2833x_PieCtrl.c | 37 | 37 |
| Source/External/v120/DSP2833x_common/source/DSP2833x_PieVect.c | 143 | 143 |
| Source/External/v120/DSP2833x_common/source/DSP2833x_SWPrioritizedDefaultIsr.c | 1012 | 1012 |
| Source/External/v120/DSP2833x_common/source/DSP2833x_SWPrioritizedPieVect.c | 392 | 392 |
| Source/External/v120/DSP2833x_common/source/DSP2833x_SysCtrl.c | 188 | 188 |
| Source/External/v120/DSP2833x_common/source/DSP2833x_Xintf.c | 123 | 123 |
| Source/External/v120/DSP2833x_common/source/DSP2833x_usDelay.asm | 7 | 7 |
| Source/External/v120/DSP2833x_headers/cmd/DSP2833x_Headers_BIOS.cmd | 107 | 107 |
| Source/External/v120/DSP2833x_headers/cmd/DSP2833x_Headers_nonBIOS.cmd | 108 | 108 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_Adc.h | 201 | 201 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_CpuTimers.h | 93 | 93 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_DMA.h | 142 | 142 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_DevEmu.h | 57 | 57 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_Device.h | 287 | 287 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_ECan.h | 948 | 948 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_ECap.h | 94 | 94 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_EPwm.h | 297 | 297 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_EQep.h | 165 | 165 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_Gpio.h | 320 | 320 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_I2c.h | 126 | 126 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_Mcbsp.h | 584 | 584 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_PieCtrl.h | 107 | 107 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_PieVect.h | 141 | 141 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_Sci.h | 142 | 142 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_Spi.h | 109 | 109 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_SysCtrl.h | 259 | 259 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_XIntrupt.h | 44 | 44 |
| Source/External/v120/DSP2833x_headers/include/DSP2833x_Xintf.h | 77 | 77 |
| Source/External/v120/DSP2833x_headers/source/DSP2833x_GlobalVariableDefs.c | 301 | 301 |
| Source/Internal/ADC.c | 244 | 244 |
| Source/Internal/DAC.c | 244 | 244 |
| Source/Internal/Include/ADC.h | 4 | 4 |
| Source/Internal/Include/DAC.h | 11 | 11 |
| Source/Internal/Include/GPIO_table.h | 329 | 329 |
| Source/Internal/Include/RS485.h | 84 | 84 |
| Source/Internal/Include/bios_dsp.h | 42 | 42 |
| Source/Internal/Include/caliber.h | 35 | 35 |
| Source/Internal/Include/cntrl_adr.h | 17 | 17 |
| Source/Internal/Include/crc16.h | 6 | 6 |
| Source/Internal/Include/ecan.h | 4 | 4 |
| Source/Internal/Include/eeprom_config.h | 9 | 9 |
| Source/Internal/Include/filter_bat2.h | 36 | 36 |
| Source/Internal/Include/gas167.h | 17 | 17 |
| Source/Internal/Include/kanal.h | 1 | 1 |
| Source/Internal/Include/log_to_mem.h | 37 | 37 |
| Source/Internal/Include/measure.h | 90 | 90 |
| Source/Internal/Include/message.h | 32 | 32 |
| Source/Internal/Include/package.h | 127 | 127 |
| Source/Internal/Include/peripher.h | 128 | 128 |
| Source/Internal/Include/pulto.h | 1 | 1 |
| Source/Internal/Include/spise2p.h | 74 | 74 |
| Source/Internal/Include/tools.h | 5 | 5 |
| Source/Internal/Include/ump_can_protocol.h | 8 | 8 |
| Source/Internal/RS485.c | 530 | 530 |
| Source/Internal/bios.c | 236 | 236 |
| Source/Internal/cntrl_adr.c | 17 | 17 |
| Source/Internal/crc16.c | 158 | 158 |
| Source/Internal/ecan.c | 242 | 242 |
| Source/Internal/filter_bat2.c | 12 | 12 |
| Source/Internal/gas167.c | 53 | 53 |
| Source/Internal/kanal.c | 153 | 153 |
| Source/Internal/log_to_mem.c | 236 | 236 |
| Source/Internal/main.c | 167 | 167 |
| Source/Internal/measure.c | 625 | 625 |
| Source/Internal/message.c | 289 | 289 |
| Source/Internal/peripher.c | 227 | 227 |
| Source/Internal/pulto.c | 88 | 88 |
| Source/Internal/shared_ump.c | 4 | 4 |
| Source/Internal/spise2p.c | 326 | 326 |
| Source/Internal/tools.c | 31 | 31 |
| UKSSTMS320F28335/28335_RAM_lnk.cmd | 58 | 58 |
| UKSSTMS320F28335/firmware_version.h | 6 | 6 |
| UKSSTMS320F28335/prepare_identity.py | 41 | 41 |
| tests/comments/run_test.py | 127 | 127 |
| tests/eeprom_profiles/run_test.py | 20 | 20 |
| tests/eeprom_profiles/spi_test.c | 46 | 46 |
| tests/eeprom_profiles/stubs/DSP2833x_Device.h | 22 | 22 |
| tests/firmware_identity/check_build.py | 35 | 35 |
| tests/firmware_identity/port_test.c | 29 | 29 |
| tests/gas167/check_image.py | 44 | 44 |
| tests/gas167/gas167_test.c | 191 | 191 |
| tests/gas167/run_test.py | 45 | 45 |
| tests/load_control/load_control_test.c | 93 | 93 |
| tests/load_control/run_test.py | 15 | 15 |
| tests/load_control/stubs/DSP2833x_Device.h | 9 | 9 |
| tests/load_control/stubs/DSP2833x_SWPrioritizedIsrLevels.h | 0 | 0 |
| tests/load_control/stubs/RS485.h | 0 | 0 |
| tests/load_control/stubs/filter_bat2.h | 0 | 0 |
| tests/load_control/stubs/measure.h | 4 | 4 |
| tests/load_control/stubs/message.h | 1 | 1 |
| tests/load_control/stubs/package.h | 17 | 17 |
| tests/load_control/stubs/peripher.h | 14 | 14 |
| tests/load_control/stubs/tools.h | 0 | 0 |
| tests/rs232_fifo/model.inc | 113 | 113 |
| tests/rs232_fifo/run_test.py | 53 | 53 |
| tests/ump_logger/init_test.c | 52 | 52 |
| tests/ump_logger/recorder_test.c | 151 | 151 |
| tests/ump_logger/run_init_test.py | 30 | 30 |
| tests/ump_logger/run_test.py | 34 | 34 |
| tests/ump_logger/stubs/ADC.h | 1 | 1 |
| tests/ump_logger/stubs/DAC.h | 1 | 1 |
| tests/ump_logger/stubs/DSP2833x_Device.h | 9 | 9 |
| tests/ump_logger/stubs/RS485.h | 0 | 0 |
| tests/ump_logger/stubs/filter_bat2.h | 0 | 0 |
| tests/ump_logger/stubs/measure.h | 2 | 2 |
| tests/ump_logger/stubs/message.h | 0 | 0 |
| tests/ump_logger/stubs/package.h | 11 | 11 |
| tests/ump_logger/stubs/peripher.h | 0 | 0 |
| tests/ump_logger/test_firmware_image.py | 51 | 51 |
| tests/ump_logger/ti_syntax.h | 2 | 2 |

108
Doc/SOURCE_GUIDE.md Normal file
View File

@@ -0,0 +1,108 @@
# Назначение исходников Бальзам-167
Все редактируемые исходники C/H, ASM, CMD и Python используют UTF-8 без BOM.
Каждая строка кода снабжена русским пояснением. Существующие уведомления TI
и сведения о поставляемых файлах сохранены. Таблица покрытия и воспроизводимая
проверка находятся в [COMMENT_AUDIT.md](COMMENT_AUDIT.md) и
../tests/comments/run_test.py.
## Порядок работы
main.c сначала настраивает системные такты, PIE, внешнюю RAM, адрес платы,
CAN и оба SCI. Затем запускает EEPROM, очищает RAM журнала, явно инициализирует
регистратор и автомат LOAD, настраивает Timer1 и разрешает прерывания.
Параметры читаются из EEPROM; для LOAD Setup_DAC_time применяет длительность
нарастания тока и проверяет сохранённый тайм-аут CAN. Главный цикл обслуживает
команды, сохранение параметров, события регистратора и передачу служебного CAN.
Timer1 задаёт основную частоту READY_FREQ=1000 Гц. Для измерительной платы
обработчик находится в measure.c, для пульта — в pulto.c. Автомат нагрузки
выполняется в Timer1: он владеет START/STOP/разрешением и обновлением тока ЦАП.
Главный цикл не включает нагрузку поверх состояния защиты. Timer2 продвигает
автомат EEPROM; ожидание SPI не выполняется внутри длительной блокировки IRQ.
## Внутренние модули
| Файл | Назначение и важные ограничения |
| --- | --- |
| main.c | Порядок запуска, общий цикл, команды загрузчика и Modbus; COM_1 115200 с FIFO. |
| ADC.c | Настройка каналов АЦП, обработка преобразований и обновление фильтров. |
| measure.c | Типы датчиков, температурные/токовые/мощностные расчёты, диагностика, периодический такт. |
| filter_bat2.c | Накопительный фильтр; история и сумма обновляются вместе с новым отсчётом. |
| DAC.c | Передача слов ЦАП и автомат нагрузки: свежесть CAN, напряжение, STOP и максимум пять пусков. |
| ecan.c | Штатные CAN-кадры и отдельный служебный обмен УМП/GAS; ISR принимает, главный цикл передаёт ответ. |
| RS485.c | SCI-A/SCI-B, разбор кадров и упаковка слов; FIFO используется только первым портом. |
| message.c | FC03/FC06, маршрутизация УМП/GAS, заводские и сохраняемые параметры. |
| gas167.c | Карта 167/v1; проверка всего диапазона до чтения; ограничение записи такое же, как у обычного Modbus. |
| log_to_mem.c | Два банка RAM регистратора, события START/STOP/CAN/RS, замороженный архив и чтение через УМП. |
| shared_ump.c | Подключение общего протокола и паспорта из соседнего репозитория; логика общей библиотеки здесь не дублируется. |
| spise2p.c | SPI EEPROM: команда, адрес, порции данных, границы страниц и ожидание окончания записи. |
| bios.c | Последовательный загрузчик, команды памяти и EXTEND; адрес EEPROM проверяется отдельно от RAM. |
| cntrl_adr.c | Установка собственного/универсального адреса устройства. |
| peripher.c | Аппаратные перемычки, тип платы, кнопки, выбор канала и служебные GPIO. |
| kanal.c | Последовательная передача битов индикации выбранного канала. |
| pulto.c | Периодический обработчик и обмен пульта. |
| crc16.c | Таблицы и алгоритмы CRC для используемых пакетов. |
| tools.c | Внешняя шина XINTF Zone7 и задержки в микросекундах. |
## Заголовки проекта
package.h определяет аппаратные адреса и псевдонимы modbus. Стартовый ток
находится в 0x50, конечный — в 0x51. Сохраняемый LOAD_CAN_TIMEOUT занимает 0x52:
разрешено 1..60000 мс; заводское значение 600 мс устанавливается Default_params.
Setup_DAC_time исправляет недопустимое сохранённое значение на 600 мс.
Load_runner дополнительно использует 600 мс для локальной страховки при
недопустимом значении. LOAD_STATUS=0x7C и LOAD_ATTEMPTS=0x7D доступны для чтения.
eeprom_config.h выбирает физическую микросхему при сборке. spise2p.h задаёт
ширину адреса, длину страницы и типы задания SPI. gas167.h описывает границы
профиля и контракт снимка. log_to_mem.h задаёт формат точек и ёмкость банков.
RS485.h описывает состояние портов, буферы, FIFO и тайм-ауты.
measure.h хранит частоты, типы датчиков и битовые состояния диагностики.
caliber.h содержит заводские калибровочные значения. GPIO_table.h и peripher.h
задают аппаратные сигналы. Остальные заголовки объявляют интерфейсы одноимённых
модулей.
## Слово C28x и физические байты
На C28x int и char имеют ширину 16 бит. Адреса технологических регистров и GAS
считаются словами. Размеры EEPROM, загрузочного SCI8 BIN и октеты RTU считаются
8-битными байтами. Поэтому преобразование адреса EEPROM в байты выполняется
явно. Хостовые проверки используют uint16_t и модель аппаратных регистров,
чтобы обычные 8-битные char/32-битные int ПК не меняли смысл пакетов.
F28335.cmd размещает код в RAM и экспортирует абсолютные символы границ EEPROM.
EEPROM не является памятью, доступной ядру напрямую: ROM загружает образ по SPI
в RAM. Увеличение EEPROM не расширяет .text или RAM регистратора. Секция .logg
остаётся в Zone7A. Подробные пределы: [EEPROM_LAYOUT.md](EEPROM_LAYOUT.md).
## Поставляемые TI файлы
DSP2833x_headers/include содержит структуры аппаратных регистров и их битовые
поля. GlobalVariableDefs.c размещает структуры в именованных секциях; файлы
Headers_BIOS.cmd/Headers_nonBIOS.cmd связывают их с аппаратными адресами.
Рабочая сборка использует nonBIOS.
DSP2833x_common содержит начальную настройку тактов, таймеров, АЦП, PIE и XINTF,
таблицы векторов и программные приоритеты ISR. В SWPrioritizedIsrLevels.h
приоритет 0 исключает источник, меньшее ненулевое значение означает более
высокий приоритет; MINT и MG вычисляют соответствующие маски.
ADC_cal.asm и usDelay.asm обеспечивают фабричную калибровку/задержку C28x.
Комментарии описывают исходный порядок инструкций; код поставляемых модулей
не изменён.
## Настройки и результаты сборки
.project регистрирует связанные исходники и заголовки, .cproject задаёт Debug,
Release, флаги, пути и pre/post-build. .ccsproject описывает устройство и
инструментарий, .settings/*.prefs — настройки Eclipse/CCS. Эти XML и properties
содержат русские комментарии без изменения значений опций.
firmware_identity.json — входные product/target. Паспорт BIN и
profile-comparison.json — структурированные данные; комментарии JSON
недопустимы. Их поля описаны в FIRMWARE_IDENTITY.md и GAS_167_M95M02.md.
.bin/.hex/.out/.map, EXE, LIB и XLS — данные или результаты сторонних инструментов;
их нельзя снабжать комментариями как исходный C-код. .paf2/.sbl и корневые
.pjt/.lkf относятся к старым данным IDE/сборки. postBuildStep_Debug.old и fixya.bat
сохранены как старые служебные сценарии; действующие шаги CCS определены в
.cproject и соседних шаблонах.

View File

@@ -1,3 +1,4 @@
/* Распределение памяти линкером и абсолютные границы загрузочного образа EEPROM. Русские пояснения сохранены в UTF-8. */
/*
// TI File $Revision: /main/10 $
// Checkin $Date: July 9, 2008 13:43:56 $
@@ -73,60 +74,70 @@
* region at address zero: SPI boot copies its table into the RAM areas below.
* Export its physical layout as absolute byte/word symbols for .map/debugging.
* The final SCI8 image size (including boot headers) is checked after hex2000. */
/* Подключает "Source/Internal/Include/eeprom_config.h": выбор профиля физически установленной EEPROM при сборке. */
#include "Source/Internal/Include/eeprom_config.h"
/* Подключает "include/balsam167_eeprom_layout.h": настройки и интерфейс balsam167_eeprom_layout. */
#include "include/balsam167_eeprom_layout.h"
/* Записывает _EEPROM_TOTAL_BYTES значением BALSAM167_EEPROM_BYTES; данные _EEPROM_TOTAL_BYTES. */
_EEPROM_TOTAL_BYTES = BALSAM167_EEPROM_BYTES;
/* Записывает _EEPROM_FIRMWARE_LIMIT_BYTES значением BALSAM167_EEPROM_FIRMWARE_BYTES; данные _EEPROM_FIRMWARE_LIMIT_BYTES. */
_EEPROM_FIRMWARE_LIMIT_BYTES = BALSAM167_EEPROM_FIRMWARE_BYTES;
/* Записывает _EEPROM_PARAMS_START_WORD значением BALSAM167_EEPROM_PARAMS_START_WORD; EEPROM PARAMS START слово. */
_EEPROM_PARAMS_START_WORD = BALSAM167_EEPROM_PARAMS_START_WORD;
/* Записывает _EEPROM_PARAMS_START_BYTE значением BALSAM167_EEPROM_FIRMWARE_BYTES; данные _EEPROM_PARAMS_START_BYTE. */
_EEPROM_PARAMS_START_BYTE = BALSAM167_EEPROM_FIRMWARE_BYTES;
/* Записывает _EEPROM_PARAMS_END_BYTE значением BALSAM167_EEPROM_PARAMS_END_WORD * 2; данные _EEPROM_PARAMS_END_BYTE. */
_EEPROM_PARAMS_END_BYTE = BALSAM167_EEPROM_PARAMS_END_WORD * 2;
/* Начинает описание физических блоков памяти для линкера. */
MEMORY
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
PAGE 0: /* Program Memory */
PAGE 0: /* Program Memory */ /* Выбирает страницу адресного пространства линкера: 0 — программа, 1 — данные. */
/* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */
ZONE0 : origin = 0x004000, length = 0x001000 /* XINTF zone 0 */
RAML0 : origin = 0x008000, length = 0x004000 /* on-chip RAM block L0 */
ZONE0 : origin = 0x004000, length = 0x001000 /* XINTF zone 0 */ /* Записывает origin значением 0x004000, length = 0x001000; данные origin. */
RAML0 : origin = 0x008000, length = 0x004000 /* on-chip RAM block L0 */ /* Записывает origin значением 0x008000, length = 0x004000; данные origin. */
/* RAML1 : origin = 0x009000, length = 0x001000 /* on-chip RAM block L1 */
/* RAML2 : origin = 0x00A000, length = 0x001000 /* on-chip RAM block L2 */
// RAML3 : origin = 0x00B000, length = 0x001000 /* on-chip RAM block L3 */
RAML4 : origin = 0x00C000, length = 0x001000 /* on-chip RAM block L1 */
RAML4 : origin = 0x00C000, length = 0x001000 /* on-chip RAM block L1 */ /* Записывает origin значением 0x00C000, length = 0x001000; данные origin. */
ZONE6 : origin = 0x0100000, length = 0x100000 /* XINTF zone 6 */
FLASHH : origin = 0x300000, length = 0x008000 /* on-chip FLASH */
FLASHG : origin = 0x308000, length = 0x008000 /* on-chip FLASH */
FLASHF : origin = 0x310000, length = 0x008000 /* on-chip FLASH */
FLASHE : origin = 0x318000, length = 0x008000 /* on-chip FLASH */
FLASHD : origin = 0x320000, length = 0x008000 /* on-chip FLASH */
FLASHC : origin = 0x328000, length = 0x008000 /* on-chip FLASH */
FLASHA : origin = 0x338000, length = 0x007F80 /* on-chip FLASH */
CSM_RSVD : origin = 0x33FF80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */
BEGIN : origin = 0x33FFF6, length = 0x000002 /* Part of FLASHA. Used for "boot to Flash" bootloader mode. */
CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */
OTP : origin = 0x380400, length = 0x000400 /* on-chip OTP */
ADC_CAL : origin = 0x380080, length = 0x000009 /* ADC_cal function in Reserved memory */
ZONE6 : origin = 0x0100000, length = 0x100000 /* XINTF zone 6 */ /* Записывает origin значением 0x0100000, length = 0x100000; данные origin. */
FLASHH : origin = 0x300000, length = 0x008000 /* on-chip FLASH */ /* Записывает origin значением 0x300000, length = 0x008000; данные origin. */
FLASHG : origin = 0x308000, length = 0x008000 /* on-chip FLASH */ /* Записывает origin значением 0x308000, length = 0x008000; данные origin. */
FLASHF : origin = 0x310000, length = 0x008000 /* on-chip FLASH */ /* Записывает origin значением 0x310000, length = 0x008000; данные origin. */
FLASHE : origin = 0x318000, length = 0x008000 /* on-chip FLASH */ /* Записывает origin значением 0x318000, length = 0x008000; данные origin. */
FLASHD : origin = 0x320000, length = 0x008000 /* on-chip FLASH */ /* Записывает origin значением 0x320000, length = 0x008000; данные origin. */
FLASHC : origin = 0x328000, length = 0x008000 /* on-chip FLASH */ /* Записывает origin значением 0x328000, length = 0x008000; данные origin. */
FLASHA : origin = 0x338000, length = 0x007F80 /* on-chip FLASH */ /* Записывает origin значением 0x338000, length = 0x007F80; данные origin. */
CSM_RSVD : origin = 0x33FF80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */ /* Записывает origin значением 0x33FF80, length = 0x000076; данные origin. */
BEGIN : origin = 0x33FFF6, length = 0x000002 /* Part of FLASHA. Used for "boot to Flash" bootloader mode. */ /* Записывает origin значением 0x33FFF6, length = 0x000002; данные origin. */
CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */ /* Записывает origin значением 0x33FFF8, length = 0x000008; данные origin. */
OTP : origin = 0x380400, length = 0x000400 /* on-chip OTP */ /* Записывает origin значением 0x380400, length = 0x000400; данные origin. */
ADC_CAL : origin = 0x380080, length = 0x000009 /* ADC_cal function in Reserved memory */ /* Записывает origin значением 0x380080, length = 0x000009; данные origin. */
IQTABLES : origin = 0x3FE000, length = 0x000b50 /* IQ Math Tables in Boot ROM */
IQTABLES2 : origin = 0x3FEB50, length = 0x00008c /* IQ Math Tables in Boot ROM */
FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0 /* FPU Tables in Boot ROM */
ROM : origin = 0x3FF27C, length = 0x000D44 /* Boot ROM */
RESET : origin = 0x3FFFC0, length = 0x000002 /* part of boot ROM */
VECTORS : origin = 0x3FFFC2, length = 0x00003E /* part of boot ROM */
IQTABLES : origin = 0x3FE000, length = 0x000b50 /* IQ Math Tables in Boot ROM */ /* Записывает origin значением 0x3FE000, length = 0x000b50; данные origin. */
IQTABLES2 : origin = 0x3FEB50, length = 0x00008c /* IQ Math Tables in Boot ROM */ /* Записывает origin значением 0x3FEB50, length = 0x00008c; данные origin. */
FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0 /* FPU Tables in Boot ROM */ /* Записывает origin значением 0x3FEBDC, length = 0x0006A0; данные origin. */
ROM : origin = 0x3FF27C, length = 0x000D44 /* Boot ROM */ /* Записывает origin значением 0x3FF27C, length = 0x000D44; данные origin. */
RESET : origin = 0x3FFFC0, length = 0x000002 /* part of boot ROM */ /* Записывает origin значением 0x3FFFC0, length = 0x000002; данные origin. */
VECTORS : origin = 0x3FFFC2, length = 0x00003E /* part of boot ROM */ /* Записывает origin значением 0x3FFFC2, length = 0x00003E; данные origin. */
PAGE 1 : /* Data Memory */
PAGE 1 : /* Data Memory */ /* Выбирает страницу адресного пространства линкера: 0 — программа, 1 — данные. */
/* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation */
/* Registers remain on PAGE1 */
BOOT_RSVD : origin = 0x000000, length = 0x000050 /* Part of M0, BOOT rom will use this for stack */
RAMM0 : origin = 0x000050, length = 0x0003B0 /* on-chip RAM block M0 */
RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */
RAML5 : origin = 0x00D000, length = 0x003000 /* on-chip RAM block L1 */
BOOT_RSVD : origin = 0x000000, length = 0x000050 /* Part of M0, BOOT rom will use this for stack */ /* Записывает origin значением 0x000000, length = 0x000050; данные origin. */
RAMM0 : origin = 0x000050, length = 0x0003B0 /* on-chip RAM block M0 */ /* Записывает origin значением 0x000050, length = 0x0003B0; данные origin. */
RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */ /* Записывает origin значением 0x000400, length = 0x000400; данные origin. */
RAML5 : origin = 0x00D000, length = 0x003000 /* on-chip RAM block L1 */ /* Записывает origin значением 0x00D000, length = 0x003000; данные origin. */
/* RAML6 : origin = 0x00E000, length = 0x001000 /* on-chip RAM block L1 */
/* RAML7 : origin = 0x00F000, length = 0x001000 /* on-chip RAM block L1 */
ZONE7A : origin = 0x0200000, length = 0x00FC00 /* XINTF zone 7 - program space */
ZONE7B : origin = 0x20FC00, length = 0x000400 /* XINTF zone 7 - data space */
FLASHB : origin = 0x330000, length = 0x008000 /* on-chip FLASH */
ZONE7A : origin = 0x0200000, length = 0x00FC00 /* XINTF zone 7 - program space */ /* Записывает origin значением 0x0200000, length = 0x00FC00; данные origin. */
ZONE7B : origin = 0x20FC00, length = 0x000400 /* XINTF zone 7 - data space */ /* Записывает origin значением 0x20FC00, length = 0x000400; данные origin. */
FLASHB : origin = 0x330000, length = 0x008000 /* on-chip FLASH */ /* Записывает origin значением 0x330000, length = 0x008000; данные origin. */
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Allocate sections to memory blocks.
@@ -136,39 +147,60 @@ PAGE 1 : /* Data Memory */
ramfuncs user defined section to store functions that will be copied from Flash into RAM
*/
/* Начинает описание размещения секций объектных файлов для линкера. */
SECTIONS
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Allocate program areas: */
/* Keep initialization tables out of the code RAM block. */
/* Записывает PAGE значением 0; данные PAGE. */
.cinit : > RAML4 PAGE = 0
/* Записывает PAGE значением 0; данные PAGE. */
.pinit : > RAML0 PAGE = 0
/* Записывает PAGE значением 0; данные PAGE. */
.text : > RAML0 PAGE = 0
/* Записывает PAGE значением 0; данные PAGE. */
codestart : > BEGIN PAGE = 0
/* Записывает LOAD значением RAML4,; данные LOAD. */
ramfuncs : LOAD = RAML4,
/* Записывает RUN значением RAML4,; данные RUN. */
RUN = RAML4,
/* Вызывает LOAD_START с аргументами (_RamfuncsLoadStart), в текущей последовательности операций. */
LOAD_START(_RamfuncsLoadStart),
/* Вызывает LOAD_END с аргументами (_RamfuncsLoadEnd), в текущей последовательности операций. */
LOAD_END(_RamfuncsLoadEnd),
/* Вызывает RUN_START с аргументами (_RamfuncsRunStart), в текущей последовательности операций. */
RUN_START(_RamfuncsRunStart),
/* Записывает PAGE значением 0; данные PAGE. */
PAGE = 0
/* Записывает PAGE значением 0; данные PAGE. */
csmpasswds : > CSM_PWL PAGE = 0
/* Записывает PAGE значением 0; данные PAGE. */
csm_rsvd : > CSM_RSVD PAGE = 0
/* Allocate uninitalized data sections: */
/* Записывает PAGE значением 1; данные PAGE. */
.stack : > RAMM1 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
.ebss : > RAML5 PAGE = 1
/* Записывает PAGE значением 0; данные PAGE. */
.esysmem : > RAML0 PAGE = 0
/* Записывает PAGE значением 1; данные PAGE. */
.logg : > ZONE7A PAGE = 1
/* Initalized sections go in Flash */
/* For SDFlash to program these, they must be allocated to page 0 */
/* Записывает PAGE значением 0; данные PAGE. */
.econst : > RAML4 PAGE = 0
/* Записывает PAGE значением 0; данные PAGE. */
.switch : > RAML4 PAGE = 0
/* Allocate IQ math areas: */
IQmath : > FLASHC PAGE = 0 /* Math Code */
IQmath : > FLASHC PAGE = 0 /* Math Code */ /* Записывает PAGE значением 0; данные PAGE. */
/* Записывает PAGE значением 0, TYPE = NOLOAD; данные PAGE. */
IQmathTables : > IQTABLES, PAGE = 0, TYPE = NOLOAD
/* Uncomment the section below if calling the IQNexp() or IQexp()
@@ -187,6 +219,7 @@ SECTIONS
}
*/
/* Записывает PAGE значением 0, TYPE = NOLOAD; данные PAGE. */
FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD
/* Allocate DMA-accessible RAM sections: * /
@@ -196,6 +229,7 @@ SECTIONS
DMARAML7 : > RAML7, PAGE = 1
*/
/* Allocate 0x400 of XINTF Zone 7 to storing data */
/* Записывает PAGE значением 1; данные PAGE. */
ZONE7DATA : > ZONE7B, PAGE = 1
/* .reset is a standard section used by the compiler. It contains the */
@@ -203,12 +237,16 @@ SECTIONS
/* When using the boot ROM this section and the CPU vector */
/* table is not needed. Thus the default type is set here to */
/* DSECT */
/* Записывает PAGE значением 0, TYPE = DSECT; данные PAGE. */
.reset : > RESET, PAGE = 0, TYPE = DSECT
/* Записывает PAGE значением 0, TYPE = DSECT; данные PAGE. */
vectors : > VECTORS PAGE = 0, TYPE = DSECT
/* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */
/* Записывает load значением ADC_CAL, PAGE = 0, TYPE = NOLOAD; данные load. */
.adc_cal : load = ADC_CAL, PAGE = 0, TYPE = NOLOAD
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/*

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание DefaultIsr для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/1 $
// Checkin $Date: August 18, 2006 13:45:37 $
//###########################################################################
@@ -11,11 +12,16 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_DEFAULT_ISR_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_DEFAULT_ISR_H
/* Определяет защитный символ или переключатель DSP2833x_DEFAULT_ISR_H для последующей компиляции. */
#define DSP2833x_DEFAULT_ISR_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
@@ -29,93 +35,163 @@ extern "C" {
//
// Non-Peripheral Interrupts:
/* Объявляет обработчик INT13_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void INT13_ISR(void); // XINT13 or CPU-Timer 1
/* Объявляет обработчик INT14_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void INT14_ISR(void); // CPU-Timer2
/* Объявляет обработчик DATALOG_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void DATALOG_ISR(void); // Datalogging interrupt
/* Объявляет обработчик RTOSINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void RTOSINT_ISR(void); // RTOS interrupt
/* Объявляет обработчик EMUINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EMUINT_ISR(void); // Emulation interrupt
/* Объявляет обработчик NMI_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void NMI_ISR(void); // Non-maskable interrupt
/* Объявляет обработчик ILLEGAL_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ILLEGAL_ISR(void); // Illegal operation TRAP
/* Объявляет обработчик USER1_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER1_ISR(void); // User Defined trap 1
/* Объявляет обработчик USER2_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER2_ISR(void); // User Defined trap 2
/* Объявляет обработчик USER3_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER3_ISR(void); // User Defined trap 3
/* Объявляет обработчик USER4_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER4_ISR(void); // User Defined trap 4
/* Объявляет обработчик USER5_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER5_ISR(void); // User Defined trap 5
/* Объявляет обработчик USER6_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER6_ISR(void); // User Defined trap 6
/* Объявляет обработчик USER7_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER7_ISR(void); // User Defined trap 7
/* Объявляет обработчик USER8_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER8_ISR(void); // User Defined trap 8
/* Объявляет обработчик USER9_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER9_ISR(void); // User Defined trap 9
/* Объявляет обработчик USER10_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER10_ISR(void); // User Defined trap 10
/* Объявляет обработчик USER11_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER11_ISR(void); // User Defined trap 11
/* Объявляет обработчик USER12_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER12_ISR(void); // User Defined trap 12
// Group 1 PIE Interrupt Service Routines:
/* Объявляет обработчик SEQ1INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SEQ1INT_ISR(void); // ADC Sequencer 1 ISR
/* Объявляет обработчик SEQ2INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SEQ2INT_ISR(void); // ADC Sequencer 2 ISR
/* Объявляет обработчик XINT1_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void XINT1_ISR(void); // External interrupt 1
/* Объявляет обработчик XINT2_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void XINT2_ISR(void); // External interrupt 2
/* Объявляет обработчик ADCINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ADCINT_ISR(void); // ADC
/* Объявляет обработчик TINT0_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void TINT0_ISR(void); // Timer 0
/* Объявляет обработчик WAKEINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void WAKEINT_ISR(void); // WD
// Group 2 PIE Interrupt Service Routines:
/* Объявляет обработчик EPWM1_TZINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM1_TZINT_ISR(void); // EPWM-1
/* Объявляет обработчик EPWM2_TZINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM2_TZINT_ISR(void); // EPWM-2
/* Объявляет обработчик EPWM3_TZINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM3_TZINT_ISR(void); // EPWM-3
/* Объявляет обработчик EPWM4_TZINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM4_TZINT_ISR(void); // EPWM-4
/* Объявляет обработчик EPWM5_TZINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM5_TZINT_ISR(void); // EPWM-5
/* Объявляет обработчик EPWM6_TZINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM6_TZINT_ISR(void); // EPWM-6
// Group 3 PIE Interrupt Service Routines:
/* Объявляет обработчик EPWM1_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM1_INT_ISR(void); // EPWM-1
/* Объявляет обработчик EPWM2_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM2_INT_ISR(void); // EPWM-2
/* Объявляет обработчик EPWM3_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM3_INT_ISR(void); // EPWM-3
/* Объявляет обработчик EPWM4_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM4_INT_ISR(void); // EPWM-4
/* Объявляет обработчик EPWM5_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM5_INT_ISR(void); // EPWM-5
/* Объявляет обработчик EPWM6_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM6_INT_ISR(void); // EPWM-6
// Group 4 PIE Interrupt Service Routines:
/* Объявляет обработчик ECAP1_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAP1_INT_ISR(void); // ECAP-1
/* Объявляет обработчик ECAP2_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAP2_INT_ISR(void); // ECAP-2
/* Объявляет обработчик ECAP3_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAP3_INT_ISR(void); // ECAP-3
/* Объявляет обработчик ECAP4_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAP4_INT_ISR(void); // ECAP-4
/* Объявляет обработчик ECAP5_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAP5_INT_ISR(void); // ECAP-5
/* Объявляет обработчик ECAP6_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAP6_INT_ISR(void); // ECAP-6
// Group 5 PIE Interrupt Service Routines:
/* Объявляет обработчик EQEP1_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EQEP1_INT_ISR(void); // EQEP-1
/* Объявляет обработчик EQEP2_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EQEP2_INT_ISR(void); // EQEP-2
// Group 6 PIE Interrupt Service Routines:
/* Объявляет обработчик SPIRXINTA_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SPIRXINTA_ISR(void); // SPI-A
/* Объявляет обработчик SPITXINTA_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SPITXINTA_ISR(void); // SPI-A
/* Объявляет обработчик MRINTA_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void MRINTA_ISR(void); // McBSP-A
/* Объявляет обработчик MXINTA_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void MXINTA_ISR(void); // McBSP-A
/* Объявляет обработчик MRINTB_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void MRINTB_ISR(void); // McBSP-B
/* Объявляет обработчик MXINTB_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void MXINTB_ISR(void); // McBSP-B
// Group 7 PIE Interrupt Service Routines:
/* Объявляет обработчик DINTCH1_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void DINTCH1_ISR(void); // DMA-Channel 1
/* Объявляет обработчик DINTCH2_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void DINTCH2_ISR(void); // DMA-Channel 2
/* Объявляет обработчик DINTCH3_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void DINTCH3_ISR(void); // DMA-Channel 3
/* Объявляет обработчик DINTCH4_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void DINTCH4_ISR(void); // DMA-Channel 4
/* Объявляет обработчик DINTCH5_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void DINTCH5_ISR(void); // DMA-Channel 5
/* Объявляет обработчик DINTCH6_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void DINTCH6_ISR(void); // DMA-Channel 6
// Group 8 PIE Interrupt Service Routines:
/* Объявляет обработчик I2CINT1A_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void I2CINT1A_ISR(void); // I2C-A
/* Объявляет обработчик I2CINT2A_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void I2CINT2A_ISR(void); // I2C-A
/* Объявляет обработчик SCIRXINTC_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SCIRXINTC_ISR(void); // SCI-C
/* Объявляет обработчик SCITXINTC_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SCITXINTC_ISR(void); // SCI-C
// Group 9 PIE Interrupt Service Routines:
/* Объявляет обработчик SCIRXINTA_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SCIRXINTA_ISR(void); // SCI-A
/* Объявляет обработчик SCITXINTA_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SCITXINTA_ISR(void); // SCI-A
/* Объявляет обработчик SCIRXINTB_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SCIRXINTB_ISR(void); // SCI-B
/* Объявляет обработчик SCITXINTB_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SCITXINTB_ISR(void); // SCI-B
/* Объявляет обработчик ECAN0INTA_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAN0INTA_ISR(void); // eCAN-A
/* Объявляет обработчик ECAN1INTA_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAN1INTA_ISR(void); // eCAN-A
/* Объявляет обработчик ECAN0INTB_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAN0INTB_ISR(void); // eCAN-B
/* Объявляет обработчик ECAN1INTB_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAN1INTB_ISR(void); // eCAN-B
// Group 10 PIE Interrupt Service Routines:
@@ -123,23 +199,36 @@ interrupt void ECAN1INTB_ISR(void); // eCAN-B
// Group 11 PIE Interrupt Service Routines:
// Group 12 PIE Interrupt Service Routines:
/* Объявляет обработчик XINT3_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void XINT3_ISR(void); // External interrupt 3
/* Объявляет обработчик XINT4_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void XINT4_ISR(void); // External interrupt 4
/* Объявляет обработчик XINT5_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void XINT5_ISR(void); // External interrupt 5
/* Объявляет обработчик XINT6_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void XINT6_ISR(void); // External interrupt 6
/* Объявляет обработчик XINT7_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void XINT7_ISR(void); // External interrupt 7
/* Объявляет обработчик LVF_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void LVF_ISR(void); // Latched overflow flag
/* Объявляет обработчик LUF_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void LUF_ISR(void); // Latched underflow flag
// Catch-all for Reserved Locations For testing purposes:
/* Объявляет интерфейс функции PIE_RESERVED; реализация вызывается через этот прототип. */
interrupt void PIE_RESERVED(void); // Reserved for test
/* Объявляет обработчик rsvd_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void rsvd_ISR(void); // for test
/* Объявляет обработчик INT_NOTUSED_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void INT_NOTUSED_ISR(void); // for unused interrupts
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_DEFAULT_ISR_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание Dma_defines для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/2 $
// Checkin $Date: August 14, 2007 16:32:29 $
//###########################################################################
@@ -11,69 +12,112 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_DMA_DEFINES_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_DMA_DEFINES_H
/* Определяет защитный символ или переключатель DSP2833x_DMA_DEFINES_H для последующей компиляции. */
#define DSP2833x_DMA_DEFINES_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// MODE
//==========================
// PERINTSEL bits
/* Задаёт DMA_SEQ1INT = 1; DMA 1 INT. */
#define DMA_SEQ1INT 1
/* Задаёт DMA_SEQ2INT = 2; DMA 2 INT. */
#define DMA_SEQ2INT 2
/* Задаёт DMA_XINT1 = 3; DMA 1. */
#define DMA_XINT1 3
/* Задаёт DMA_XINT2 = 4; DMA 2. */
#define DMA_XINT2 4
/* Задаёт DMA_XINT3 = 5; DMA 3. */
#define DMA_XINT3 5
/* Задаёт DMA_XINT4 = 6; DMA 4. */
#define DMA_XINT4 6
/* Задаёт DMA_XINT5 = 7; DMA 5. */
#define DMA_XINT5 7
/* Задаёт DMA_XINT6 = 8; DMA 6. */
#define DMA_XINT6 8
/* Задаёт DMA_XINT7 = 9; DMA 7. */
#define DMA_XINT7 9
/* Задаёт DMA_XINT13 = 10; DMA 13. */
#define DMA_XINT13 10
/* Задаёт DMA_TINT0 = 11; DMA 0. */
#define DMA_TINT0 11
/* Задаёт DMA_TINT1 = 12; DMA 1. */
#define DMA_TINT1 12
/* Задаёт DMA_TINT2 = 13; DMA 2. */
#define DMA_TINT2 13
/* Задаёт DMA_MXEVTA = 14; DMA MXEVTA. */
#define DMA_MXEVTA 14
/* Задаёт DMA_MREVTA = 15; DMA MREVTA. */
#define DMA_MREVTA 15
/* Задаёт DMA_MXREVTB = 16; DMA MXREVTB. */
#define DMA_MXREVTB 16
/* Задаёт DMA_MREVTB = 17; DMA MREVTB. */
#define DMA_MREVTB 17
// OVERINTE bit
/* Задаёт OVRFLOW_DISABLE = 0x0; OVRFLOW запрет. */
#define OVRFLOW_DISABLE 0x0
/* Задаёт OVEFLOW_ENABLE = 0x1; OVEFLOW разрешение. */
#define OVEFLOW_ENABLE 0x1
// PERINTE bit
/* Задаёт PERINT_DISABLE = 0x0; PERINT запрет. */
#define PERINT_DISABLE 0x0
/* Задаёт PERINT_ENABLE = 0x1; PERINT разрешение. */
#define PERINT_ENABLE 0x1
// CHINTMODE bits
/* Задаёт CHINT_BEGIN = 0x0; данные CHINT_BEGIN. */
#define CHINT_BEGIN 0x0
/* Задаёт CHINT_END = 0x1; данные CHINT_END. */
#define CHINT_END 0x1
// ONESHOT bits
/* Задаёт ONESHOT_DISABLE = 0x0; ONESHOT запрет. */
#define ONESHOT_DISABLE 0x0
/* Задаёт ONESHOT_ENABLE = 0x1; ONESHOT разрешение. */
#define ONESHOT_ENABLE 0x1
// CONTINOUS bit
/* Задаёт CONT_DISABLE = 0x0; CONT запрет. */
#define CONT_DISABLE 0x0
/* Задаёт CONT_ENABLE = 0x1; CONT разрешение. */
#define CONT_ENABLE 0x1
// SYNCE bit
/* Задаёт SYNC_DISABLE = 0x0; синхронизация запрет. */
#define SYNC_DISABLE 0x0
/* Задаёт SYNC_ENABLE = 0x1; синхронизация разрешение. */
#define SYNC_ENABLE 0x1
// SYNCSEL bit
/* Задаёт SYNC_SRC = 0x0; синхронизация SRC. */
#define SYNC_SRC 0x0
/* Задаёт SYNC_DST = 0x1; синхронизация DST. */
#define SYNC_DST 0x1
// DATASIZE bit
/* Задаёт SIXTEEN_BIT = 0x0; SIXTEEN бит. */
#define SIXTEEN_BIT 0x0
/* Задаёт THIRTYTWO_BIT = 0x1; THIRTYTWO бит. */
#define THIRTYTWO_BIT 0x1
// CHINTE bit
/* Задаёт CHINT_DISABLE = 0x0; CHINT запрет. */
#define CHINT_DISABLE 0x0
/* Задаёт CHINT_ENABLE = 0x1; CHINT разрешение. */
#define CHINT_ENABLE 0x1
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // - end of DSP2833x_EPWM_DEFINES_H
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание EPwm_defines для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/1 $
// Checkin $Date: August 18, 2006 13:45:39 $
//###########################################################################
@@ -11,129 +12,206 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_EPWM_DEFINES_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_EPWM_DEFINES_H
/* Определяет защитный символ или переключатель DSP2833x_EPWM_DEFINES_H для последующей компиляции. */
#define DSP2833x_EPWM_DEFINES_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// TBCTL (Time-Base Control)
//==========================
// CTRMODE bits
/* Задаёт TB_COUNT_UP = 0x0; TB число UP. */
#define TB_COUNT_UP 0x0
/* Задаёт TB_COUNT_DOWN = 0x1; TB число DOWN. */
#define TB_COUNT_DOWN 0x1
/* Задаёт TB_COUNT_UPDOWN = 0x2; TB число UPDOWN. */
#define TB_COUNT_UPDOWN 0x2
/* Задаёт TB_FREEZE = 0x3; данные TB_FREEZE. */
#define TB_FREEZE 0x3
// PHSEN bit
/* Задаёт TB_DISABLE = 0x0; TB запрет. */
#define TB_DISABLE 0x0
/* Задаёт TB_ENABLE = 0x1; TB разрешение. */
#define TB_ENABLE 0x1
// PRDLD bit
/* Задаёт TB_SHADOW = 0x0; данные TB_SHADOW. */
#define TB_SHADOW 0x0
/* Задаёт TB_IMMEDIATE = 0x1; данные TB_IMMEDIATE. */
#define TB_IMMEDIATE 0x1
// SYNCOSEL bits
/* Задаёт TB_SYNC_IN = 0x0; TB синхронизация IN. */
#define TB_SYNC_IN 0x0
/* Задаёт TB_CTR_ZERO = 0x1; данные TB_CTR_ZERO. */
#define TB_CTR_ZERO 0x1
/* Задаёт TB_CTR_CMPB = 0x2; данные TB_CTR_CMPB. */
#define TB_CTR_CMPB 0x2
/* Задаёт TB_SYNC_DISABLE = 0x3; TB синхронизация запрет. */
#define TB_SYNC_DISABLE 0x3
// HSPCLKDIV and CLKDIV bits
/* Задаёт TB_DIV1 = 0x0; данные TB_DIV1. */
#define TB_DIV1 0x0
/* Задаёт TB_DIV2 = 0x1; данные TB_DIV2. */
#define TB_DIV2 0x1
/* Задаёт TB_DIV4 = 0x2; данные TB_DIV4. */
#define TB_DIV4 0x2
// PHSDIR bit
/* Задаёт TB_DOWN = 0x0; данные TB_DOWN. */
#define TB_DOWN 0x0
/* Задаёт TB_UP = 0x1; данные TB_UP. */
#define TB_UP 0x1
// CMPCTL (Compare Control)
//==========================
// LOADAMODE and LOADBMODE bits
/* Задаёт CC_CTR_ZERO = 0x0; данные CC_CTR_ZERO. */
#define CC_CTR_ZERO 0x0
/* Задаёт CC_CTR_PRD = 0x1; данные CC_CTR_PRD. */
#define CC_CTR_PRD 0x1
/* Задаёт CC_CTR_ZERO_PRD = 0x2; данные CC_CTR_ZERO_PRD. */
#define CC_CTR_ZERO_PRD 0x2
/* Задаёт CC_LD_DISABLE = 0x3; CC LD запрет. */
#define CC_LD_DISABLE 0x3
// SHDWAMODE and SHDWBMODE bits
/* Задаёт CC_SHADOW = 0x0; данные CC_SHADOW. */
#define CC_SHADOW 0x0
/* Задаёт CC_IMMEDIATE = 0x1; данные CC_IMMEDIATE. */
#define CC_IMMEDIATE 0x1
// AQCTLA and AQCTLB (Action Qualifier Control)
//=============================================
// ZRO, PRD, CAU, CAD, CBU, CBD bits
/* Задаёт AQ_NO_ACTION = 0x0; данные AQ_NO_ACTION. */
#define AQ_NO_ACTION 0x0
/* Задаёт AQ_CLEAR = 0x1; AQ очистка. */
#define AQ_CLEAR 0x1
/* Задаёт AQ_SET = 0x2; AQ установка. */
#define AQ_SET 0x2
/* Задаёт AQ_TOGGLE = 0x3; данные AQ_TOGGLE. */
#define AQ_TOGGLE 0x3
// DBCTL (Dead-Band Control)
//==========================
// OUT MODE bits
/* Задаёт DB_DISABLE = 0x0; DB запрет. */
#define DB_DISABLE 0x0
/* Задаёт DBA_ENABLE = 0x1; DBA разрешение. */
#define DBA_ENABLE 0x1
/* Задаёт DBB_ENABLE = 0x2; DBB разрешение. */
#define DBB_ENABLE 0x2
/* Задаёт DB_FULL_ENABLE = 0x3; DB FULL разрешение. */
#define DB_FULL_ENABLE 0x3
// POLSEL bits
/* Задаёт DB_ACTV_HI = 0x0; данные DB_ACTV_HI. */
#define DB_ACTV_HI 0x0
/* Задаёт DB_ACTV_LOC = 0x1; данные DB_ACTV_LOC. */
#define DB_ACTV_LOC 0x1
/* Задаёт DB_ACTV_HIC = 0x2; данные DB_ACTV_HIC. */
#define DB_ACTV_HIC 0x2
/* Задаёт DB_ACTV_LO = 0x3; данные DB_ACTV_LO. */
#define DB_ACTV_LO 0x3
// IN MODE
/* Задаёт DBA_ALL = 0x0; данные DBA_ALL. */
#define DBA_ALL 0x0
/* Задаёт DBB_RED_DBA_FED = 0x1; данные DBB_RED_DBA_FED. */
#define DBB_RED_DBA_FED 0x1
/* Задаёт DBA_RED_DBB_FED = 0x2; данные DBA_RED_DBB_FED. */
#define DBA_RED_DBB_FED 0x2
/* Задаёт DBB_ALL = 0x3; данные DBB_ALL. */
#define DBB_ALL 0x3
// CHPCTL (chopper control)
//==========================
// CHPEN bit
/* Задаёт CHP_DISABLE = 0x0; CHP запрет. */
#define CHP_DISABLE 0x0
/* Задаёт CHP_ENABLE = 0x1; CHP разрешение. */
#define CHP_ENABLE 0x1
// CHPFREQ bits
/* Задаёт CHP_DIV1 = 0x0; данные CHP_DIV1. */
#define CHP_DIV1 0x0
/* Задаёт CHP_DIV2 = 0x1; данные CHP_DIV2. */
#define CHP_DIV2 0x1
/* Задаёт CHP_DIV3 = 0x2; данные CHP_DIV3. */
#define CHP_DIV3 0x2
/* Задаёт CHP_DIV4 = 0x3; данные CHP_DIV4. */
#define CHP_DIV4 0x3
/* Задаёт CHP_DIV5 = 0x4; данные CHP_DIV5. */
#define CHP_DIV5 0x4
/* Задаёт CHP_DIV6 = 0x5; данные CHP_DIV6. */
#define CHP_DIV6 0x5
/* Задаёт CHP_DIV7 = 0x6; данные CHP_DIV7. */
#define CHP_DIV7 0x6
/* Задаёт CHP_DIV8 = 0x7; данные CHP_DIV8. */
#define CHP_DIV8 0x7
// CHPDUTY bits
/* Задаёт CHP1_8TH = 0x0; данные CHP1_8TH. */
#define CHP1_8TH 0x0
/* Задаёт CHP2_8TH = 0x1; данные CHP2_8TH. */
#define CHP2_8TH 0x1
/* Задаёт CHP3_8TH = 0x2; данные CHP3_8TH. */
#define CHP3_8TH 0x2
/* Задаёт CHP4_8TH = 0x3; данные CHP4_8TH. */
#define CHP4_8TH 0x3
/* Задаёт CHP5_8TH = 0x4; данные CHP5_8TH. */
#define CHP5_8TH 0x4
/* Задаёт CHP6_8TH = 0x5; данные CHP6_8TH. */
#define CHP6_8TH 0x5
/* Задаёт CHP7_8TH = 0x6; данные CHP7_8TH. */
#define CHP7_8TH 0x6
// TZSEL (Trip Zone Select)
//==========================
// CBCn and OSHTn bits
/* Задаёт TZ_DISABLE = 0x0; TZ запрет. */
#define TZ_DISABLE 0x0
/* Задаёт TZ_ENABLE = 0x1; TZ разрешение. */
#define TZ_ENABLE 0x1
// TZCTL (Trip Zone Control)
//==========================
// TZA and TZB bits
/* Задаёт TZ_HIZ = 0x0; данные TZ_HIZ. */
#define TZ_HIZ 0x0
/* Задаёт TZ_FORCE_HI = 0x1; TZ принудительная установка HI. */
#define TZ_FORCE_HI 0x1
/* Задаёт TZ_FORCE_LO = 0x2; TZ принудительная установка LO. */
#define TZ_FORCE_LO 0x2
/* Задаёт TZ_NO_CHANGE = 0x3; данные TZ_NO_CHANGE. */
#define TZ_NO_CHANGE 0x3
// ETSEL (Event Trigger Select)
//=============================
/* Задаёт ET_CTR_ZERO = 0x1; данные ET_CTR_ZERO. */
#define ET_CTR_ZERO 0x1
/* Задаёт ET_CTR_PRD = 0x2; данные ET_CTR_PRD. */
#define ET_CTR_PRD 0x2
/* Задаёт ET_CTRU_CMPA = 0x4; данные ET_CTRU_CMPA. */
#define ET_CTRU_CMPA 0x4
/* Задаёт ET_CTRD_CMPA = 0x5; данные ET_CTRD_CMPA. */
#define ET_CTRD_CMPA 0x5
/* Задаёт ET_CTRU_CMPB = 0x6; данные ET_CTRU_CMPB. */
#define ET_CTRU_CMPB 0x6
/* Задаёт ET_CTRD_CMPB = 0x7; данные ET_CTRD_CMPB. */
#define ET_CTRD_CMPB 0x7
// ETPS (Event Trigger Pre-scale)
//===============================
// INTPRD, SOCAPRD, SOCBPRD bits
/* Задаёт ET_DISABLE = 0x0; ET запрет. */
#define ET_DISABLE 0x0
/* Задаёт ET_1ST = 0x1; данные ET_1ST. */
#define ET_1ST 0x1
/* Задаёт ET_2ND = 0x2; данные ET_2ND. */
#define ET_2ND 0x2
/* Задаёт ET_3RD = 0x3; данные ET_3RD. */
#define ET_3RD 0x3
@@ -141,22 +219,33 @@ extern "C" {
// HRPWM (High Resolution PWM)
//================================
// HRCNFG
/* Задаёт HR_Disable = 0x0; HR запрет. */
#define HR_Disable 0x0
/* Задаёт HR_REP = 0x1; данные HR_REP. */
#define HR_REP 0x1
/* Задаёт HR_FEP = 0x2; данные HR_FEP. */
#define HR_FEP 0x2
/* Задаёт HR_BEP = 0x3; данные HR_BEP. */
#define HR_BEP 0x3
/* Задаёт HR_CMP = 0x0; данные HR_CMP. */
#define HR_CMP 0x0
/* Задаёт HR_PHS = 0x1; данные HR_PHS. */
#define HR_PHS 0x1
/* Задаёт HR_CTR_ZERO = 0x0; данные HR_CTR_ZERO. */
#define HR_CTR_ZERO 0x0
/* Задаёт HR_CTR_PRD = 0x1; данные HR_CTR_PRD. */
#define HR_CTR_PRD 0x1
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // - end of DSP2833x_EPWM_DEFINES_H
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание Examples для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/9 $
// Checkin $Date: July 2, 2008 14:31:12 $
//###########################################################################
@@ -11,12 +12,17 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_EXAMPLES_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_EXAMPLES_H
/* Определяет защитный символ или переключатель DSP2833x_EXAMPLES_H для последующей компиляции. */
#define DSP2833x_EXAMPLES_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
@@ -25,9 +31,11 @@ extern "C" {
-----------------------------------------------------------------------------*/
//#define DSP28_DIVSEL 0 // Enable /4 for SYSCLKOUT
//#define DSP28_DIVSEL 1 // Enable /4 for SYSCKOUT
/* Задаёт DSP28_DIVSEL = 2; данные DSP28_DIVSEL. */
#define DSP28_DIVSEL 2 // Enable /2 for SYSCLKOUT
//#define DSP28_DIVSEL 3 // Enable /1 for SYSCLKOUT
/* Задаёт DSP28_PLLCR = CLKMULT*2; данные DSP28_PLLCR. */
#define DSP28_PLLCR CLKMULT*2
//#define DSP28_PLLCR 10
@@ -74,6 +82,7 @@ extern "C" {
In this case, the CPU_RATE will be 10.000L
Uncomment the line: #define CPU_RATE 10.000L
-----------------------------------------------------------------------------*/
/* Задаёт CPU_RATE = 6.667L; данные CPU_RATE. */
#define CPU_RATE 6.667L // for a 150MHz CPU clock speed (SYSCLKOUT)
//#define CPU_RATE 7.143L // for a 140MHz CPU clock speed (SYSCLKOUT)
//#define CPU_RATE 8.333L // for a 120MHz CPU clock speed (SYSCLKOUT)
@@ -93,12 +102,19 @@ extern "C" {
(for examples) - either 150 MHz (for 28335 and 28334) or 100 MHz
(for 28332). User does not have to change anything here.
-----------------------------------------------------------------------------*/
/* Условие компиляции DSP28_28332: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_28332 // DSP28_28332 device only
/* Задаёт CPU_FRQ_100MHZ = 1; данные CPU_FRQ_100MHZ. */
#define CPU_FRQ_100MHZ 1 // 100 Mhz CPU Freq (20 MHz input freq)
/* Задаёт CPU_FRQ_150MHZ = 0; данные CPU_FRQ_150MHZ. */
#define CPU_FRQ_150MHZ 0
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Задаёт CPU_FRQ_100MHZ = 0; данные CPU_FRQ_100MHZ. */
#define CPU_FRQ_100MHZ 0 // DSP28_28335||DSP28_28334
/* Задаёт CPU_FRQ_150MHZ = 1; данные CPU_FRQ_150MHZ. */
#define CPU_FRQ_150MHZ 1 // 150 MHz CPU Freq (30 MHz input freq) by DEFAULT
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
@@ -106,35 +122,52 @@ extern "C" {
// Include Example Header Files:
//
/* Подключает "DSP2833x_GlobalPrototypes.h": поставляемое TI описание GlobalPrototypes для семейства C2833x. */
#include "DSP2833x_GlobalPrototypes.h" // Prototypes for global functions within the
// .c files.
/* Подключает "DSP2833x_ePwm_defines.h": поставляемое TI описание ePwm_defines для семейства C2833x. */
#include "DSP2833x_ePwm_defines.h" // Macros used for PWM examples.
/* Подключает "DSP2833x_Dma_defines.h": поставляемое TI описание Dma_defines для семейства C2833x. */
#include "DSP2833x_Dma_defines.h" // Macros used for DMA examples.
/* Подключает "DSP2833x_I2C_defines.h": поставляемое TI описание I2C_defines для семейства C2833x. */
#include "DSP2833x_I2C_defines.h" // Macros used for I2C examples.
/* Задаёт PARTNO_28335 = 0xEF; данные PARTNO_28335. */
#define PARTNO_28335 0xEF
/* Задаёт PARTNO_28334 = 0xEE; данные PARTNO_28334. */
#define PARTNO_28334 0xEE
/* Задаёт PARTNO_28332 = 0xED; данные PARTNO_28332. */
#define PARTNO_28332 0xED
/* Задаёт PARTNO_28235 = 0xE8; данные PARTNO_28235. */
#define PARTNO_28235 0xE8
/* Задаёт PARTNO_28234 = 0xE7; данные PARTNO_28234. */
#define PARTNO_28234 0xE7
/* Задаёт PARTNO_28232 = 0xE6; данные PARTNO_28232. */
#define PARTNO_28232 0xE6
// Include files not used with DSP/BIOS
/* Начинает условие: DSP28_BIOS ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP28_BIOS
/* Подключает "DSP2833x_DefaultISR.h": поставляемое TI описание DefaultISR для семейства C2833x. */
#include "DSP2833x_DefaultISR.h"
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// DO NOT MODIFY THIS LINE.
/* Задаёт DELAY_US = DSP28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) - 9.0L) / 5.0L); данные DELAY_US. */
#define DELAY_US(A) DSP28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) - 9.0L) / 5.0L)
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_EXAMPLES_H definition

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание GlobalPrototypes для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/11 $
// Checkin $Date: May 12, 2008 14:30:08 $
//###########################################################################
@@ -11,174 +12,320 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_GLOBALPROTOTYPES_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_GLOBALPROTOTYPES_H
/* Определяет защитный символ или переключатель DSP2833x_GLOBALPROTOTYPES_H для последующей компиляции. */
#define DSP2833x_GLOBALPROTOTYPES_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/*---- shared global function prototypes -----------------------------------*/
/* Объявляет интерфейс функции InitAdc; реализация вызывается через этот прототип. */
extern void InitAdc(void);
/* Объявляет интерфейс функции DMAInitialize; реализация вызывается через этот прототип. */
extern void DMAInitialize(void);
// DMA Channel 1
/* Объявляет интерфейс функции DMACH1AddrConfig; реализация вызывается через этот прототип. */
extern void DMACH1AddrConfig(volatile Uint16 *DMA_Dest,volatile Uint16 *DMA_Source);
/* Объявляет интерфейс функции DMACH1BurstConfig; реализация вызывается через этот прототип. */
extern void DMACH1BurstConfig(Uint16 bsize, int16 srcbstep, int16 desbstep);
/* Объявляет интерфейс функции DMACH1TransferConfig; реализация вызывается через этот прототип. */
extern void DMACH1TransferConfig(Uint16 tsize, int16 srctstep, int16 deststep);
/* Объявляет интерфейс функции DMACH1WrapConfig; реализация вызывается через этот прототип. */
extern void DMACH1WrapConfig(Uint16 srcwsize, int16 srcwstep, Uint16 deswsize, int16 deswstep);
/* Объявляет интерфейс функции DMACH1ModeConfig; реализация вызывается через этот прототип. */
extern void DMACH1ModeConfig(Uint16 persel, Uint16 perinte, Uint16 oneshot, Uint16 cont, Uint16 synce, Uint16 syncsel, Uint16 ovrinte, Uint16 datasize, Uint16 chintmode, Uint16 chinte);
/* Объявляет интерфейс функции StartDMACH1; реализация вызывается через этот прототип. */
extern void StartDMACH1(void);
// DMA Channel 2
/* Объявляет интерфейс функции DMACH2AddrConfig; реализация вызывается через этот прототип. */
extern void DMACH2AddrConfig(volatile Uint16 *DMA_Dest,volatile Uint16 *DMA_Source);
/* Объявляет интерфейс функции DMACH2BurstConfig; реализация вызывается через этот прототип. */
extern void DMACH2BurstConfig(Uint16 bsize, int16 srcbstep, int16 desbstep);
/* Объявляет интерфейс функции DMACH2TransferConfig; реализация вызывается через этот прототип. */
extern void DMACH2TransferConfig(Uint16 tsize, int16 srctstep, int16 deststep);
/* Объявляет интерфейс функции DMACH2WrapConfig; реализация вызывается через этот прототип. */
extern void DMACH2WrapConfig(Uint16 srcwsize, int16 srcwstep, Uint16 deswsize, int16 deswstep);
/* Объявляет интерфейс функции DMACH2ModeConfig; реализация вызывается через этот прототип. */
extern void DMACH2ModeConfig(Uint16 persel, Uint16 perinte, Uint16 oneshot, Uint16 cont, Uint16 synce, Uint16 syncsel, Uint16 ovrinte, Uint16 datasize, Uint16 chintmode, Uint16 chinte);
/* Объявляет интерфейс функции StartDMACH2; реализация вызывается через этот прототип. */
extern void StartDMACH2(void);
// DMA Channel 3
/* Объявляет интерфейс функции DMACH3AddrConfig; реализация вызывается через этот прототип. */
extern void DMACH3AddrConfig(volatile Uint16 *DMA_Dest,volatile Uint16 *DMA_Source);
/* Объявляет интерфейс функции DMACH3BurstConfig; реализация вызывается через этот прототип. */
extern void DMACH3BurstConfig(Uint16 bsize, int16 srcbstep, int16 desbstep);
/* Объявляет интерфейс функции DMACH3TransferConfig; реализация вызывается через этот прототип. */
extern void DMACH3TransferConfig(Uint16 tsize, int16 srctstep, int16 deststep);
/* Объявляет интерфейс функции DMACH3WrapConfig; реализация вызывается через этот прототип. */
extern void DMACH3WrapConfig(Uint16 srcwsize, int16 srcwstep, Uint16 deswsize, int16 deswstep);
/* Объявляет интерфейс функции DMACH3ModeConfig; реализация вызывается через этот прототип. */
extern void DMACH3ModeConfig(Uint16 persel, Uint16 perinte, Uint16 oneshot, Uint16 cont, Uint16 synce, Uint16 syncsel, Uint16 ovrinte, Uint16 datasize, Uint16 chintmode, Uint16 chinte);
/* Объявляет интерфейс функции StartDMACH3; реализация вызывается через этот прототип. */
extern void StartDMACH3(void);
// DMA Channel 4
/* Объявляет интерфейс функции DMACH4AddrConfig; реализация вызывается через этот прототип. */
extern void DMACH4AddrConfig(volatile Uint16 *DMA_Dest,volatile Uint16 *DMA_Source);
/* Объявляет интерфейс функции DMACH4BurstConfig; реализация вызывается через этот прототип. */
extern void DMACH4BurstConfig(Uint16 bsize, int16 srcbstep, int16 desbstep);
/* Объявляет интерфейс функции DMACH4TransferConfig; реализация вызывается через этот прототип. */
extern void DMACH4TransferConfig(Uint16 tsize, int16 srctstep, int16 deststep);
/* Объявляет интерфейс функции DMACH4WrapConfig; реализация вызывается через этот прототип. */
extern void DMACH4WrapConfig(Uint16 srcwsize, int16 srcwstep, Uint16 deswsize, int16 deswstep);
/* Объявляет интерфейс функции DMACH4ModeConfig; реализация вызывается через этот прототип. */
extern void DMACH4ModeConfig(Uint16 persel, Uint16 perinte, Uint16 oneshot, Uint16 cont, Uint16 synce, Uint16 syncsel, Uint16 ovrinte, Uint16 datasize, Uint16 chintmode, Uint16 chinte);
/* Объявляет интерфейс функции StartDMACH4; реализация вызывается через этот прототип. */
extern void StartDMACH4(void);
// DMA Channel 5
/* Объявляет интерфейс функции DMACH5AddrConfig; реализация вызывается через этот прототип. */
extern void DMACH5AddrConfig(volatile Uint16 *DMA_Dest,volatile Uint16 *DMA_Source);
/* Объявляет интерфейс функции DMACH5BurstConfig; реализация вызывается через этот прототип. */
extern void DMACH5BurstConfig(Uint16 bsize, int16 srcbstep, int16 desbstep);
/* Объявляет интерфейс функции DMACH5TransferConfig; реализация вызывается через этот прототип. */
extern void DMACH5TransferConfig(Uint16 tsize, int16 srctstep, int16 deststep);
/* Объявляет интерфейс функции DMACH5WrapConfig; реализация вызывается через этот прототип. */
extern void DMACH5WrapConfig(Uint16 srcwsize, int16 srcwstep, Uint16 deswsize, int16 deswstep);
/* Объявляет интерфейс функции DMACH5ModeConfig; реализация вызывается через этот прототип. */
extern void DMACH5ModeConfig(Uint16 persel, Uint16 perinte, Uint16 oneshot, Uint16 cont, Uint16 synce, Uint16 syncsel, Uint16 ovrinte, Uint16 datasize, Uint16 chintmode, Uint16 chinte);
/* Объявляет интерфейс функции StartDMACH5; реализация вызывается через этот прототип. */
extern void StartDMACH5(void);
// DMA Channel 6
/* Объявляет интерфейс функции DMACH6AddrConfig; реализация вызывается через этот прототип. */
extern void DMACH6AddrConfig(volatile Uint16 *DMA_Dest,volatile Uint16 *DMA_Source);
/* Объявляет интерфейс функции DMACH6BurstConfig; реализация вызывается через этот прототип. */
extern void DMACH6BurstConfig(Uint16 bsize,Uint16 srcbstep, int16 desbstep);
/* Объявляет интерфейс функции DMACH6TransferConfig; реализация вызывается через этот прототип. */
extern void DMACH6TransferConfig(Uint16 tsize, int16 srctstep, int16 deststep);
/* Объявляет интерфейс функции DMACH6WrapConfig; реализация вызывается через этот прототип. */
extern void DMACH6WrapConfig(Uint16 srcwsize, int16 srcwstep, Uint16 deswsize, int16 deswstep);
/* Объявляет интерфейс функции DMACH6ModeConfig; реализация вызывается через этот прототип. */
extern void DMACH6ModeConfig(Uint16 persel, Uint16 perinte, Uint16 oneshot, Uint16 cont, Uint16 synce, Uint16 syncsel, Uint16 ovrinte, Uint16 datasize, Uint16 chintmode, Uint16 chinte);
/* Объявляет интерфейс функции StartDMACH6; реализация вызывается через этот прототип. */
extern void StartDMACH6(void);
/* Объявляет интерфейс функции InitPeripherals; реализация вызывается через этот прототип. */
extern void InitPeripherals(void);
/* Условие компиляции DSP28_ECANA: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_ECANA
/* Объявляет интерфейс функции InitECan; реализация вызывается через этот прототип. */
extern void InitECan(void);
/* Объявляет интерфейс функции InitECana; реализация вызывается через этот прототип. */
extern void InitECana(void);
/* Объявляет интерфейс функции InitECanGpio; реализация вызывается через этот прототип. */
extern void InitECanGpio(void);
/* Объявляет интерфейс функции InitECanaGpio; реализация вызывается через этот прототип. */
extern void InitECanaGpio(void);
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // endif DSP28_ECANA
/* Условие компиляции DSP28_ECANB: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_ECANB
/* Объявляет интерфейс функции InitECanb; реализация вызывается через этот прототип. */
extern void InitECanb(void);
/* Объявляет интерфейс функции InitECanbGpio; реализация вызывается через этот прототип. */
extern void InitECanbGpio(void);
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // endif DSP28_ECANB
/* Объявляет интерфейс функции InitECap; реализация вызывается через этот прототип. */
extern void InitECap(void);
/* Объявляет интерфейс функции InitECapGpio; реализация вызывается через этот прототип. */
extern void InitECapGpio(void);
/* Объявляет интерфейс функции InitECap1Gpio; реализация вызывается через этот прототип. */
extern void InitECap1Gpio(void);
/* Объявляет интерфейс функции InitECap2Gpio; реализация вызывается через этот прототип. */
extern void InitECap2Gpio(void);
/* Условие компиляции DSP28_ECAP3: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_ECAP3
/* Объявляет интерфейс функции InitECap3Gpio; реализация вызывается через этот прототип. */
extern void InitECap3Gpio(void);
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // endif DSP28_ECAP3
/* Условие компиляции DSP28_ECAP4: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_ECAP4
/* Объявляет интерфейс функции InitECap4Gpio; реализация вызывается через этот прототип. */
extern void InitECap4Gpio(void);
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // endif DSP28_ECAP4
/* Условие компиляции DSP28_ECAP5: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_ECAP5
/* Объявляет интерфейс функции InitECap5Gpio; реализация вызывается через этот прототип. */
extern void InitECap5Gpio(void);
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // endif DSP28_ECAP5
/* Условие компиляции DSP28_ECAP6: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_ECAP6
/* Объявляет интерфейс функции InitECap6Gpio; реализация вызывается через этот прототип. */
extern void InitECap6Gpio(void);
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // endif DSP28_ECAP6
/* Объявляет интерфейс функции InitEPwm; реализация вызывается через этот прототип. */
extern void InitEPwm(void);
/* Объявляет интерфейс функции InitEPwmGpio; реализация вызывается через этот прототип. */
extern void InitEPwmGpio(void);
/* Объявляет интерфейс функции InitEPwm1Gpio; реализация вызывается через этот прототип. */
extern void InitEPwm1Gpio(void);
/* Объявляет интерфейс функции InitEPwm2Gpio; реализация вызывается через этот прототип. */
extern void InitEPwm2Gpio(void);
/* Объявляет интерфейс функции InitEPwm3Gpio; реализация вызывается через этот прототип. */
extern void InitEPwm3Gpio(void);
/* Условие компиляции DSP28_EPWM4: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_EPWM4
/* Объявляет интерфейс функции InitEPwm4Gpio; реализация вызывается через этот прототип. */
extern void InitEPwm4Gpio(void);
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // endif DSP28_EPWM4
/* Условие компиляции DSP28_EPWM5: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_EPWM5
/* Объявляет интерфейс функции InitEPwm5Gpio; реализация вызывается через этот прототип. */
extern void InitEPwm5Gpio(void);
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // endif DSP28_EPWM5
/* Условие компиляции DSP28_EPWM6: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_EPWM6
/* Объявляет интерфейс функции InitEPwm6Gpio; реализация вызывается через этот прототип. */
extern void InitEPwm6Gpio(void);
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // endif DSP28_EPWM6
/* Условие компиляции DSP28_EQEP1: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_EQEP1
/* Объявляет интерфейс функции InitEQep; реализация вызывается через этот прототип. */
extern void InitEQep(void);
/* Объявляет интерфейс функции InitEQepGpio; реализация вызывается через этот прототип. */
extern void InitEQepGpio(void);
/* Объявляет интерфейс функции InitEQep1Gpio; реализация вызывается через этот прототип. */
extern void InitEQep1Gpio(void);
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // if DSP28_EQEP1
/* Условие компиляции DSP28_EQEP2: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_EQEP2
/* Объявляет интерфейс функции InitEQep2Gpio; реализация вызывается через этот прототип. */
extern void InitEQep2Gpio(void);
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // endif DSP28_EQEP2
/* Объявляет интерфейс функции InitGpio; реализация вызывается через этот прототип. */
extern void InitGpio(void);
/* Объявляет интерфейс функции InitI2CGpio; реализация вызывается через этот прототип. */
extern void InitI2CGpio(void);
/* Объявляет интерфейс функции InitMcbsp; реализация вызывается через этот прототип. */
extern void InitMcbsp(void);
/* Объявляет интерфейс функции InitMcbspa; реализация вызывается через этот прототип. */
extern void InitMcbspa(void);
/* Объявляет интерфейс функции delay_loop; реализация вызывается через этот прототип. */
extern void delay_loop(void);
/* Объявляет интерфейс функции InitMcbspaGpio; реализация вызывается через этот прототип. */
extern void InitMcbspaGpio(void);
/* Объявляет интерфейс функции InitMcbspa8bit; реализация вызывается через этот прототип. */
extern void InitMcbspa8bit(void);
/* Объявляет интерфейс функции InitMcbspa12bit; реализация вызывается через этот прототип. */
extern void InitMcbspa12bit(void);
/* Объявляет интерфейс функции InitMcbspa16bit; реализация вызывается через этот прототип. */
extern void InitMcbspa16bit(void);
/* Объявляет интерфейс функции InitMcbspa20bit; реализация вызывается через этот прототип. */
extern void InitMcbspa20bit(void);
/* Объявляет интерфейс функции InitMcbspa24bit; реализация вызывается через этот прототип. */
extern void InitMcbspa24bit(void);
/* Объявляет интерфейс функции InitMcbspa32bit; реализация вызывается через этот прототип. */
extern void InitMcbspa32bit(void);
/* Условие компиляции DSP28_MCBSPB: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_MCBSPB
/* Объявляет интерфейс функции InitMcbspb; реализация вызывается через этот прототип. */
extern void InitMcbspb(void);
/* Объявляет интерфейс функции InitMcbspbGpio; реализация вызывается через этот прототип. */
extern void InitMcbspbGpio(void);
/* Объявляет интерфейс функции InitMcbspb8bit; реализация вызывается через этот прототип. */
extern void InitMcbspb8bit(void);
/* Объявляет интерфейс функции InitMcbspb12bit; реализация вызывается через этот прототип. */
extern void InitMcbspb12bit(void);
/* Объявляет интерфейс функции InitMcbspb16bit; реализация вызывается через этот прототип. */
extern void InitMcbspb16bit(void);
/* Объявляет интерфейс функции InitMcbspb20bit; реализация вызывается через этот прототип. */
extern void InitMcbspb20bit(void);
/* Объявляет интерфейс функции InitMcbspb24bit; реализация вызывается через этот прототип. */
extern void InitMcbspb24bit(void);
/* Объявляет интерфейс функции InitMcbspb32bit; реализация вызывается через этот прототип. */
extern void InitMcbspb32bit(void);
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // endif DSP28_MCBSPB
/* Объявляет интерфейс функции InitPieCtrl; реализация вызывается через этот прототип. */
extern void InitPieCtrl(void);
/* Объявляет интерфейс функции InitPieVectTable; реализация вызывается через этот прототип. */
extern void InitPieVectTable(void);
/* Объявляет интерфейс функции InitSci; реализация вызывается через этот прототип. */
extern void InitSci(void);
/* Объявляет интерфейс функции InitSciGpio; реализация вызывается через этот прототип. */
extern void InitSciGpio(void);
/* Объявляет интерфейс функции InitSciaGpio; реализация вызывается через этот прототип. */
extern void InitSciaGpio(void);
/* Условие компиляции DSP28_SCIB: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_SCIB
/* Объявляет интерфейс функции InitScibGpio; реализация вызывается через этот прототип. */
extern void InitScibGpio(void);
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // endif DSP28_SCIB
/* Условие компиляции DSP28_SCIC: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_SCIC
/* Объявляет интерфейс функции InitScicGpio; реализация вызывается через этот прототип. */
extern void InitScicGpio(void);
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Объявляет интерфейс функции InitSpi; реализация вызывается через этот прототип. */
extern void InitSpi(void);
/* Объявляет интерфейс функции InitSpiGpio; реализация вызывается через этот прототип. */
extern void InitSpiGpio(void);
/* Объявляет интерфейс функции InitSpiaGpio; реализация вызывается через этот прототип. */
extern void InitSpiaGpio(void);
/* Объявляет интерфейс функции InitSysCtrl; реализация вызывается через этот прототип. */
extern void InitSysCtrl(void);
/* Объявляет интерфейс функции InitTzGpio; реализация вызывается через этот прототип. */
extern void InitTzGpio(void);
/* Объявляет интерфейс функции InitXIntrupt; реализация вызывается через этот прототип. */
extern void InitXIntrupt(void);
/* Объявляет интерфейс функции XintfInit; реализация вызывается через этот прототип. */
extern void XintfInit(void);
/* Объявляет интерфейс функции InitXintf16Gpio; реализация вызывается через этот прототип. */
extern void InitXintf16Gpio();
/* Объявляет интерфейс функции InitXintf32Gpio; реализация вызывается через этот прототип. */
extern void InitXintf32Gpio();
/* Объявляет интерфейс функции InitPll; реализация вызывается через этот прототип. */
extern void InitPll(Uint16 pllcr, Uint16 clkindiv);
/* Объявляет интерфейс функции InitPeripheralClocks; реализация вызывается через этот прототип. */
extern void InitPeripheralClocks(void);
/* Объявляет интерфейс функции EnableInterrupts; реализация вызывается через этот прототип. */
extern void EnableInterrupts(void);
/* Объявляет интерфейс функции DSP28x_usDelay; реализация вызывается через этот прототип. */
extern void DSP28x_usDelay(Uint32 Count);
/* Объявляет интерфейс функции ADC_cal; реализация вызывается через этот прототип. */
extern void ADC_cal (void);
/* Задаёт KickDog = ServiceDog; данные KickDog. */
#define KickDog ServiceDog // For compatiblity with previous versions
/* Объявляет интерфейс функции ServiceDog; реализация вызывается через этот прототип. */
extern void ServiceDog(void);
/* Объявляет интерфейс функции DisableDog; реализация вызывается через этот прототип. */
extern void DisableDog(void);
/* Объявляет интерфейс функции CsmUnlock; реализация вызывается через этот прототип. */
extern Uint16 CsmUnlock(void);
// DSP28_DBGIER.asm
/* Объявляет интерфейс функции SetDBGIER; реализация вызывается через этот прототип. */
extern void SetDBGIER(Uint16 dbgier);
// CAUTION
// This function MUST be executed out of RAM. Executing it
// out of OTP/Flash will yield unpredictable results
/* Объявляет интерфейс функции InitFlash; реализация вызывается через этот прототип. */
extern void InitFlash(void);
/* Объявляет интерфейс функции MemCopy; реализация вызывается через этот прототип. */
void MemCopy(Uint16 *SourceAddr, Uint16* SourceEndAddr, Uint16* DestAddr);
@@ -187,19 +334,28 @@ void MemCopy(Uint16 *SourceAddr, Uint16* SourceEndAddr, Uint16* DestAddr);
// DSP28 examples will use these to relocate code from one LOAD location
// in either Flash or XINTF to a different RUN location in internal
// RAM
/* Объявляет RamfuncsLoadStart — данные RamfuncsLoadStart. Память определена в другом модуле. */
extern Uint16 RamfuncsLoadStart;
/* Объявляет RamfuncsLoadEnd — данные RamfuncsLoadEnd. Память определена в другом модуле. */
extern Uint16 RamfuncsLoadEnd;
/* Объявляет RamfuncsRunStart — данные RamfuncsRunStart. Память определена в другом модуле. */
extern Uint16 RamfuncsRunStart;
/* Объявляет XintffuncsLoadStart — данные XintffuncsLoadStart. Память определена в другом модуле. */
extern Uint16 XintffuncsLoadStart;
/* Объявляет XintffuncsLoadEnd — данные XintffuncsLoadEnd. Память определена в другом модуле. */
extern Uint16 XintffuncsLoadEnd;
/* Объявляет XintffuncsRunStart — данные XintffuncsRunStart. Память определена в другом модуле. */
extern Uint16 XintffuncsRunStart;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // - end of DSP2833x_GLOBALPROTOTYPES_H
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание I2c_defines для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/2 $
// Checkin $Date: April 16, 2008 17:16:47 $
//###########################################################################
@@ -11,7 +12,9 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_I2C_DEFINES_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_I2C_DEFINES_H
/* Определяет защитный символ или переключатель DSP2833x_I2C_DEFINES_H для последующей компиляции. */
#define DSP2833x_I2C_DEFINES_H
//--------------------------------------------
@@ -19,68 +22,115 @@
//--------------------------------------------
// Error Messages
/* Задаёт I2C_ERROR = 0xFFFF; 2 C ошибка. */
#define I2C_ERROR 0xFFFF
/* Задаёт I2C_ARB_LOST_ERROR = 0x0001; 2 C ARB LOST ошибка. */
#define I2C_ARB_LOST_ERROR 0x0001
/* Задаёт I2C_NACK_ERROR = 0x0002; 2 C NACK ошибка. */
#define I2C_NACK_ERROR 0x0002
/* Задаёт I2C_BUS_BUSY_ERROR = 0x1000; 2 C BUS BUSY ошибка. */
#define I2C_BUS_BUSY_ERROR 0x1000
/* Задаёт I2C_STP_NOT_READY_ERROR = 0x5555; 2 C STP NOT READY ошибка. */
#define I2C_STP_NOT_READY_ERROR 0x5555
/* Задаёт I2C_NO_FLAGS = 0xAAAA; 2 C NO флаги. */
#define I2C_NO_FLAGS 0xAAAA
/* Задаёт I2C_SUCCESS = 0x0000; данные I2C_SUCCESS. */
#define I2C_SUCCESS 0x0000
// Clear Status Flags
/* Задаёт I2C_CLR_AL_BIT = 0x0001; 2 C CLR AL бит. */
#define I2C_CLR_AL_BIT 0x0001
/* Задаёт I2C_CLR_NACK_BIT = 0x0002; 2 C CLR NACK бит. */
#define I2C_CLR_NACK_BIT 0x0002
/* Задаёт I2C_CLR_ARDY_BIT = 0x0004; 2 C CLR ARDY бит. */
#define I2C_CLR_ARDY_BIT 0x0004
/* Задаёт I2C_CLR_RRDY_BIT = 0x0008; 2 C CLR RRDY бит. */
#define I2C_CLR_RRDY_BIT 0x0008
/* Задаёт I2C_CLR_SCD_BIT = 0x0020; 2 C CLR SCD бит. */
#define I2C_CLR_SCD_BIT 0x0020
// Interrupt Source Messages
/* Задаёт I2C_NO_ISRC = 0x0000; данные I2C_NO_ISRC. */
#define I2C_NO_ISRC 0x0000
/* Задаёт I2C_ARB_ISRC = 0x0001; данные I2C_ARB_ISRC. */
#define I2C_ARB_ISRC 0x0001
/* Задаёт I2C_NACK_ISRC = 0x0002; данные I2C_NACK_ISRC. */
#define I2C_NACK_ISRC 0x0002
/* Задаёт I2C_ARDY_ISRC = 0x0003; данные I2C_ARDY_ISRC. */
#define I2C_ARDY_ISRC 0x0003
/* Задаёт I2C_RX_ISRC = 0x0004; данные I2C_RX_ISRC. */
#define I2C_RX_ISRC 0x0004
/* Задаёт I2C_TX_ISRC = 0x0005; данные I2C_TX_ISRC. */
#define I2C_TX_ISRC 0x0005
/* Задаёт I2C_SCD_ISRC = 0x0006; данные I2C_SCD_ISRC. */
#define I2C_SCD_ISRC 0x0006
/* Задаёт I2C_AAS_ISRC = 0x0007; данные I2C_AAS_ISRC. */
#define I2C_AAS_ISRC 0x0007
// I2CMSG structure defines
/* Задаёт I2C_NO_STOP = 0; данные I2C_NO_STOP. */
#define I2C_NO_STOP 0
/* Задаёт I2C_YES_STOP = 1; данные I2C_YES_STOP. */
#define I2C_YES_STOP 1
/* Задаёт I2C_RECEIVE = 0; 2 C приём. */
#define I2C_RECEIVE 0
/* Задаёт I2C_TRANSMIT = 1; 2 C передача. */
#define I2C_TRANSMIT 1
/* Задаёт I2C_MAX_BUFFER_SIZE = 16; 2 C MAX буфер размер. */
#define I2C_MAX_BUFFER_SIZE 16
// I2C Slave State defines
/* Задаёт I2C_NOTSLAVE = 0; данные I2C_NOTSLAVE. */
#define I2C_NOTSLAVE 0
/* Задаёт I2C_ADDR_AS_SLAVE = 1; данные I2C_ADDR_AS_SLAVE. */
#define I2C_ADDR_AS_SLAVE 1
/* Задаёт I2C_ST_MSG_READY = 2; данные I2C_ST_MSG_READY. */
#define I2C_ST_MSG_READY 2
// I2C Slave Receiver messages defines
/* Задаёт I2C_SND_MSG1 = 1; данные I2C_SND_MSG1. */
#define I2C_SND_MSG1 1
/* Задаёт I2C_SND_MSG2 = 2; данные I2C_SND_MSG2. */
#define I2C_SND_MSG2 2
// I2C State defines
/* Задаёт I2C_IDLE = 0; данные I2C_IDLE. */
#define I2C_IDLE 0
/* Задаёт I2C_SLAVE_RECEIVER = 1; данные I2C_SLAVE_RECEIVER. */
#define I2C_SLAVE_RECEIVER 1
/* Задаёт I2C_SLAVE_TRANSMITTER = 2; данные I2C_SLAVE_TRANSMITTER. */
#define I2C_SLAVE_TRANSMITTER 2
/* Задаёт I2C_MASTER_RECEIVER = 3; данные I2C_MASTER_RECEIVER. */
#define I2C_MASTER_RECEIVER 3
/* Задаёт I2C_MASTER_TRANSMITTER = 4; данные I2C_MASTER_TRANSMITTER. */
#define I2C_MASTER_TRANSMITTER 4
// I2C Message Commands for I2CMSG struct
/* Задаёт I2C_MSGSTAT_INACTIVE = 0x0000; данные I2C_MSGSTAT_INACTIVE. */
#define I2C_MSGSTAT_INACTIVE 0x0000
/* Задаёт I2C_MSGSTAT_SEND_WITHSTOP = 0x0010; данные I2C_MSGSTAT_SEND_WITHSTOP. */
#define I2C_MSGSTAT_SEND_WITHSTOP 0x0010
/* Задаёт I2C_MSGSTAT_WRITE_BUSY = 0x0011; 2 C MSGSTAT запись BUSY. */
#define I2C_MSGSTAT_WRITE_BUSY 0x0011
/* Задаёт I2C_MSGSTAT_SEND_NOSTOP = 0x0020; данные I2C_MSGSTAT_SEND_NOSTOP. */
#define I2C_MSGSTAT_SEND_NOSTOP 0x0020
/* Задаёт I2C_MSGSTAT_SEND_NOSTOP_BUSY = 0x0021; данные I2C_MSGSTAT_SEND_NOSTOP_BUSY. */
#define I2C_MSGSTAT_SEND_NOSTOP_BUSY 0x0021
/* Задаёт I2C_MSGSTAT_RESTART = 0x0022; данные I2C_MSGSTAT_RESTART. */
#define I2C_MSGSTAT_RESTART 0x0022
/* Задаёт I2C_MSGSTAT_READ_BUSY = 0x0023; 2 C MSGSTAT чтение BUSY. */
#define I2C_MSGSTAT_READ_BUSY 0x0023
// Generic defines
/* Задаёт I2C_TRUE = 1; данные I2C_TRUE. */
#define I2C_TRUE 1
/* Задаёт I2C_FALSE = 0; данные I2C_FALSE. */
#define I2C_FALSE 0
/* Задаёт I2C_YES = 1; данные I2C_YES. */
#define I2C_YES 1
/* Задаёт I2C_NO = 0; данные I2C_NO. */
#define I2C_NO 0
/* Задаёт I2C_DUMMY_BYTE = 0; данные I2C_DUMMY_BYTE. */
#define I2C_DUMMY_BYTE 0
@@ -89,7 +139,9 @@
//--------------------------------------------
// I2C Message Structure
/* Описывает структуру I2CMSG; порядок полей определяет расположение данных. */
struct I2CMSG {
/* Объявляет MsgStatus — Msg состояние. */
Uint16 MsgStatus; // Word stating what state msg is in:
// I2C_MSGCMD_INACTIVE = do not send msg
// I2C_MSGCMD_BUSY = msg start has been sent,
@@ -100,16 +152,23 @@ struct I2CMSG {
// master trans msg without the stop bit
// I2C_MSGCMD_RESTART = command to send a restart
// as a master receiver with a stop bit
/* Объявляет SlaveAddress — Slave адрес. */
Uint16 SlaveAddress; // I2C address of slave msg is intended for
/* Объявляет NumOfBytes — данные NumOfBytes. */
Uint16 NumOfBytes; // Num of valid bytes in (or to be put in MsgBuffer)
/* Объявляет MemoryHighAddr — данные MemoryHighAddr. */
Uint16 MemoryHighAddr; // EEPROM address of data associated with msg (high byte)
/* Объявляет MemoryLowAddr — данные MemoryLowAddr. */
Uint16 MemoryLowAddr; // EEPROM address of data associated with msg (low byte)
/* Объявляет MsgBuffer — Msg буфер. */
Uint16 MsgBuffer[I2C_MAX_BUFFER_SIZE]; // Array holding msg data - max that
// MAX_BUFFER_SIZE can be is 16 due to
// the FIFO's
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_I2C_DEFINES_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Настройки и интерфейс DSP28x_Project. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/1 $
// Checkin $Date: April 22, 2008 14:35:56 $
@@ -12,11 +13,16 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP28x_PROJECT_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP28x_PROJECT_H
/* Определяет защитный символ или переключатель DSP28x_PROJECT_H для последующей компиляции. */
#define DSP28x_PROJECT_H
/* Подключает "DSP2833x_Device.h": поставляемое TI описание Device для семейства C2833x. */
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
/* Подключает "DSP2833x_Examples.h": поставляемое TI описание Examples для семейства C2833x. */
#include "DSP2833x_Examples.h" // DSP2833x Examples Include File
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP28x_PROJECT_H definition

View File

@@ -1,3 +1,4 @@
; Поставляемое ti описание adc_cal для семейства c2833x. Пояснения в UTF-8.
;; TI File $Revision: /main/1 $
;; Checkin $Date: July 30, 2007 10:29:23 $
;;###########################################################################
@@ -16,7 +17,9 @@
;; $Release Date: August 1, 2008 $
;;###########################################################################
; Экспортирует символ для связывания с C-кодом. Операция: .def _ADC_cal.
.def _ADC_cal
; Задаёт текстовый псевдоним константы для ассемблера. Операция: .asg "0x711C", ADCREFSEL_LOC.
.asg "0x711C", ADCREFSEL_LOC
;-----------------------------------------------
@@ -32,11 +35,17 @@
; enabled to the ADC module.
;-----------------------------------------------
; Выбирает секцию объектного файла для следующих инструкций. Операция: .sect ".adc_cal".
.sect ".adc_cal"
; Объявляет метку _ADC_cal для перехода или вызова. Операция: _ADC_cal.
_ADC_cal
; Загружает регистр страниц данных DP для доступа к указанной области. Операция: MOVW DP, #ADCREFSEL_LOC >> 6.
MOVW DP, #ADCREFSEL_LOC >> 6
; Переносит операнд в регистр или ячейку назначения. Операция: MOV @28, #0xAAAA.
MOV @28, #0xAAAA ; actual value may not be 0xAAAA
; Переносит операнд в регистр или ячейку назначения. Операция: MOV @29, #0xBBBB.
MOV @29, #0xBBBB ; actual value may not be 0xBBBB
; Возвращает управление вызывающему коду через длинный адрес возврата. Операция: LRETR.
LRETR
;eof ----------

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание Adc для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/5 $
// Checkin $Date: October 23, 2007 13:34:09 $
//###########################################################################
@@ -11,9 +12,12 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Подключает "DSP2833x_Device.h": поставляемое TI описание Device для семейства C2833x. */
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
/* Подключает "DSP2833x_Examples.h": поставляемое TI описание Examples для семейства C2833x. */
#include "DSP2833x_Examples.h" // DSP2833x Examples Include File
/* Задаёт ADC_usDELAY = 5000L; АЦП us DELAY. */
#define ADC_usDELAY 5000L
//---------------------------------------------------------------------------
@@ -21,8 +25,11 @@
//---------------------------------------------------------------------------
// This function initializes ADC to a known state.
//
/* Начинает функцию InitAdc; назначение модуля — поставляемое TI описание Adc для семейства C2833x. */
void InitAdc(void)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Объявляет интерфейс функции DSP28x_usDelay; реализация вызывается через этот прототип. */
extern void DSP28x_usDelay(Uint32 Count);
@@ -36,9 +43,13 @@ void InitAdc(void)
// See the device data manual and/or the ADC Reference
// Manual for more information.
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
/* Записывает SysCtrlRegs.PCLKCR0.bit.ADCENCLK значением 1; данные ADCENCLK. */
SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1;
/* Вызывает ADC_cal с аргументами () в текущей последовательности операций. */
ADC_cal();
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS;
@@ -53,10 +64,14 @@ void InitAdc(void)
// CPU_RATE define statement in the DSP2833x_Examples.h file must
// contain the correct CPU clock period in nanoseconds.
/* Записывает AdcRegs.ADCREFSEL.bit.REF_SEL значением 0x01; данные REF_SEL. */
AdcRegs.ADCREFSEL.bit.REF_SEL = 0x01;
/* Записывает AdcRegs.ADCTRL3.all значением 0x00E0; представление регистра целым словом без разбиения на битовые поля. */
AdcRegs.ADCTRL3.all = 0x00E0; // Power up bandgap/reference/ADC circuits
/* Вызывает DELAY_US с аргументами (ADC_usDELAY) в текущей последовательности операций. */
DELAY_US(ADC_usDELAY); // Delay before converting ADC channels
//pause_us(50L);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание CpuTimers для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/3 $
// Checkin $Date: March 16, 2007 08:37:30 $
//###########################################################################
@@ -18,13 +19,18 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Подключает "DSP2833x_Device.h": поставляемое TI описание Device для семейства C2833x. */
#include "DSP2833x_Device.h" // Headerfile Include File
/* Подключает "DSP2833x_Examples.h": поставляемое TI описание Examples для семейства C2833x. */
#include "DSP2833x_Examples.h" // Examples Include File
/* Описывает структуру CPUTIMER_VARS CpuTimer0;; порядок полей определяет расположение данных. */
struct CPUTIMER_VARS CpuTimer0;
// CpuTimer 1 and CpuTimer2 are used by DSP BIOS & other RTOS. Comment out if using DSP BIOS or other RTOS.
/* Описывает структуру CPUTIMER_VARS CpuTimer1;; порядок полей определяет расположение данных. */
struct CPUTIMER_VARS CpuTimer1;
/* Описывает структуру CPUTIMER_VARS CpuTimer2;; порядок полей определяет расположение данных. */
struct CPUTIMER_VARS CpuTimer2;
//---------------------------------------------------------------------------
@@ -32,21 +38,30 @@ struct CPUTIMER_VARS CpuTimer2;
//---------------------------------------------------------------------------
// This function initializes all three CPU timers to a known state.
//
/* Начинает функцию InitCpuTimers; назначение модуля — поставляемое TI описание CpuTimers для семейства C2833x. */
void InitCpuTimers(void)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// CPU Timer 0
// Initialize address pointers to respective timer registers:
/* Записывает CpuTimer0.RegsAddr значением &CpuTimer0Regs; данные RegsAddr. */
CpuTimer0.RegsAddr = &CpuTimer0Regs;
// Initialize timer period to maximum:
/* Записывает CpuTimer0Regs.PRD.all значением 0xFFFFFFFF; представление регистра целым словом без разбиения на битовые поля. */
CpuTimer0Regs.PRD.all = 0xFFFFFFFF;
// Initialize pre-scale counter to divide by 1 (SYSCLKOUT):
/* Записывает CpuTimer0Regs.TPR.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
CpuTimer0Regs.TPR.all = 0;
/* Записывает CpuTimer0Regs.TPRH.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
CpuTimer0Regs.TPRH.all = 0;
// Make sure timer is stopped:
/* Записывает CpuTimer0Regs.TCR.bit.TSS значением 1; данные TSS. */
CpuTimer0Regs.TCR.bit.TSS = 1;
// Reload all counter register with period value:
/* Записывает CpuTimer0Regs.TCR.bit.TRB значением 1; данные TRB. */
CpuTimer0Regs.TCR.bit.TRB = 1;
// Reset interrupt counters:
/* Записывает CpuTimer0.InterruptCount значением 0; прерывание число. */
CpuTimer0.InterruptCount = 0;
@@ -55,26 +70,41 @@ void InitCpuTimers(void)
// DSP-BIOS or another realtime OS.
//
// Initialize address pointers to respective timer registers:
/* Записывает CpuTimer1.RegsAddr значением &CpuTimer1Regs; данные RegsAddr. */
CpuTimer1.RegsAddr = &CpuTimer1Regs;
/* Записывает CpuTimer2.RegsAddr значением &CpuTimer2Regs; данные RegsAddr. */
CpuTimer2.RegsAddr = &CpuTimer2Regs;
// Initialize timer period to maximum:
/* Записывает CpuTimer1Regs.PRD.all значением 0xFFFFFFFF; представление регистра целым словом без разбиения на битовые поля. */
CpuTimer1Regs.PRD.all = 0xFFFFFFFF;
/* Записывает CpuTimer2Regs.PRD.all значением 0xFFFFFFFF; представление регистра целым словом без разбиения на битовые поля. */
CpuTimer2Regs.PRD.all = 0xFFFFFFFF;
// Initialize pre-scale counter to divide by 1 (SYSCLKOUT):
/* Записывает CpuTimer1Regs.TPR.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
CpuTimer1Regs.TPR.all = 0;
/* Записывает CpuTimer1Regs.TPRH.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
CpuTimer1Regs.TPRH.all = 0;
/* Записывает CpuTimer2Regs.TPR.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
CpuTimer2Regs.TPR.all = 0;
/* Записывает CpuTimer2Regs.TPRH.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
CpuTimer2Regs.TPRH.all = 0;
// Make sure timers are stopped:
/* Записывает CpuTimer1Regs.TCR.bit.TSS значением 1; данные TSS. */
CpuTimer1Regs.TCR.bit.TSS = 1;
/* Записывает CpuTimer2Regs.TCR.bit.TSS значением 1; данные TSS. */
CpuTimer2Regs.TCR.bit.TSS = 1;
// Reload all counter register with period value:
/* Записывает CpuTimer1Regs.TCR.bit.TRB значением 1; данные TRB. */
CpuTimer1Regs.TCR.bit.TRB = 1;
/* Записывает CpuTimer2Regs.TCR.bit.TRB значением 1; данные TRB. */
CpuTimer2Regs.TCR.bit.TRB = 1;
// Reset interrupt counters:
/* Записывает CpuTimer1.InterruptCount значением 0; прерывание число. */
CpuTimer1.InterruptCount = 0;
/* Записывает CpuTimer2.InterruptCount значением 0; прерывание число. */
CpuTimer2.InterruptCount = 0;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
//---------------------------------------------------------------------------
@@ -85,29 +115,45 @@ void InitCpuTimers(void)
// and the period in "uSeconds". The timer is held in the stopped state
// after configuration.
//
/* Начинает функцию ConfigCpuTimer; назначение модуля — поставляемое TI описание CpuTimers для семейства C2833x. */
void ConfigCpuTimer(struct CPUTIMER_VARS *Timer, float Freq, float Period)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Объявляет temp — данные temp. */
Uint32 temp;
// Initialize timer period:
/* Записывает Timer->CPUFreqInMHz значением Freq; таймер CPU Freq In M Hz. */
Timer->CPUFreqInMHz = Freq;
/* Записывает Timer->PeriodInUSec значением Period; таймер период In U Sec. */
Timer->PeriodInUSec = Period;
/* Записывает temp значением (long) (Freq * Period); данные temp. */
temp = (long) (Freq * Period);
/* Записывает Timer->RegsAddr->PRD.all значением temp; представление регистра целым словом без разбиения на битовые поля. */
Timer->RegsAddr->PRD.all = temp;
// Set pre-scale counter to divide by 1 (SYSCLKOUT):
/* Записывает Timer->RegsAddr->TPR.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
Timer->RegsAddr->TPR.all = 0;
/* Записывает Timer->RegsAddr->TPRH.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
Timer->RegsAddr->TPRH.all = 0;
// Initialize timer control register:
/* Записывает Timer->RegsAddr->TCR.bit.TSS значением 1; данные TSS. */
Timer->RegsAddr->TCR.bit.TSS = 1; // 1 = Stop timer, 0 = Start/Restart Timer
/* Записывает Timer->RegsAddr->TCR.bit.TRB значением 1; данные TRB. */
Timer->RegsAddr->TCR.bit.TRB = 1; // 1 = reload timer
/* Записывает Timer->RegsAddr->TCR.bit.SOFT значением 0; данные SOFT. */
Timer->RegsAddr->TCR.bit.SOFT = 0;
/* Записывает Timer->RegsAddr->TCR.bit.FREE значением 0; данные FREE. */
Timer->RegsAddr->TCR.bit.FREE = 0; // Timer Free Run Disabled
/* Записывает Timer->RegsAddr->TCR.bit.TIE значением 1; данные TIE. */
Timer->RegsAddr->TCR.bit.TIE = 1; // 0 = Disable/ 1 = Enable Timer Interrupt
// Reset interrupt counter:
/* Записывает Timer->InterruptCount значением 0; таймер прерывание число. */
Timer->InterruptCount = 0;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание PieCtrl для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/1 $
// Checkin $Date: August 18, 2006 13:46:35 $
//###########################################################################
@@ -11,7 +12,9 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Подключает "DSP2833x_Device.h": поставляемое TI описание Device для семейства C2833x. */
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
/* Подключает "DSP2833x_Examples.h": поставляемое TI описание Examples для семейства C2833x. */
#include "DSP2833x_Examples.h" // DSP2833x Examples Include File
//---------------------------------------------------------------------------
@@ -19,43 +22,72 @@
//---------------------------------------------------------------------------
// This function initializes the PIE control registers to a known state.
//
/* Начинает функцию InitPieCtrl; назначение модуля — поставляемое TI описание PieCtrl для семейства C2833x. */
void InitPieCtrl(void)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Disable Interrupts at the CPU level:
/* Запрет маскируемых прерываний ядра. */
DINT;
// Disable the PIE
/* Записывает PieCtrlRegs.PIECTRL.bit.ENPIE значением 0; данные ENPIE. */
PieCtrlRegs.PIECTRL.bit.ENPIE = 0;
// Clear all PIEIER registers:
/* Записывает PieCtrlRegs.PIEIER1.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all = 0;
/* Записывает PieCtrlRegs.PIEIER2.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER2.all = 0;
/* Записывает PieCtrlRegs.PIEIER3.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER3.all = 0;
/* Записывает PieCtrlRegs.PIEIER4.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER4.all = 0;
/* Записывает PieCtrlRegs.PIEIER5.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER5.all = 0;
/* Записывает PieCtrlRegs.PIEIER6.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER6.all = 0;
/* Записывает PieCtrlRegs.PIEIER7.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER7.all = 0;
/* Записывает PieCtrlRegs.PIEIER8.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER8.all = 0;
/* Записывает PieCtrlRegs.PIEIER9.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all = 0;
/* Записывает PieCtrlRegs.PIEIER10.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER10.all = 0;
/* Записывает PieCtrlRegs.PIEIER11.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER11.all = 0;
/* Записывает PieCtrlRegs.PIEIER12.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER12.all = 0;
// Clear all PIEIFR registers:
/* Записывает PieCtrlRegs.PIEIFR1.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIFR1.all = 0;
/* Записывает PieCtrlRegs.PIEIFR2.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIFR2.all = 0;
/* Записывает PieCtrlRegs.PIEIFR3.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIFR3.all = 0;
/* Записывает PieCtrlRegs.PIEIFR4.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIFR4.all = 0;
/* Записывает PieCtrlRegs.PIEIFR5.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIFR5.all = 0;
/* Записывает PieCtrlRegs.PIEIFR6.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIFR6.all = 0;
/* Записывает PieCtrlRegs.PIEIFR7.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIFR7.all = 0;
/* Записывает PieCtrlRegs.PIEIFR8.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIFR8.all = 0;
/* Записывает PieCtrlRegs.PIEIFR9.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIFR9.all = 0;
/* Записывает PieCtrlRegs.PIEIFR10.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIFR10.all = 0;
/* Записывает PieCtrlRegs.PIEIFR11.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIFR11.all = 0;
/* Записывает PieCtrlRegs.PIEIFR12.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIFR12.all = 0;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
//---------------------------------------------------------------------------
@@ -63,18 +95,24 @@ void InitPieCtrl(void)
//---------------------------------------------------------------------------
// This function enables the PIE module and CPU interrupts
//
/* Начинает функцию EnableInterrupts; назначение модуля — поставляемое TI описание PieCtrl для семейства C2833x. */
void EnableInterrupts()
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Enable the PIE
/* Записывает PieCtrlRegs.PIECTRL.bit.ENPIE значением 1; данные ENPIE. */
PieCtrlRegs.PIECTRL.bit.ENPIE = 1;
// Enables PIE to drive a pulse into the CPU
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF;
// Enable Interrupts at the CPU level
/* Разрешение маскируемых прерываний ядра. */
EINT;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание PieVect для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/1 $
// Checkin $Date: August 18, 2006 13:46:38 $
//###########################################################################
@@ -11,168 +12,300 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Подключает "DSP2833x_Device.h": поставляемое TI описание Device для семейства C2833x. */
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
/* Подключает "DSP2833x_Examples.h": поставляемое TI описание Examples для семейства C2833x. */
#include "DSP2833x_Examples.h" // DSP2833x Examples Include File
/* Записывает PieVectTableInit значением {; данные PieVectTableInit. */
const struct PIE_VECT_TABLE PieVectTableInit = {
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // 0 Reserved space
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // 1 Reserved space
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // 2 Reserved space
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // 3 Reserved space
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // 4 Reserved space
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // 5 Reserved space
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // 6 Reserved space
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // 7 Reserved space
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // 8 Reserved space
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // 9 Reserved space
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // 10 Reserved space
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // 11 Reserved space
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // 12 Reserved space
// Non-Peripheral Interrupts
/* Продолжает список аргументов, полей или выражение INT13_ISR,; порядок элементов сохраняется. */
INT13_ISR, // XINT13 or CPU-Timer 1
/* Продолжает список аргументов, полей или выражение INT14_ISR,; порядок элементов сохраняется. */
INT14_ISR, // CPU-Timer2
/* Продолжает список аргументов, полей или выражение DATALOG_ISR,; порядок элементов сохраняется. */
DATALOG_ISR, // Datalogging interrupt
/* Продолжает список аргументов, полей или выражение RTOSINT_ISR,; порядок элементов сохраняется. */
RTOSINT_ISR, // RTOS interrupt
/* Продолжает список аргументов, полей или выражение EMUINT_ISR,; порядок элементов сохраняется. */
EMUINT_ISR, // Emulation interrupt
/* Продолжает список аргументов, полей или выражение NMI_ISR,; порядок элементов сохраняется. */
NMI_ISR, // Non-maskable interrupt
/* Продолжает список аргументов, полей или выражение ILLEGAL_ISR,; порядок элементов сохраняется. */
ILLEGAL_ISR, // Illegal operation TRAP
/* Продолжает список аргументов, полей или выражение USER1_ISR,; порядок элементов сохраняется. */
USER1_ISR, // User Defined trap 1
/* Продолжает список аргументов, полей или выражение USER2_ISR,; порядок элементов сохраняется. */
USER2_ISR, // User Defined trap 2
/* Продолжает список аргументов, полей или выражение USER3_ISR,; порядок элементов сохраняется. */
USER3_ISR, // User Defined trap 3
/* Продолжает список аргументов, полей или выражение USER4_ISR,; порядок элементов сохраняется. */
USER4_ISR, // User Defined trap 4
/* Продолжает список аргументов, полей или выражение USER5_ISR,; порядок элементов сохраняется. */
USER5_ISR, // User Defined trap 5
/* Продолжает список аргументов, полей или выражение USER6_ISR,; порядок элементов сохраняется. */
USER6_ISR, // User Defined trap 6
/* Продолжает список аргументов, полей или выражение USER7_ISR,; порядок элементов сохраняется. */
USER7_ISR, // User Defined trap 7
/* Продолжает список аргументов, полей или выражение USER8_ISR,; порядок элементов сохраняется. */
USER8_ISR, // User Defined trap 8
/* Продолжает список аргументов, полей или выражение USER9_ISR,; порядок элементов сохраняется. */
USER9_ISR, // User Defined trap 9
/* Продолжает список аргументов, полей или выражение USER10_ISR,; порядок элементов сохраняется. */
USER10_ISR, // User Defined trap 10
/* Продолжает список аргументов, полей или выражение USER11_ISR,; порядок элементов сохраняется. */
USER11_ISR, // User Defined trap 11
/* Продолжает список аргументов, полей или выражение USER12_ISR,; порядок элементов сохраняется. */
USER12_ISR, // User Defined trap 12
// Group 1 PIE Vectors
/* Продолжает список аргументов, полей или выражение SEQ1INT_ISR,; порядок элементов сохраняется. */
SEQ1INT_ISR, // 1.1 ADC
/* Продолжает список аргументов, полей или выражение SEQ2INT_ISR,; порядок элементов сохраняется. */
SEQ2INT_ISR, // 1.2 ADC
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 1.3
/* Продолжает список аргументов, полей или выражение XINT1_ISR,; порядок элементов сохраняется. */
XINT1_ISR, // 1.4
/* Продолжает список аргументов, полей или выражение XINT2_ISR,; порядок элементов сохраняется. */
XINT2_ISR, // 1.5
/* Продолжает список аргументов, полей или выражение ADCINT_ISR,; порядок элементов сохраняется. */
ADCINT_ISR, // 1.6 ADC
/* Продолжает список аргументов, полей или выражение TINT0_ISR,; порядок элементов сохраняется. */
TINT0_ISR, // 1.7 Timer 0
/* Продолжает список аргументов, полей или выражение WAKEINT_ISR,; порядок элементов сохраняется. */
WAKEINT_ISR, // 1.8 WD, Low Power
// Group 2 PIE Vectors
/* Продолжает список аргументов, полей или выражение EPWM1_TZINT_ISR,; порядок элементов сохраняется. */
EPWM1_TZINT_ISR, // 2.1 EPWM-1 Trip Zone
/* Продолжает список аргументов, полей или выражение EPWM2_TZINT_ISR,; порядок элементов сохраняется. */
EPWM2_TZINT_ISR, // 2.2 EPWM-2 Trip Zone
/* Продолжает список аргументов, полей или выражение EPWM3_TZINT_ISR,; порядок элементов сохраняется. */
EPWM3_TZINT_ISR, // 2.3 EPWM-3 Trip Zone
/* Продолжает список аргументов, полей или выражение EPWM4_TZINT_ISR,; порядок элементов сохраняется. */
EPWM4_TZINT_ISR, // 2.4 EPWM-4 Trip Zone
/* Продолжает список аргументов, полей или выражение EPWM5_TZINT_ISR,; порядок элементов сохраняется. */
EPWM5_TZINT_ISR, // 2.5 EPWM-5 Trip Zone
/* Продолжает список аргументов, полей или выражение EPWM6_TZINT_ISR,; порядок элементов сохраняется. */
EPWM6_TZINT_ISR, // 2.6 EPWM-6 Trip Zone
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 2.7
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 2.8
// Group 3 PIE Vectors
/* Продолжает список аргументов, полей или выражение EPWM1_INT_ISR,; порядок элементов сохраняется. */
EPWM1_INT_ISR, // 3.1 EPWM-1 Interrupt
/* Продолжает список аргументов, полей или выражение EPWM2_INT_ISR,; порядок элементов сохраняется. */
EPWM2_INT_ISR, // 3.2 EPWM-2 Interrupt
/* Продолжает список аргументов, полей или выражение EPWM3_INT_ISR,; порядок элементов сохраняется. */
EPWM3_INT_ISR, // 3.3 EPWM-3 Interrupt
/* Продолжает список аргументов, полей или выражение EPWM4_INT_ISR,; порядок элементов сохраняется. */
EPWM4_INT_ISR, // 3.4 EPWM-4 Interrupt
/* Продолжает список аргументов, полей или выражение EPWM5_INT_ISR,; порядок элементов сохраняется. */
EPWM5_INT_ISR, // 3.5 EPWM-5 Interrupt
/* Продолжает список аргументов, полей или выражение EPWM6_INT_ISR,; порядок элементов сохраняется. */
EPWM6_INT_ISR, // 3.6 EPWM-6 Interrupt
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 3.7
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 3.8
// Group 4 PIE Vectors
/* Продолжает список аргументов, полей или выражение ECAP1_INT_ISR,; порядок элементов сохраняется. */
ECAP1_INT_ISR, // 4.1 ECAP-1
/* Продолжает список аргументов, полей или выражение ECAP2_INT_ISR,; порядок элементов сохраняется. */
ECAP2_INT_ISR, // 4.2 ECAP-2
/* Продолжает список аргументов, полей или выражение ECAP3_INT_ISR,; порядок элементов сохраняется. */
ECAP3_INT_ISR, // 4.3 ECAP-3
/* Продолжает список аргументов, полей или выражение ECAP4_INT_ISR,; порядок элементов сохраняется. */
ECAP4_INT_ISR, // 4.4 ECAP-4
/* Продолжает список аргументов, полей или выражение ECAP5_INT_ISR,; порядок элементов сохраняется. */
ECAP5_INT_ISR, // 4.5 ECAP-5
/* Продолжает список аргументов, полей или выражение ECAP6_INT_ISR,; порядок элементов сохраняется. */
ECAP6_INT_ISR, // 4.6 ECAP-6
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 4.7
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 4.8
// Group 5 PIE Vectors
/* Продолжает список аргументов, полей или выражение EQEP1_INT_ISR,; порядок элементов сохраняется. */
EQEP1_INT_ISR, // 5.1 EQEP-1
/* Продолжает список аргументов, полей или выражение EQEP2_INT_ISR,; порядок элементов сохраняется. */
EQEP2_INT_ISR, // 5.2 EQEP-2
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 5.3
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 5.4
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 5.5
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 5.6
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 5.7
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 5.8
// Group 6 PIE Vectors
/* Продолжает список аргументов, полей или выражение SPIRXINTA_ISR,; порядок элементов сохраняется. */
SPIRXINTA_ISR, // 6.1 SPI-A
/* Продолжает список аргументов, полей или выражение SPITXINTA_ISR,; порядок элементов сохраняется. */
SPITXINTA_ISR, // 6.2 SPI-A
/* Продолжает список аргументов, полей или выражение MRINTA_ISR,; порядок элементов сохраняется. */
MRINTA_ISR, // 6.3 McBSP-A
/* Продолжает список аргументов, полей или выражение MXINTA_ISR,; порядок элементов сохраняется. */
MXINTA_ISR, // 6.4 McBSP-A
/* Продолжает список аргументов, полей или выражение MRINTB_ISR,; порядок элементов сохраняется. */
MRINTB_ISR, // 6.5 McBSP-B
/* Продолжает список аргументов, полей или выражение MXINTB_ISR,; порядок элементов сохраняется. */
MXINTB_ISR, // 6.6 McBSP-B
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 6.7
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 6.8
// Group 7 PIE Vectors
/* Продолжает список аргументов, полей или выражение DINTCH1_ISR,; порядок элементов сохраняется. */
DINTCH1_ISR, // 7.1 DMA channel 1
/* Продолжает список аргументов, полей или выражение DINTCH2_ISR,; порядок элементов сохраняется. */
DINTCH2_ISR, // 7.2 DMA channel 2
/* Продолжает список аргументов, полей или выражение DINTCH3_ISR,; порядок элементов сохраняется. */
DINTCH3_ISR, // 7.3 DMA channel 3
/* Продолжает список аргументов, полей или выражение DINTCH4_ISR,; порядок элементов сохраняется. */
DINTCH4_ISR, // 7.4 DMA channel 4
/* Продолжает список аргументов, полей или выражение DINTCH5_ISR,; порядок элементов сохраняется. */
DINTCH5_ISR, // 7.5 DMA channel 5
/* Продолжает список аргументов, полей или выражение DINTCH6_ISR,; порядок элементов сохраняется. */
DINTCH6_ISR, // 7.6 DMA channel 6
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 7.7
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 7.8
// Group 8 PIE Vectors
/* Продолжает список аргументов, полей или выражение I2CINT1A_ISR,; порядок элементов сохраняется. */
I2CINT1A_ISR, // 8.1 I2C
/* Продолжает список аргументов, полей или выражение I2CINT2A_ISR,; порядок элементов сохраняется. */
I2CINT2A_ISR, // 8.2 I2C
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 8.3
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 8.4
/* Продолжает список аргументов, полей или выражение SCIRXINTC_ISR,; порядок элементов сохраняется. */
SCIRXINTC_ISR, // 8.5 SCI-C
/* Продолжает список аргументов, полей или выражение SCITXINTC_ISR,; порядок элементов сохраняется. */
SCITXINTC_ISR, // 8.6 SCI-C
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 8.7
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 8.8
// Group 9 PIE Vectors
/* Продолжает список аргументов, полей или выражение SCIRXINTA_ISR,; порядок элементов сохраняется. */
SCIRXINTA_ISR, // 9.1 SCI-A
/* Продолжает список аргументов, полей или выражение SCITXINTA_ISR,; порядок элементов сохраняется. */
SCITXINTA_ISR, // 9.2 SCI-A
/* Продолжает список аргументов, полей или выражение SCIRXINTB_ISR,; порядок элементов сохраняется. */
SCIRXINTB_ISR, // 9.3 SCI-B
/* Продолжает список аргументов, полей или выражение SCITXINTB_ISR,; порядок элементов сохраняется. */
SCITXINTB_ISR, // 9.4 SCI-B
/* Продолжает список аргументов, полей или выражение ECAN0INTA_ISR,; порядок элементов сохраняется. */
ECAN0INTA_ISR, // 9.5 eCAN-A
/* Продолжает список аргументов, полей или выражение ECAN1INTA_ISR,; порядок элементов сохраняется. */
ECAN1INTA_ISR, // 9.6 eCAN-A
/* Продолжает список аргументов, полей или выражение ECAN0INTB_ISR,; порядок элементов сохраняется. */
ECAN0INTB_ISR, // 9.7 eCAN-B
/* Продолжает список аргументов, полей или выражение ECAN1INTB_ISR,; порядок элементов сохраняется. */
ECAN1INTB_ISR, // 9.8 eCAN-B
// Group 10 PIE Vectors
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 10.1
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 10.2
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 10.3
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 10.4
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 10.5
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 10.6
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 10.7
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 10.8
// Group 11 PIE Vectors
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 11.1
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 11.2
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 11.3
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 11.4
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 11.5
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 11.6
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 11.7
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 11.8
// Group 12 PIE Vectors
/* Продолжает список аргументов, полей или выражение XINT3_ISR,; порядок элементов сохраняется. */
XINT3_ISR, // 12.1
/* Продолжает список аргументов, полей или выражение XINT4_ISR,; порядок элементов сохраняется. */
XINT4_ISR, // 12.2
/* Продолжает список аргументов, полей или выражение XINT5_ISR,; порядок элементов сохраняется. */
XINT5_ISR, // 12.3
/* Продолжает список аргументов, полей или выражение XINT6_ISR,; порядок элементов сохраняется. */
XINT6_ISR, // 12.4
/* Продолжает список аргументов, полей или выражение XINT7_ISR,; порядок элементов сохраняется. */
XINT7_ISR, // 12.5
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 12.6
/* Продолжает список аргументов, полей или выражение LVF_ISR,; порядок элементов сохраняется. */
LVF_ISR, // 12.7
/* Продолжает список аргументов, полей или выражение LUF_ISR,; порядок элементов сохраняется. */
LUF_ISR, // 12.8
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
@@ -183,20 +316,31 @@ const struct PIE_VECT_TABLE PieVectTableInit = {
// This function must be executed after boot time.
//
/* Начинает функцию InitPieVectTable; назначение модуля — поставляемое TI описание PieVect для семейства C2833x. */
void InitPieVectTable(void)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Продолжает список аргументов, полей или выражение int16 i;; порядок элементов сохраняется. */
int16 i;
/* Объявляет Source — данные Source; PieVectTableInit — данные PieVectTableInit. Хранит указатель на данные. Начальное значение задаётся справа от знака равенства. */
Uint32 *Source = (void *) &PieVectTableInit;
/* Объявляет Dest — данные Dest; PieVectTable — данные PieVectTable. Хранит указатель на данные. Начальное значение задаётся справа от знака равенства. */
Uint32 *Dest = (void *) &PieVectTable;
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
/* Цикл for(i=0; i < 128; i++); задаёт начальное значение, условие продолжения и шаг перебора. */
for(i=0; i < 128; i++)
/* Изменяет счётчик в выражении *Dest++ = *Source++; на один для следующего шага. */
*Dest++ = *Source++;
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS;
// Enable the PIE Vector Table
/* Записывает PieCtrlRegs.PIECTRL.bit.ENPIE значением 1; данные ENPIE. */
PieCtrlRegs.PIECTRL.bit.ENPIE = 1;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание SWPrioritizedDefaultIsr для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/5 $
// Checkin $Date: January 14, 2008 11:28:12 $
//###########################################################################
@@ -13,259 +14,388 @@
//###########################################################################
/* Подключает "DSP2833x_Device.h": поставляемое TI описание Device для семейства C2833x. */
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
/* Подключает "DSP2833x_Examples.h": поставляемое TI описание Examples для семейства C2833x. */
#include "DSP2833x_Examples.h" // DSP2833x Examples Include File
/* Подключает "DSP2833x_SWPrioritizedIsrLevels.h": поставляемое TI описание SWPrioritizedIsrLevels для семейства C2833x. */
#include "DSP2833x_SWPrioritizedIsrLevels.h"
// Connected to INT13 of CPU (use MINT13 mask):
// Note CPU-Timer1 is reserved for TI use, however XINT13
// ISR can be used by the user.
/* Условие компиляции (INT13PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (INT13PL != 0)
/* Объявляет обработчик INT13_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void INT13_ISR(void) // INT13 or CPU-Timer1
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Устанавливает биты IER значением MINT13; регистр разрешения прерываний ядра C28x. */
IER |= MINT13; // Set "global" priority
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to INT14 of CPU (use MINT14 mask):
/* Условие компиляции (INT14PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (INT14PL != 0)
/* Объявляет обработчик INT14_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void INT14_ISR(void) // CPU-Timer2
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Устанавливает биты IER значением MINT14; регистр разрешения прерываний ядра C28x. */
IER |= MINT14; // Set "global" priority
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to INT15 of CPU (use MINT15 mask):
/* Условие компиляции (INT15PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (INT15PL != 0)
/* Объявляет обработчик DATALOG_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void DATALOG_ISR(void) // Datalogging interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Устанавливает биты IER значением MINT15; регистр разрешения прерываний ядра C28x. */
IER |= MINT15; // Set "global" priority
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to INT16 of CPU (use MINT16 mask):
/* Условие компиляции (INT16PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (INT16PL != 0)
/* Объявляет обработчик RTOSINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void RTOSINT_ISR(void) // RTOS interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Устанавливает биты IER значением MINT16; регистр разрешения прерываний ядра C28x. */
IER |= MINT16; // Set "global" priority
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to EMUINT of CPU (non-maskable):
/* Объявляет обработчик EMUINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EMUINT_ISR(void) // Emulation interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
// Connected to NMI of CPU (non-maskable):
/* Объявляет обработчик NMI_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void NMI_ISR(void) // Non-maskable interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Объявляет обработчик ILLEGAL_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ILLEGAL_ISR(void) // Illegal operation TRAP
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Объявляет обработчик USER1_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER1_ISR(void) // User Defined trap 1
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Объявляет обработчик USER2_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER2_ISR(void) // User Defined trap 2
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Объявляет обработчик USER3_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER3_ISR(void) // User Defined trap 3
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Объявляет обработчик USER4_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER4_ISR(void) // User Defined trap 4
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Объявляет обработчик USER5_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER5_ISR(void) // User Defined trap 5
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Объявляет обработчик USER6_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER6_ISR(void) // User Defined trap 6
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Объявляет обработчик USER7_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER7_ISR(void) // User Defined trap 7
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Объявляет обработчик USER8_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER8_ISR(void) // User Defined trap 8
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Объявляет обработчик USER9_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER9_ISR(void) // User Defined trap 9
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Объявляет обработчик USER10_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER10_ISR(void) // User Defined trap 10
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Объявляет обработчик USER11_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER11_ISR(void) // User Defined trap 11
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Объявляет обработчик USER12_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void USER12_ISR(void) // User Defined trap 12
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
@@ -274,41 +404,65 @@ interrupt void USER12_ISR(void) // User Defined trap 12
// -----------------------------------------------------------
// Connected to PIEIER1_1 (use MINT1 and MG11 masks):
/* Условие компиляции (G11PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G11PL != 0)
/* Объявляет обработчик SEQ1INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SEQ1INT_ISR( void ) // ADC
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all;
/* Устанавливает биты IER значением M_INT1; регистр разрешения прерываний ядра C28x. */
IER |= M_INT1;
/* Оставляет биты маски IER значением MINT1; регистр разрешения прерываний ядра C28x. */
IER &= MINT1; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER1.all значением MG11; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all &= MG11; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER1.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER1_2 (use MINT1 and MG12 masks):
/* Условие компиляции (G12PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G12PL != 0)
/* Объявляет обработчик SEQ2INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SEQ2INT_ISR( void ) // ADC
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all;
/* Устанавливает биты IER значением M_INT1; регистр разрешения прерываний ядра C28x. */
IER |= M_INT1;
/* Оставляет биты маски IER значением MINT1; регистр разрешения прерываний ядра C28x. */
IER &= MINT1; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER1.all значением MG12; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all &= MG12; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
@@ -317,50 +471,78 @@ interrupt void SEQ2INT_ISR( void ) // ADC
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER1.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER1_4 (use MINT1 and MG14 masks):
/* Условие компиляции (G14PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G14PL != 0)
/* Объявляет обработчик XINT1_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void XINT1_ISR(void)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all;
/* Устанавливает биты IER значением MINT1; регистр разрешения прерываний ядра C28x. */
IER |= MINT1; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER1.all значением MG14; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all &= MG14; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER1.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER1_5 (use MINT1 and MG15 masks):
/* Условие компиляции (G15PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G15PL != 0)
/* Объявляет обработчик XINT2_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void XINT2_ISR(void)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all;
/* Устанавливает биты IER значением MINT1; регистр разрешения прерываний ядра C28x. */
IER |= MINT1; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER1.all значением MG15; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all &= MG15; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
@@ -368,92 +550,143 @@ interrupt void XINT2_ISR(void)
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER1.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER1_6 (use MINT1 and MG16 masks):
/* Условие компиляции (G16PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G16PL != 0)
/* Объявляет обработчик ADCINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ADCINT_ISR(void) // ADC
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all;
/* Устанавливает биты IER значением M_INT1; регистр разрешения прерываний ядра C28x. */
IER |= M_INT1;
/* Оставляет биты маски IER значением MINT1; регистр разрешения прерываний ядра C28x. */
IER &= MINT1; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER1.all значением MG16; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all &= MG16; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER1.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER1_7 (use MINT1 and MG17 masks):
/* Условие компиляции (G17PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G17PL != 0)
/* Объявляет обработчик TINT0_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void TINT0_ISR(void) // CPU-Timer 0
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all;
/* Устанавливает биты IER значением M_INT1; регистр разрешения прерываний ядра C28x. */
IER |= M_INT1;
/* Оставляет биты маски IER значением MINT1; регистр разрешения прерываний ядра C28x. */
IER &= MINT1; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER1.all значением MG17; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all &= MG17; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER1.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER1_8 (use MINT1 and MG18 masks):
/* Условие компиляции (G18PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G18PL != 0)
/* Объявляет обработчик WAKEINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void WAKEINT_ISR(void) // WD/LPM
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all;
/* Устанавливает биты IER значением M_INT1; регистр разрешения прерываний ядра C28x. */
IER |= M_INT1;
/* Оставляет биты маски IER значением MINT1; регистр разрешения прерываний ядра C28x. */
IER &= MINT1; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER1.all значением MG18; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all &= MG18; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER1.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
@@ -462,157 +695,247 @@ interrupt void WAKEINT_ISR(void) // WD/LPM
// -----------------------------------------------------------
// Connected to PIEIER2_1 (use MINT2 and MG21 masks):
/* Условие компиляции (G21PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G21PL != 0)
/* Объявляет обработчик EPWM1_TZINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM1_TZINT_ISR(void) // ePWM1 Trip Zone
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER2.all;
/* Устанавливает биты IER значением M_INT2; регистр разрешения прерываний ядра C28x. */
IER |= M_INT2;
/* Оставляет биты маски IER значением MINT2; регистр разрешения прерываний ядра C28x. */
IER &= MINT2; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER2.all значением MG21; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER2.all &= MG21; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER2.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER2.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER2_2 (use MINT2 and MG22 masks):
/* Условие компиляции (G22PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G22PL != 0)
/* Объявляет обработчик EPWM2_TZINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM2_TZINT_ISR(void) // ePWM2 Trip Zone
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER2.all;
/* Устанавливает биты IER значением M_INT2; регистр разрешения прерываний ядра C28x. */
IER |= M_INT2;
/* Оставляет биты маски IER значением MINT2; регистр разрешения прерываний ядра C28x. */
IER &= MINT2; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER2.all значением MG22; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER2.all &= MG22; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER2.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER2.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER2_3 (use MINT2 and MG23 masks):
/* Условие компиляции (G23PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G23PL != 0)
/* Объявляет обработчик EPWM3_TZINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM3_TZINT_ISR(void) // ePWM3 Trip Zone
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER2.all;
/* Устанавливает биты IER значением M_INT2; регистр разрешения прерываний ядра C28x. */
IER |= M_INT2;
/* Оставляет биты маски IER значением MINT2; регистр разрешения прерываний ядра C28x. */
IER &= MINT2; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER2.all значением MG23; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER2.all &= MG23; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER2.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER2.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER2_4 (use MINT2 and MG24 masks):
/* Условие компиляции (G24PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G24PL != 0)
/* Объявляет обработчик EPWM4_TZINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM4_TZINT_ISR(void) // ePWM4 Trip Zone
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER2.all;
/* Устанавливает биты IER значением M_INT2; регистр разрешения прерываний ядра C28x. */
IER |= M_INT2;
/* Оставляет биты маски IER значением MINT2; регистр разрешения прерываний ядра C28x. */
IER &= MINT2; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER2.all значением MG24; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER2.all &= MG24; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER2.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER2.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER2_5 (use MINT2 and MG25 masks):
/* Условие компиляции (G25PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G25PL != 0)
/* Объявляет обработчик EPWM5_TZINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM5_TZINT_ISR(void) // ePWM5 Trip Zone
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER2.all;
/* Устанавливает биты IER значением M_INT2; регистр разрешения прерываний ядра C28x. */
IER |= M_INT2;
/* Оставляет биты маски IER значением MINT2; регистр разрешения прерываний ядра C28x. */
IER &= MINT2; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER2.all значением MG25; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER2.all &= MG25; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER2.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER2.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER2_6 (use MINT2 and MG26 masks):
/* Условие компиляции (G26PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G26PL != 0)
/* Объявляет обработчик EPWM6_TZINT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM6_TZINT_ISR(void) // ePWM6 Trip Zone
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER2.all;
/* Устанавливает биты IER значением M_INT2; регистр разрешения прерываний ядра C28x. */
IER |= M_INT2;
/* Оставляет биты маски IER значением MINT2; регистр разрешения прерываний ядра C28x. */
IER &= MINT2; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER2.all значением MG26; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER2.all &= MG26; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER2.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER2.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
@@ -622,157 +945,247 @@ interrupt void EPWM6_TZINT_ISR(void) // ePWM6 Trip Zone
// Connected to PIEIER3_1 (use MINT3 and MG31 masks):
/* Условие компиляции (G31PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G31PL != 0)
/* Объявляет обработчик EPWM1_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM1_INT_ISR(void) // ePWM1 Interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER3.all;
/* Устанавливает биты IER значением M_INT3; регистр разрешения прерываний ядра C28x. */
IER |= M_INT3;
/* Оставляет биты маски IER значением MINT3; регистр разрешения прерываний ядра C28x. */
IER &= MINT3; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER3.all значением MG31; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER3.all &= MG31; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER3.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER3.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER3_2 (use MINT3 and MG32 masks):
/* Условие компиляции (G32PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G32PL != 0)
/* Объявляет обработчик EPWM2_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM2_INT_ISR(void) // ePWM2 Interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER3.all;
/* Устанавливает биты IER значением M_INT3; регистр разрешения прерываний ядра C28x. */
IER |= M_INT3;
/* Оставляет биты маски IER значением MINT3; регистр разрешения прерываний ядра C28x. */
IER &= MINT3; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER3.all значением MG32; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER3.all &= MG32; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER3.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER3.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER3_3 (use MINT3 and MG33 masks):
/* Условие компиляции (G33PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G33PL != 0)
/* Объявляет обработчик EPWM3_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM3_INT_ISR(void) // ePWM3 Interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER3.all;
/* Устанавливает биты IER значением M_INT3; регистр разрешения прерываний ядра C28x. */
IER |= M_INT3;
/* Оставляет биты маски IER значением MINT3; регистр разрешения прерываний ядра C28x. */
IER &= MINT3; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER3.all значением MG33; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER3.all &= MG33; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER3.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER3.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER3_4 (use MINT3 and MG34 masks):
/* Условие компиляции (G34PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G34PL != 0)
/* Объявляет обработчик EPWM4_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM4_INT_ISR(void) // ePWM4 Interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER3.all;
/* Устанавливает биты IER значением M_INT3; регистр разрешения прерываний ядра C28x. */
IER |= M_INT3;
/* Оставляет биты маски IER значением MINT3; регистр разрешения прерываний ядра C28x. */
IER &= MINT3; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER3.all значением MG34; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER3.all &= MG34; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER3.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER3.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER3_5 (use MINT3 and MG35 masks):
/* Условие компиляции (G35PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G35PL != 0)
/* Объявляет обработчик EPWM5_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM5_INT_ISR(void) // ePWM5 Interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER3.all;
/* Устанавливает биты IER значением M_INT3; регистр разрешения прерываний ядра C28x. */
IER |= M_INT3;
/* Оставляет биты маски IER значением MINT3; регистр разрешения прерываний ядра C28x. */
IER &= MINT3; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER3.all значением MG35; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER3.all &= MG35; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER3.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER3.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER3_6 (use MINT3 and MG36 masks):
/* Условие компиляции (G36PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G36PL != 0)
/* Объявляет обработчик EPWM6_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EPWM6_INT_ISR(void) // ePWM6 Interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER3.all;
/* Устанавливает биты IER значением M_INT3; регистр разрешения прерываний ядра C28x. */
IER |= M_INT3;
/* Оставляет биты маски IER значением MINT3; регистр разрешения прерываний ядра C28x. */
IER &= MINT3; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER3.all значением MG36; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER3.all &= MG36; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER3.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER3.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
@@ -782,159 +1195,249 @@ interrupt void EPWM6_INT_ISR(void) // ePWM6 Interrupt
// Connected to PIEIER4_1 (use MINT4 and MG41 masks):
/* Условие компиляции (G41PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G41PL != 0)
/* Объявляет обработчик ECAP1_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAP1_INT_ISR(void) // eCAP1 Interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER4.all;
/* Устанавливает биты IER значением M_INT4; регистр разрешения прерываний ядра C28x. */
IER |= M_INT4;
/* Оставляет биты маски IER значением MINT4; регистр разрешения прерываний ядра C28x. */
IER &= MINT4; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER4.all значением MG41; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER4.all &= MG41; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER4.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER4.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER4_2 (use MINT4 and MG42 masks):
/* Условие компиляции (G42PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G42PL != 0)
/* Объявляет обработчик ECAP2_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAP2_INT_ISR(void) // eCAP2 Interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER5.all;
/* Устанавливает биты IER значением M_INT4; регистр разрешения прерываний ядра C28x. */
IER |= M_INT4;
/* Оставляет биты маски IER значением MINT4; регистр разрешения прерываний ядра C28x. */
IER &= MINT4; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER4.all значением MG42; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER4.all &= MG42; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER4.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER4.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER4_3 (use MINT4 and MG43 masks):
/* Условие компиляции (G43PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G43PL != 0)
/* Объявляет обработчик ECAP3_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAP3_INT_ISR(void) // eCAP3 Interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER4.all;
/* Устанавливает биты IER значением M_INT4; регистр разрешения прерываний ядра C28x. */
IER |= M_INT4;
/* Оставляет биты маски IER значением MINT4; регистр разрешения прерываний ядра C28x. */
IER &= MINT4; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER4.all значением MG43; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER4.all &= MG43; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER4.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER4.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER4_4 (use MINT4 and MG44 masks):
/* Условие компиляции (G44PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G44PL != 0)
/* Объявляет обработчик ECAP4_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAP4_INT_ISR(void) // eCAP4 Interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER4.all;
/* Устанавливает биты IER значением M_INT4; регистр разрешения прерываний ядра C28x. */
IER |= M_INT4;
/* Оставляет биты маски IER значением MINT4; регистр разрешения прерываний ядра C28x. */
IER &= MINT4; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER4.all значением MG44; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER4.all &= MG44; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER4.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER4.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER4_5 (use MINT4 and MG45 masks):
/* Условие компиляции (G45PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G45PL != 0)
/* Объявляет обработчик ECAP5_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAP5_INT_ISR(void) // eCAP5 Interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER4.all;
/* Устанавливает биты IER значением M_INT4; регистр разрешения прерываний ядра C28x. */
IER |= M_INT4;
/* Оставляет биты маски IER значением MINT4; регистр разрешения прерываний ядра C28x. */
IER &= MINT4; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER4.all значением MG45; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER4.all &= MG45; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER4.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER4.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER4_6 (use MINT4 and MG46 masks):
/* Условие компиляции (G46PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G46PL != 0)
/* Объявляет обработчик ECAP6_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAP6_INT_ISR(void) // eCAP6 Interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER4.all;
/* Устанавливает биты IER значением M_INT4; регистр разрешения прерываний ядра C28x. */
IER |= M_INT4;
/* Оставляет биты маски IER значением MINT4; регистр разрешения прерываний ядра C28x. */
IER &= MINT4; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER4.all значением MG46; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER4.all &= MG46; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER4.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER4.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
@@ -944,57 +1447,87 @@ interrupt void ECAP6_INT_ISR(void) // eCAP6 Interrupt
// -----------------------------------------------------------
// Connected to PIEIER5_1 (use MINT5 and MG51 masks):
/* Условие компиляции (G51PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G51PL != 0)
/* Объявляет обработчик EQEP1_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EQEP1_INT_ISR(void) // eQEP1 Interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER5.all;
/* Устанавливает биты IER значением M_INT5; регистр разрешения прерываний ядра C28x. */
IER |= M_INT5;
/* Оставляет биты маски IER значением MINT5; регистр разрешения прерываний ядра C28x. */
IER &= MINT5; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER5.all значением MG51; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER5.all &= MG51; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER5.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER5.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER5_2 (use MINT5 and MG52 masks):
/* Условие компиляции (G52PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G52PL != 0)
/* Объявляет обработчик EQEP2_INT_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void EQEP2_INT_ISR(void) // eQEP2 Interrupt
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER5.all;
/* Устанавливает биты IER значением M_INT5; регистр разрешения прерываний ядра C28x. */
IER |= M_INT5;
/* Оставляет биты маски IER значением MINT5; регистр разрешения прерываний ядра C28x. */
IER &= MINT5; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER5.all значением MG52; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER5.all &= MG52; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER5.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER5.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// -----------------------------------------------------------
@@ -1002,160 +1535,250 @@ interrupt void EQEP2_INT_ISR(void) // eQEP2 Interrupt
// -----------------------------------------------------------
// Connected to PIEIER6_1 (use MINT6 and MG61 masks):
/* Условие компиляции (G61PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G61PL != 0)
/* Объявляет обработчик SPIRXINTA_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SPIRXINTA_ISR(void) // SPI-A
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER6.all;
/* Устанавливает биты IER значением M_INT6; регистр разрешения прерываний ядра C28x. */
IER |= M_INT6;
/* Оставляет биты маски IER значением MINT6; регистр разрешения прерываний ядра C28x. */
IER &= MINT6; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER6.all значением MG61; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER6.all &= MG61; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER6.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER6.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER6_2 (use MINT6 and MG62 masks):
/* Условие компиляции (G62PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G62PL != 0)
/* Объявляет обработчик SPITXINTA_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SPITXINTA_ISR(void) // SPI-A
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER6.all;
/* Устанавливает биты IER значением M_INT6; регистр разрешения прерываний ядра C28x. */
IER |= M_INT6;
/* Оставляет биты маски IER значением MINT6; регистр разрешения прерываний ядра C28x. */
IER &= MINT6; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER6.all значением MG62; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER6.all &= MG62; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER6.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER6.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER6_3 (use MINT6 and MG63 masks):
/* Условие компиляции (G63PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G63PL != 0)
/* Объявляет обработчик MRINTB_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void MRINTB_ISR(void) // McBSP-B
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER6.all;
/* Устанавливает биты IER значением M_INT6; регистр разрешения прерываний ядра C28x. */
IER |= M_INT6;
/* Оставляет биты маски IER значением MINT6; регистр разрешения прерываний ядра C28x. */
IER &= MINT6; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER6.all значением MG63; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER6.all &= MG63; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER6.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER6.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER6_4 (use MINT6 and MG64 masks):
/* Условие компиляции (G64PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G64PL != 0)
/* Объявляет обработчик MXINTB_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void MXINTB_ISR(void) // McBSP-B
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER6.all;
/* Устанавливает биты IER значением M_INT6; регистр разрешения прерываний ядра C28x. */
IER |= M_INT6;
/* Оставляет биты маски IER значением MINT6; регистр разрешения прерываний ядра C28x. */
IER &= MINT6; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER6.all значением MG64; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER6.all &= MG64; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER6.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER6.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER6_5 (use MINT6 and MG65 masks):
/* Условие компиляции (G65PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G65PL != 0)
/* Объявляет обработчик MRINTA_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void MRINTA_ISR(void) // McBSP-A
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER6.all;
/* Устанавливает биты IER значением M_INT6; регистр разрешения прерываний ядра C28x. */
IER |= M_INT6;
/* Оставляет биты маски IER значением MINT6; регистр разрешения прерываний ядра C28x. */
IER &= MINT6; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER6.all значением MG65; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER6.all &= MG65; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER6.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER6.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER6_6 (use MINT6 and MG66 masks):
/* Условие компиляции (G66PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G66PL != 0)
/* Объявляет обработчик MXINTA_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void MXINTA_ISR(void) // McBSP-A
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER6.all;
/* Устанавливает биты IER значением M_INT6; регистр разрешения прерываний ядра C28x. */
IER |= M_INT6;
/* Оставляет биты маски IER значением MINT6; регистр разрешения прерываний ядра C28x. */
IER &= MINT6; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER6.all значением MG66; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER6.all &= MG66; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER6.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER6.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
@@ -1164,160 +1787,250 @@ interrupt void MXINTA_ISR(void) // McBSP-A
// -----------------------------------------------------------
// Connected to PIEIER7_1 (use MINT7 and MG71 masks):
/* Условие компиляции (G71PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G71PL != 0)
/* Объявляет обработчик DINTCH1_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void DINTCH1_ISR(void) // DMA
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER7.all;
/* Устанавливает биты IER значением M_INT7; регистр разрешения прерываний ядра C28x. */
IER |= M_INT7;
/* Оставляет биты маски IER значением MINT7; регистр разрешения прерываний ядра C28x. */
IER &= MINT7; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER7.all значением MG71; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER7.all &= MG71; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER7.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER7.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER7_2 (use MINT7 and MG72 masks):
/* Условие компиляции (G72PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G72PL != 0)
/* Объявляет обработчик DINTCH2_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void DINTCH2_ISR(void) // DMA
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER7.all;
/* Устанавливает биты IER значением M_INT7; регистр разрешения прерываний ядра C28x. */
IER |= M_INT7;
/* Оставляет биты маски IER значением MINT7; регистр разрешения прерываний ядра C28x. */
IER &= MINT7; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER7.all значением MG72; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER7.all &= MG72; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER7.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER7.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER7_3 (use MINT7 and MG73 masks):
/* Условие компиляции (G73PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G73PL != 0)
/* Объявляет обработчик DINTCH3_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void DINTCH3_ISR(void) // DMA
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER7.all;
/* Устанавливает биты IER значением M_INT7; регистр разрешения прерываний ядра C28x. */
IER |= M_INT7;
/* Оставляет биты маски IER значением MINT7; регистр разрешения прерываний ядра C28x. */
IER &= MINT7; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER7.all значением MG73; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER7.all &= MG73; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER7.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER7.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER7_4 (use MINT7 and MG74 masks):
/* Условие компиляции (G74PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G74PL != 0)
/* Объявляет обработчик DINTCH4_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void DINTCH4_ISR(void) // DMA
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER7.all;
/* Устанавливает биты IER значением M_INT7; регистр разрешения прерываний ядра C28x. */
IER |= M_INT7;
/* Оставляет биты маски IER значением MINT7; регистр разрешения прерываний ядра C28x. */
IER &= MINT7; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER7.all значением MG74; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER7.all &= MG74; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER7.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER7.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER7_5 (use MINT7 and MG75 masks):
/* Условие компиляции (G75PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G75PL != 0)
/* Объявляет обработчик DINTCH5_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void DINTCH5_ISR(void) // DMA
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER7.all;
/* Устанавливает биты IER значением M_INT7; регистр разрешения прерываний ядра C28x. */
IER |= M_INT7;
/* Оставляет биты маски IER значением MINT7; регистр разрешения прерываний ядра C28x. */
IER &= MINT7; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER7.all значением MG75; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER7.all &= MG75; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER7.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER7.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER7_6 (use MINT7 and MG76 masks):
/* Условие компиляции (G76PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G76PL != 0)
/* Объявляет обработчик DINTCH6_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void DINTCH6_ISR(void) // DMA
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER7.all;
/* Устанавливает биты IER значением M_INT7; регистр разрешения прерываний ядра C28x. */
IER |= M_INT7;
/* Оставляет биты маски IER значением MINT7; регистр разрешения прерываний ядра C28x. */
IER &= MINT7; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER7.all значением MG76; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER7.all &= MG76; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER7.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER7.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
@@ -1326,107 +2039,167 @@ interrupt void DINTCH6_ISR(void) // DMA
// -----------------------------------------------------------
// Connected to PIEIER8_1 (use MINT8 and MG81 masks):
/* Условие компиляции (G81PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G81PL != 0)
/* Объявляет обработчик I2CINT1A_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void I2CINT1A_ISR(void) // I2C-A
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER8.all;
/* Устанавливает биты IER значением M_INT8; регистр разрешения прерываний ядра C28x. */
IER |= M_INT8;
/* Оставляет биты маски IER значением MINT8; регистр разрешения прерываний ядра C28x. */
IER &= MINT8; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER6.all значением MG81; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER6.all &= MG81; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER8.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER8.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER8_2 (use MINT8 and MG82 masks):
/* Условие компиляции (G82PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G82PL != 0)
/* Объявляет обработчик I2CINT2A_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void I2CINT2A_ISR(void) // I2C-A
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER8.all;
/* Устанавливает биты IER значением M_INT8; регистр разрешения прерываний ядра C28x. */
IER |= M_INT8;
/* Оставляет биты маски IER значением MINT8; регистр разрешения прерываний ядра C28x. */
IER &= MINT8; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER8.all значением MG82; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER8.all &= MG82; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER8.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER8.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER8_5 (use MINT8 and MG85 masks):
/* Условие компиляции (G85PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G85PL != 0)
/* Объявляет обработчик SCIRXINTC_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SCIRXINTC_ISR(void) // SCI-C
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER8.all;
/* Устанавливает биты IER значением M_INT8; регистр разрешения прерываний ядра C28x. */
IER |= M_INT8;
/* Оставляет биты маски IER значением MINT8; регистр разрешения прерываний ядра C28x. */
IER &= MINT8; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER6.all значением MG85; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER6.all &= MG85; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER8.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER8.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER8_6 (use MINT8 and MG86 masks):
/* Условие компиляции (G82PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G82PL != 0)
/* Объявляет обработчик SCITXINTC_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SCITXINTC_ISR(void) // SCI-C
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER8.all;
/* Устанавливает биты IER значением M_INT8; регистр разрешения прерываний ядра C28x. */
IER |= M_INT8;
/* Оставляет биты маски IER значением MINT8; регистр разрешения прерываний ядра C28x. */
IER &= MINT8; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER8.all значением MG86; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER8.all &= MG86; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER8.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER8.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// -----------------------------------------------------------
@@ -1434,212 +2207,332 @@ interrupt void SCITXINTC_ISR(void) // SCI-C
// -----------------------------------------------------------
// Connected to PIEIER9_1 (use MINT9 and MG91 masks):
/* Условие компиляции (G91PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G91PL != 0)
/* Объявляет обработчик SCIRXINTA_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SCIRXINTA_ISR(void) // SCI-A
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all;
/* Устанавливает биты IER значением M_INT9; регистр разрешения прерываний ядра C28x. */
IER |= M_INT9;
/* Оставляет биты маски IER значением MINT9; регистр разрешения прерываний ядра C28x. */
IER &= MINT9; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER9.all значением MG91; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all &= MG91; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER9.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER9_2 (use MINT9 and MG92 masks):
/* Условие компиляции (G92PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G92PL != 0)
/* Объявляет обработчик SCITXINTA_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SCITXINTA_ISR(void) // SCI-A
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all;
/* Устанавливает биты IER значением M_INT9; регистр разрешения прерываний ядра C28x. */
IER |= M_INT9;
/* Оставляет биты маски IER значением MINT9; регистр разрешения прерываний ядра C28x. */
IER &= MINT9; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER9.all значением MG92; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all &= MG92; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER9.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER9_3 (use MINT9 and MG93 masks):
/* Условие компиляции (G93PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G93PL != 0)
/* Объявляет обработчик SCIRXINTB_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SCIRXINTB_ISR(void) // SCI-B
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all;
/* Устанавливает биты IER значением M_INT9; регистр разрешения прерываний ядра C28x. */
IER |= M_INT9;
/* Оставляет биты маски IER значением MINT9; регистр разрешения прерываний ядра C28x. */
IER &= MINT9; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER9.all значением MG93; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all &= MG93; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER9.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER9_4 (use MINT9 and MG94 masks):
/* Условие компиляции (G94PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G94PL != 0)
/* Объявляет обработчик SCITXINTB_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void SCITXINTB_ISR(void) // SCI-B
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all;
/* Устанавливает биты IER значением M_INT9; регистр разрешения прерываний ядра C28x. */
IER |= M_INT9;
/* Оставляет биты маски IER значением MINT9; регистр разрешения прерываний ядра C28x. */
IER &= MINT9; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER9.all значением MG94; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all &= MG94; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER9.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER9_5 (use MINT9 and MG95 masks):
/* Условие компиляции (G95PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G95PL != 0)
/* Объявляет обработчик ECAN0INTA_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAN0INTA_ISR(void) // eCAN-A
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all;
/* Устанавливает биты IER значением M_INT9; регистр разрешения прерываний ядра C28x. */
IER |= M_INT9;
/* Оставляет биты маски IER значением MINT9; регистр разрешения прерываний ядра C28x. */
IER &= MINT9; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER9.all значением MG95; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all &= MG95; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER9.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER9_6 (use MINT9 and MG96 masks):
/* Условие компиляции (G96PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G96PL != 0)
/* Объявляет обработчик ECAN1INTA_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAN1INTA_ISR(void) // eCAN-A
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all;
/* Устанавливает биты IER значением M_INT9; регистр разрешения прерываний ядра C28x. */
IER |= M_INT9;
/* Оставляет биты маски IER значением MINT9; регистр разрешения прерываний ядра C28x. */
IER &= MINT9; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER9.all значением MG96; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all &= MG96; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER9.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER9_7 (use MINT9 and MG97 masks):
/* Условие компиляции (G97PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G97PL != 0)
/* Объявляет обработчик ECAN0INTB_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAN0INTB_ISR(void) // eCAN-B
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all;
/* Устанавливает биты IER значением M_INT9; регистр разрешения прерываний ядра C28x. */
IER |= M_INT9;
/* Оставляет биты маски IER значением MINT9; регистр разрешения прерываний ядра C28x. */
IER &= MINT9; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER9.all значением MG97; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all &= MG97; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER9.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER9_8 (use MINT9 and MG98 masks):
/* Условие компиляции (G98PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G98PL != 0)
/* Объявляет обработчик ECAN1INTB_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void ECAN1INTB_ISR(void) // eCAN-B
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all;
/* Устанавливает биты IER значением M_INT9; регистр разрешения прерываний ядра C28x. */
IER |= M_INT9;
/* Оставляет биты маски IER значением MINT9; регистр разрешения прерываний ядра C28x. */
IER &= MINT9; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER9.all значением MG98; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all &= MG98; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER9.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER9.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// -----------------------------------------------------------
@@ -1653,186 +2546,291 @@ interrupt void ECAN1INTB_ISR(void) // eCAN-B
// -----------------------------------------------------------
// Connected to PIEIER9_1 (use MINT12 and MG121 masks):
/* Условие компиляции (G121PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G121PL != 0)
/* Объявляет обработчик XINT3_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void XINT3_ISR(void)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER12.all;
/* Устанавливает биты IER значением M_INT12; регистр разрешения прерываний ядра C28x. */
IER |= M_INT12;
/* Оставляет биты маски IER значением MINT12; регистр разрешения прерываний ядра C28x. */
IER &= MINT12; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER12.all значением MG121; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER12.all &= MG121; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER12.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER12.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER12_2 (use MINT12 and MG122 masks):
/* Условие компиляции (G122PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G122PL != 0)
/* Объявляет обработчик XINT4_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void XINT4_ISR(void)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER12.all;
/* Устанавливает биты IER значением M_INT12; регистр разрешения прерываний ядра C28x. */
IER |= M_INT12;
/* Оставляет биты маски IER значением MINT12; регистр разрешения прерываний ядра C28x. */
IER &= MINT12; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER12.all значением MG122; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER12.all &= MG122; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER12.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER12.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER12_3 (use MINT12 and MG123 masks):
/* Условие компиляции (G123PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G123PL != 0)
/* Объявляет обработчик XINT5_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void XINT5_ISR(void) // SCI-B
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER12.all;
/* Устанавливает биты IER значением M_INT12; регистр разрешения прерываний ядра C28x. */
IER |= M_INT12;
/* Оставляет биты маски IER значением MINT12; регистр разрешения прерываний ядра C28x. */
IER &= MINT12; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER12.all значением MG123; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER12.all &= MG123; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER12.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER12.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER12_4 (use MINT12 and MG124 masks):
/* Условие компиляции (G124PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G124PL != 0)
/* Объявляет обработчик XINT6_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void XINT6_ISR(void) // SCI-B
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER12.all;
/* Устанавливает биты IER значением M_INT12; регистр разрешения прерываний ядра C28x. */
IER |= M_INT12;
/* Оставляет биты маски IER значением MINT12; регистр разрешения прерываний ядра C28x. */
IER &= MINT12; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER12.all значением MG124; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER12.all &= MG124; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER12.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER12.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER12_5 (use MINT12 and MG125 masks):
/* Условие компиляции (G125PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G125PL != 0)
/* Объявляет обработчик XINT7_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void XINT7_ISR(void) // eCAN-A
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER12.all;
/* Устанавливает биты IER значением M_INT12; регистр разрешения прерываний ядра C28x. */
IER |= M_INT12;
/* Оставляет биты маски IER значением MINT12; регистр разрешения прерываний ядра C28x. */
IER &= MINT12; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER12.all значением MG125; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER12.all &= MG125; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER12.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER12.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER12_7 (use MINT12 and MG127 masks):
/* Условие компиляции (G127PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G127PL != 0)
/* Объявляет обработчик LVF_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void LVF_ISR(void) // FPU
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER12.all;
/* Устанавливает биты IER значением M_INT12; регистр разрешения прерываний ядра C28x. */
IER |= M_INT12;
/* Оставляет биты маски IER значением MINT12; регистр разрешения прерываний ядра C28x. */
IER &= MINT12; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER12.all значением MG127; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER12.all &= MG127; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER12.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER12.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Connected to PIEIER12_8 (use MINT12 and MG128 masks):
/* Условие компиляции (G128PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G128PL != 0)
/* Объявляет обработчик LUF_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void LUF_ISR(void) // FPU
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER12.all;
/* Устанавливает биты IER значением M_INT12; регистр разрешения прерываний ядра C28x. */
IER |= M_INT12;
/* Оставляет биты маски IER значением MINT12; регистр разрешения прерываний ядра C28x. */
IER &= MINT12; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER12.all значением MG128; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER12.all &= MG128; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
// Insert ISR Code here.......
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER12.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER12.all = TempPIEIER;
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
@@ -1840,22 +2838,37 @@ interrupt void LUF_ISR(void) // FPU
// Catch All Default ISRs:
//
/* Начинает функцию PIE_RESERVED; назначение модуля — поставляемое TI описание SWPrioritizedDefaultIsr для семейства C2833x. */
interrupt void PIE_RESERVED(void) // Reserved space. For test.
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Объявляет обработчик INT_NOTUSED_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void INT_NOTUSED_ISR(void) // Reserved space. For test.
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Объявляет обработчик rsvd_ISR; обслуживает источник прерывания и его аппаратные флаги. */
interrupt void rsvd_ISR(void) // For test
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm (" ESTOP0");
/* Цикл for(;;);; задаёт начальное значение, условие продолжения и шаг перебора. */
for(;;);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание SWPrioritizedPieVect для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/2 $
// Checkin $Date: April 4, 2007 14:25:31 $
//###########################################################################
@@ -14,476 +15,857 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Подключает "DSP2833x_Device.h": поставляемое TI описание Device для семейства C2833x. */
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
/* Подключает "DSP2833x_Examples.h": поставляемое TI описание Examples для семейства C2833x. */
#include "DSP2833x_Examples.h" // DSP2833x Examples Include File
/* Подключает "DSP2833x_SWPrioritizedIsrLevels.h": поставляемое TI описание SWPrioritizedIsrLevels для семейства C2833x. */
#include "DSP2833x_SWPrioritizedIsrLevels.h"
/* Записывает PieVectTableInit значением {; данные PieVectTableInit. */
const struct PIE_VECT_TABLE PieVectTableInit = {
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // Reserved space
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // reserved
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // reserved
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // reserved
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // reserved
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // reserved
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // reserved
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // reserved
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // reserved
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // reserved
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // reserved
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // reserved
/* Продолжает список аргументов, полей или выражение PIE_RESERVED,; порядок элементов сохраняется. */
PIE_RESERVED, // reserved
// Non-Peripheral Interrupts:
/* Условие компиляции (INT13PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (INT13PL != 0)
/* Продолжает список аргументов, полей или выражение INT13_ISR,; порядок элементов сохраняется. */
INT13_ISR, // XINT13
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (INT14PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (INT14PL != 0)
/* Продолжает список аргументов, полей или выражение INT14_ISR,; порядок элементов сохраняется. */
INT14_ISR, // CPU-Timer2
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (INT15PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (INT15PL != 0)
/* Продолжает список аргументов, полей или выражение DATALOG_ISR,; порядок элементов сохраняется. */
DATALOG_ISR, // Datalogging interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (INT16PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (INT16PL != 0)
/* Продолжает список аргументов, полей или выражение RTOSINT_ISR,; порядок элементов сохраняется. */
RTOSINT_ISR, // RTOS interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // reserved interrupt
/* Продолжает список аргументов, полей или выражение NMI_ISR,; порядок элементов сохраняется. */
NMI_ISR, // Non-maskable interrupt
/* Продолжает список аргументов, полей или выражение ILLEGAL_ISR,; порядок элементов сохраняется. */
ILLEGAL_ISR, // Illegal operation TRAP
/* Продолжает список аргументов, полей или выражение USER1_ISR,; порядок элементов сохраняется. */
USER1_ISR, // User Defined trap 1
/* Продолжает список аргументов, полей или выражение USER2_ISR,; порядок элементов сохраняется. */
USER2_ISR, // User Defined trap 2
/* Продолжает список аргументов, полей или выражение USER3_ISR,; порядок элементов сохраняется. */
USER3_ISR, // User Defined trap 3
/* Продолжает список аргументов, полей или выражение USER4_ISR,; порядок элементов сохраняется. */
USER4_ISR, // User Defined trap 4
/* Продолжает список аргументов, полей или выражение USER5_ISR,; порядок элементов сохраняется. */
USER5_ISR, // User Defined trap 5
/* Продолжает список аргументов, полей или выражение USER6_ISR,; порядок элементов сохраняется. */
USER6_ISR, // User Defined trap 6
/* Продолжает список аргументов, полей или выражение USER7_ISR,; порядок элементов сохраняется. */
USER7_ISR, // User Defined trap 7
/* Продолжает список аргументов, полей или выражение USER8_ISR,; порядок элементов сохраняется. */
USER8_ISR, // User Defined trap 8
/* Продолжает список аргументов, полей или выражение USER9_ISR,; порядок элементов сохраняется. */
USER9_ISR, // User Defined trap 9
/* Продолжает список аргументов, полей или выражение USER10_ISR,; порядок элементов сохраняется. */
USER10_ISR, // User Defined trap 10
/* Продолжает список аргументов, полей или выражение USER11_ISR,; порядок элементов сохраняется. */
USER11_ISR, // User Defined trap 11
/* Продолжает список аргументов, полей или выражение USER12_ISR,; порядок элементов сохраняется. */
USER12_ISR, // User Defined trap 12
// Group 1 PIE Vectors:
/* Условие компиляции (G11PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G11PL != 0)
/* Продолжает список аргументов, полей или выражение SEQ1INT_ISR,; порядок элементов сохраняется. */
SEQ1INT_ISR, // ADC
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G12PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G12PL != 0)
/* Продолжает список аргументов, полей или выражение SEQ2INT_ISR,; порядок элементов сохраняется. */
SEQ2INT_ISR, // ADC
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Условие компиляции (G14PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G14PL != 0)
/* Продолжает список аргументов, полей или выражение XINT1_ISR,; порядок элементов сохраняется. */
XINT1_ISR, // External
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G15PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G15PL != 0)
/* Продолжает список аргументов, полей или выражение XINT2_ISR,; порядок элементов сохраняется. */
XINT2_ISR, // External
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G16PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G16PL != 0)
/* Продолжает список аргументов, полей или выражение ADCINT_ISR,; порядок элементов сохраняется. */
ADCINT_ISR, // ADC
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G17PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G17PL != 0)
/* Продолжает список аргументов, полей или выражение TINT0_ISR,; порядок элементов сохраняется. */
TINT0_ISR, // Timer 0
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G18PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G18PL != 0)
/* Продолжает список аргументов, полей или выражение WAKEINT_ISR,; порядок элементов сохраняется. */
WAKEINT_ISR, // WD & Low Power
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Group 2 PIE Vectors:
/* Условие компиляции (G21PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G21PL != 0)
/* Продолжает список аргументов, полей или выражение EPWM1_TZINT_ISR,; порядок элементов сохраняется. */
EPWM1_TZINT_ISR, // ePWM1 Trip Zone
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G22PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G22PL != 0)
/* Продолжает список аргументов, полей или выражение EPWM2_TZINT_ISR,; порядок элементов сохраняется. */
EPWM2_TZINT_ISR, // ePWM2 Trip Zone
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G23PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G23PL != 0)
/* Продолжает список аргументов, полей или выражение EPWM3_TZINT_ISR,; порядок элементов сохраняется. */
EPWM3_TZINT_ISR, // ePWM3 Trip Zone
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G24PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G24PL != 0)
/* Продолжает список аргументов, полей или выражение EPWM4_TZINT_ISR,; порядок элементов сохраняется. */
EPWM4_TZINT_ISR, // ePWM4 Trip Zone
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G25PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G25PL != 0)
/* Продолжает список аргументов, полей или выражение EPWM5_TZINT_ISR,; порядок элементов сохраняется. */
EPWM5_TZINT_ISR, // ePWM5 Trip Zone
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G26PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G26PL != 0)
/* Продолжает список аргументов, полей или выражение EPWM6_TZINT_ISR,; порядок элементов сохраняется. */
EPWM6_TZINT_ISR, // ePWM6 Trip Zone
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
// Group 3 PIE Vectors:
/* Условие компиляции (G31PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G31PL != 0)
/* Продолжает список аргументов, полей или выражение EPWM1_INT_ISR,; порядок элементов сохраняется. */
EPWM1_INT_ISR, // ePWM1 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G32PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G32PL != 0)
/* Продолжает список аргументов, полей или выражение EPWM2_INT_ISR,; порядок элементов сохраняется. */
EPWM2_INT_ISR, // ePWM2 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G33PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G33PL != 0)
/* Продолжает список аргументов, полей или выражение EPWM3_INT_ISR,; порядок элементов сохраняется. */
EPWM3_INT_ISR, // ePWM3 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G34PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G34PL != 0)
/* Продолжает список аргументов, полей или выражение EPWM4_INT_ISR,; порядок элементов сохраняется. */
EPWM4_INT_ISR, // ePWM4 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G35PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G35PL != 0)
/* Продолжает список аргументов, полей или выражение EPWM5_INT_ISR,; порядок элементов сохраняется. */
EPWM5_INT_ISR, // ePWM5 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G36PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G36PL != 0)
/* Продолжает список аргументов, полей или выражение EPWM6_INT_ISR,; порядок элементов сохраняется. */
EPWM6_INT_ISR, // ePWM6 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
// Group 4 PIE Vectors:
/* Условие компиляции (G41PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G41PL != 0)
/* Продолжает список аргументов, полей или выражение ECAP1_INT_ISR,; порядок элементов сохраняется. */
ECAP1_INT_ISR, // eCAP1 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G42PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G42PL != 0)
/* Продолжает список аргументов, полей или выражение ECAP2_INT_ISR,; порядок элементов сохраняется. */
ECAP2_INT_ISR, // eCAP2 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G43PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G43PL != 0)
/* Продолжает список аргументов, полей или выражение ECAP3_INT_ISR,; порядок элементов сохраняется. */
ECAP3_INT_ISR, // eCAP3 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G44PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G44PL != 0)
/* Продолжает список аргументов, полей или выражение ECAP4_INT_ISR,; порядок элементов сохраняется. */
ECAP4_INT_ISR, // eCAP4 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G45PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G45PL != 0)
/* Продолжает список аргументов, полей или выражение ECAP5_INT_ISR,; порядок элементов сохраняется. */
ECAP5_INT_ISR, // eCAP5 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G46PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G46PL != 0)
/* Продолжает список аргументов, полей или выражение ECAP6_INT_ISR,; порядок элементов сохраняется. */
ECAP6_INT_ISR, // eCAP6 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
// Group 5 PIE Vectors:
/* Условие компиляции (G51PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G51PL != 0)
/* Продолжает список аргументов, полей или выражение EQEP1_INT_ISR,; порядок элементов сохраняется. */
EQEP1_INT_ISR, // eQEP1 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G52PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G52PL != 0)
/* Продолжает список аргументов, полей или выражение EQEP2_INT_ISR,; порядок элементов сохраняется. */
EQEP2_INT_ISR, // eQEP2 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
// Group 6 PIE Vectors:
/* Условие компиляции (G61PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G61PL != 0)
/* Продолжает список аргументов, полей или выражение SPIRXINTA_ISR,; порядок элементов сохраняется. */
SPIRXINTA_ISR, // SPI-A
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G62PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G62PL != 0)
/* Продолжает список аргументов, полей или выражение SPITXINTA_ISR,; порядок элементов сохраняется. */
SPITXINTA_ISR, // SPI-A
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G63PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G63PL != 0)
/* Продолжает список аргументов, полей или выражение MRINTB_ISR,; порядок элементов сохраняется. */
MRINTB_ISR, // McBSP-B
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G64PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G64PL != 0)
/* Продолжает список аргументов, полей или выражение MXINTB_ISR,; порядок элементов сохраняется. */
MXINTB_ISR, // McBSP-B
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G65PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G65PL != 0)
/* Продолжает список аргументов, полей или выражение MRINTA_ISR,; порядок элементов сохраняется. */
MRINTA_ISR, // McBSP-A
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G66PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G66PL != 0)
/* Продолжает список аргументов, полей или выражение MXINTA_ISR,; порядок элементов сохраняется. */
MXINTA_ISR, // McBSP-A
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
// Group 7 PIE Vectors:
/* Условие компиляции (G71PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G71PL != 0)
/* Продолжает список аргументов, полей или выражение DINTCH1_ISR,; порядок элементов сохраняется. */
DINTCH1_ISR, // DMA-Channel 1 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G72PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G72PL != 0)
/* Продолжает список аргументов, полей или выражение DINTCH2_ISR,; порядок элементов сохраняется. */
DINTCH2_ISR, // DMA-Channel 2 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G73PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G73PL != 0)
/* Продолжает список аргументов, полей или выражение DINTCH3_ISR,; порядок элементов сохраняется. */
DINTCH3_ISR, // DMA-Channel 3 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G74PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G74PL != 0)
/* Продолжает список аргументов, полей или выражение DINTCH4_ISR,; порядок элементов сохраняется. */
DINTCH4_ISR, // DMA-Channel 4 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G75PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G75PL != 0)
/* Продолжает список аргументов, полей или выражение DINTCH5_ISR,; порядок элементов сохраняется. */
DINTCH5_ISR, // DMA-Channel 5 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G76PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G76PL != 0)
/* Продолжает список аргументов, полей или выражение DINTCH6_ISR,; порядок элементов сохраняется. */
DINTCH6_ISR, // DMA-Channel 6 Interrupt
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
// Group 8 PIE Vectors:
/* Условие компиляции (G81PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G81PL != 0)
/* Продолжает список аргументов, полей или выражение I2CINT1A_ISR,; порядок элементов сохраняется. */
I2CINT1A_ISR, // I2C-A
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G82PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G82PL != 0)
/* Продолжает список аргументов, полей или выражение I2CINT2A_ISR,; порядок элементов сохраняется. */
I2CINT2A_ISR, // I2C-A
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Условие компиляции (G85PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G85PL != 0)
/* Продолжает список аргументов, полей или выражение SCIRXINTC_ISR,; порядок элементов сохраняется. */
SCIRXINTC_ISR, // SCI-C
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G86PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G86PL != 0)
/* Продолжает список аргументов, полей или выражение SCITXINTC_ISR,; порядок элементов сохраняется. */
SCITXINTC_ISR, // SCI-C
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
// Group 9 PIE Vectors:
/* Условие компиляции (G91PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G91PL != 0)
/* Продолжает список аргументов, полей или выражение SCIRXINTA_ISR,; порядок элементов сохраняется. */
SCIRXINTA_ISR, // SCI-A
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G92PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G92PL != 0)
/* Продолжает список аргументов, полей или выражение SCITXINTA_ISR,; порядок элементов сохраняется. */
SCITXINTA_ISR, // SCI-A
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G93PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G93PL != 0)
/* Продолжает список аргументов, полей или выражение SCIRXINTB_ISR,; порядок элементов сохраняется. */
SCIRXINTB_ISR, // SCI-B
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G94PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G94PL != 0)
/* Продолжает список аргументов, полей или выражение SCITXINTB_ISR,; порядок элементов сохраняется. */
SCITXINTB_ISR, // SCI-B
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G95PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G95PL != 0)
/* Продолжает список аргументов, полей или выражение ECAN0INTA_ISR,; порядок элементов сохраняется. */
ECAN0INTA_ISR, // eCAN-A
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G96PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G96PL != 0)
/* Продолжает список аргументов, полей или выражение ECAN1INTA_ISR,; порядок элементов сохраняется. */
ECAN1INTA_ISR, // eCAN-A
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G97PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G97PL != 0)
/* Продолжает список аргументов, полей или выражение ECAN0INTB_ISR,; порядок элементов сохраняется. */
ECAN0INTB_ISR, // eCAN-B
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G98PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G98PL != 0)
/* Продолжает список аргументов, полей или выражение ECAN1INTB_ISR,; порядок элементов сохраняется. */
ECAN1INTB_ISR, // eCAN-B
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Group 10 PIE Vectors
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
// Group 11 PIE Vectors
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
// Group 12 PIE Vectors
/* Условие компиляции (G121PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G121PL != 0)
/* Продолжает список аргументов, полей или выражение XINT3_ISR,; порядок элементов сохраняется. */
XINT3_ISR, // External interrupt 3
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G122PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G122PL != 0)
/* Продолжает список аргументов, полей или выражение XINT4_ISR,; порядок элементов сохраняется. */
XINT4_ISR, // External interrupt 4
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G123PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G123PL != 0)
/* Продолжает список аргументов, полей или выражение XINT5_ISR,; порядок элементов сохраняется. */
XINT5_ISR, // External interrupt 5
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G124PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G124PL != 0)
/* Продолжает список аргументов, полей или выражение XINT6_ISR,; порядок элементов сохраняется. */
XINT6_ISR, // External interrupt 6
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G125PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G125PL != 0)
/* Продолжает список аргументов, полей или выражение XINT7_ISR,; порядок элементов сохраняется. */
XINT7_ISR, // External interrupt 7
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Условие компиляции (G127PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G127PL != 0)
/* Продолжает список аргументов, полей или выражение LVF_ISR,; порядок элементов сохраняется. */
LVF_ISR, // Latched overflow flag
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (G128PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G128PL != 0)
/* Продолжает список аргументов, полей или выражение LUF_ISR,; порядок элементов сохраняется. */
LUF_ISR, // Latched underflow flag
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
@@ -493,17 +875,28 @@ const struct PIE_VECT_TABLE PieVectTableInit = {
// This function must be executed after boot time.
//
/* Начинает функцию InitPieVectTable; назначение модуля — поставляемое TI описание SWPrioritizedPieVect для семейства C2833x. */
void InitPieVectTable(void)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Продолжает список аргументов, полей или выражение int16 i;; порядок элементов сохраняется. */
int16 i;
/* Объявляет Source — данные Source; PieVectTableInit — данные PieVectTableInit. Хранит указатель на данные. Начальное значение задаётся справа от знака равенства. */
Uint32 *Source = (void *) &PieVectTableInit;
/* Объявляет Dest — данные Dest; PieVectTable — данные PieVectTable. Хранит указатель на данные. Начальное значение задаётся справа от знака равенства. */
Uint32 *Dest = (void *) &PieVectTable;
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
/* Цикл for(i=0; i < 128; i++) ; задаёт начальное значение, условие продолжения и шаг перебора. */
for(i=0; i < 128; i++) {
/* Изменяет счётчик в выражении *Dest++ = *Source++; на один для следующего шага. */
*Dest++ = *Source++;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание SysCtrl для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/7 $
// Checkin $Date: September 20, 2007 13:30:31 $
//###########################################################################
@@ -16,7 +17,9 @@
//###########################################################################
/* Подключает "DSP2833x_Device.h": поставляемое TI описание Device для семейства C2833x. */
#include "DSP2833x_Device.h" // Headerfile Include File
/* Подключает "DSP2833x_Examples.h": поставляемое TI описание Examples для семейства C2833x. */
#include "DSP2833x_Examples.h" // Examples Include File
//#include "RS485.h"
@@ -26,6 +29,7 @@
// a different section. This section will then be mapped to a load and
// run address using the linker cmd file.
/* Указание компилятору CODE_SECTION(InitFlash, "ramfuncs");: размещение данных или настройка обработки объявлений. */
#pragma CODE_SECTION(InitFlash, "ramfuncs");
//---------------------------------------------------------------------------
@@ -37,20 +41,27 @@
// - Set the pre-scaler for the high and low frequency peripheral clocks
// - Enable the clocks to the peripherals
/* Объявляет SYSCLKOUT — данные SYSCLKOUT; LSPCLK — данные LSPCLK; HSPCLK — данные HSPCLK. */
long SYSCLKOUT, LSPCLK, HSPCLK;
/* Начинает функцию InitSysCtrl; назначение модуля — поставляемое TI описание SysCtrl для семейства C2833x. */
void InitSysCtrl(void)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Disable the watchdog
/* Вызывает DisableDog с аргументами () в текущей последовательности операций. */
DisableDog();
// Initialize the PLL control: PLLCR and DIVSEL
// DSP28_PLLCR and DSP28_DIVSEL are defined in DSP2833x_Examples.h
/* Инициализирует модуль вызовом InitPll(DSP28_PLLCR,DSP28_DIVSEL); перед его дальнейшим использованием. */
InitPll(DSP28_PLLCR,DSP28_DIVSEL);
// Initialize the peripheral clocks
/* Инициализирует модуль вызовом InitPeripheralClocks(); перед его дальнейшим использованием. */
InitPeripheralClocks();
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
@@ -63,48 +74,67 @@ void InitSysCtrl(void)
// This function MUST be executed out of RAM. Executing it
// out of OTP/Flash will yield unpredictable results
/* Начинает функцию InitFlash; назначение модуля — поставляемое TI описание SysCtrl для семейства C2833x. */
void InitFlash(void)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
//Enable Flash Pipeline mode to improve performance
//of code executed from Flash.
/* Записывает FlashRegs.FOPT.bit.ENPIPE значением 1; данные ENPIPE. */
FlashRegs.FOPT.bit.ENPIPE = 1;
// CAUTION
//Minimum waitstates required for the flash operating
//at a given CPU rate must be characterized by TI.
//Refer to the datasheet for the latest information.
/* Условие компиляции CPU_FRQ_150MHZ: выбранный блок включается в текущий вариант прошивки. */
#if CPU_FRQ_150MHZ
//Set the Paged Waitstate for the Flash
/* Записывает FlashRegs.FBANKWAIT.bit.PAGEWAIT значением 5; данные PAGEWAIT. */
FlashRegs.FBANKWAIT.bit.PAGEWAIT = 5;
//Set the Random Waitstate for the Flash
/* Записывает FlashRegs.FBANKWAIT.bit.RANDWAIT значением 5; данные RANDWAIT. */
FlashRegs.FBANKWAIT.bit.RANDWAIT = 5;
//Set the Waitstate for the OTP
/* Записывает FlashRegs.FOTPWAIT.bit.OTPWAIT значением 8; данные OTPWAIT. */
FlashRegs.FOTPWAIT.bit.OTPWAIT = 8;
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции CPU_FRQ_100MHZ: выбранный блок включается в текущий вариант прошивки. */
#if CPU_FRQ_100MHZ
//Set the Paged Waitstate for the Flash
/* Записывает FlashRegs.FBANKWAIT.bit.PAGEWAIT значением 3; данные PAGEWAIT. */
FlashRegs.FBANKWAIT.bit.PAGEWAIT = 3;
//Set the Random Waitstate for the Flash
/* Записывает FlashRegs.FBANKWAIT.bit.RANDWAIT значением 3; данные RANDWAIT. */
FlashRegs.FBANKWAIT.bit.RANDWAIT = 3;
//Set the Waitstate for the OTP
/* Записывает FlashRegs.FOTPWAIT.bit.OTPWAIT значением 5; данные OTPWAIT. */
FlashRegs.FOTPWAIT.bit.OTPWAIT = 5;
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// CAUTION
//ONLY THE DEFAULT VALUE FOR THESE 2 REGISTERS SHOULD BE USED
/* Записывает FlashRegs.FSTDBYWAIT.bit.STDBYWAIT значением 0x01FF; данные STDBYWAIT. */
FlashRegs.FSTDBYWAIT.bit.STDBYWAIT = 0x01FF;
/* Записывает FlashRegs.FACTIVEWAIT.bit.ACTIVEWAIT значением 0x01FF; данные ACTIVEWAIT. */
FlashRegs.FACTIVEWAIT.bit.ACTIVEWAIT = 0x01FF;
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS;
//Force a pipeline flush to ensure that the write to
//the last register configured occurs before returning.
/* Вызывает asm с аргументами (" RPT #7 || NOP") в текущей последовательности операций. */
asm(" RPT #7 || NOP");
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
@@ -114,16 +144,27 @@ void InitFlash(void)
// This function resets the watchdog timer.
// Enable this function for using ServiceDog in the application
/* Начинает функцию ServiceDog; назначение модуля — поставляемое TI описание SysCtrl для семейства C2833x. */
void ServiceDog(void)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Проверяет if(SysCtrlRegs.PLLCR.bit.DIV == DSP28_PLLCR); последующий оператор выполняется только при истинном условии. */
if(SysCtrlRegs.PLLCR.bit.DIV == DSP28_PLLCR)
/* Проверяет if(SysCtrlRegs.PLLSTS.bit.DIVSEL == DSP28_DIVSEL); последующий оператор выполняется только при истинном условии. */
if(SysCtrlRegs.PLLSTS.bit.DIVSEL == DSP28_DIVSEL)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
/* Записывает SysCtrlRegs.WDKEY значением 0x0055; данные WDKEY. */
SysCtrlRegs.WDKEY = 0x0055;
/* Записывает SysCtrlRegs.WDKEY значением 0x00AA; данные WDKEY. */
SysCtrlRegs.WDKEY = 0x00AA;
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS;
/* Завершает ServiceDog без возвращаемого значения. */
return;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
} }
@@ -132,11 +173,17 @@ void ServiceDog(void)
//---------------------------------------------------------------------------
// This function disables the watchdog timer.
/* Начинает функцию DisableDog; назначение модуля — поставляемое TI описание SysCtrl для семейства C2833x. */
void DisableDog(void)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
/* Записывает SysCtrlRegs.WDCR значением 0x0068; данные WDCR. */
SysCtrlRegs.WDCR= 0x0068;
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
//---------------------------------------------------------------------------
@@ -144,40 +191,60 @@ void DisableDog(void)
//---------------------------------------------------------------------------
// This function initializes the PLLCR register.
/* Начинает функцию InitPll; назначение модуля — поставляемое TI описание SysCtrl для семейства C2833x. */
void InitPll(Uint16 divval, Uint16 divsel)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Объявляет clkVal — данные clkVal. */
long clkVal;
// Make sure the PLL is not running in limp mode
/* Проверяет if (SysCtrlRegs.PLLSTS.bit.MCLKSTS != 0); последующий оператор выполняется только при истинном условии. */
if (SysCtrlRegs.PLLSTS.bit.MCLKSTS != 0)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Missing external clock has been detected
// Replace this line with a call to an appropriate
// SystemShutdown(); function.
/* Вызывает asm с аргументами (" ESTOP0") в текущей последовательности операций. */
asm(" ESTOP0");
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
// DIVSEL MUST be 0 before PLLCR can be changed from
// 0x0000. It is set to 0 by an external reset XRSn
// This puts us in 1/4
/* Проверяет if (SysCtrlRegs.PLLSTS.bit.DIVSEL != 0); последующий оператор выполняется только при истинном условии. */
if (SysCtrlRegs.PLLSTS.bit.DIVSEL != 0)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
/* Записывает SysCtrlRegs.PLLSTS.bit.DIVSEL значением 0; данные DIVSEL. */
SysCtrlRegs.PLLSTS.bit.DIVSEL = 0;
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
// Change the PLLCR
// if (SysCtrlRegs.PLLCR.bit.DIV != val)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
// Before setting PLLCR turn off missing clock detect logic
/* Записывает SysCtrlRegs.PLLSTS.bit.MCLKOFF значением 1; данные MCLKOFF. */
SysCtrlRegs.PLLSTS.bit.MCLKOFF = 1;
/* Записывает SysCtrlRegs.PLLCR.bit.DIV значением divval; данные DIV. */
SysCtrlRegs.PLLCR.bit.DIV = divval;
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS;
/* Записывает clkVal значением (divval)?divval:1; данные clkVal. */
clkVal = (divval)?divval:1;
/* Записывает clkVal значением XCLKIN * clkVal; данные clkVal. */
clkVal = XCLKIN * clkVal;
// Optional: Wait for PLL to lock.
@@ -198,29 +265,46 @@ void InitPll(Uint16 divval, Uint16 divsel)
// the loop via ServiceDog().
// Uncomment to disable the watchdog
/* Вызывает DisableDog с аргументами () в текущей последовательности операций. */
DisableDog();
/* Повторяет или ожидает, пока выполняется while(SysCtrlRegs.PLLSTS.bit.PLLLOCKS != 1). */
while(SysCtrlRegs.PLLSTS.bit.PLLLOCKS != 1)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// Uncomment to service the watchdog
// ServiceDog();
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
/* Записывает SysCtrlRegs.PLLSTS.bit.MCLKOFF значением 0; данные MCLKOFF. */
SysCtrlRegs.PLLSTS.bit.MCLKOFF = 0;
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
// If switching to 1/2
/* Проверяет if((divsel == 1) или (divsel == 2)); последующий оператор выполняется только при истинном условии. */
if((divsel == 1)||(divsel == 2))
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
/* Записывает SysCtrlRegs.PLLSTS.bit.DIVSEL значением divsel; данные DIVSEL. */
SysCtrlRegs.PLLSTS.bit.DIVSEL = divsel;
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Проверяет if(divsel == 0) clkVal /= 4; последующий оператор выполняется только при истинном условии. */
if(divsel == 0) clkVal /= 4;
/* Проверяет if(divsel == 1) clkVal /= 4; последующий оператор выполняется только при истинном условии. */
if(divsel == 1) clkVal /= 4;
/* Проверяет if(divsel == 2) clkVal /= 2; последующий оператор выполняется только при истинном условии. */
if(divsel == 2) clkVal /= 2;
// If switching to 1/1
@@ -228,17 +312,27 @@ void InitPll(Uint16 divval, Uint16 divsel)
// The time required will depend on the system, this is only an example
// * Then switch to 1/1
/* Проверяет if((divval == 0) и (divsel == 3)); последующий оператор выполняется только при истинном условии. */
if((divval == 0) && (divsel == 3))
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
/* Записывает SysCtrlRegs.PLLSTS.bit.DIVSEL значением 2; данные DIVSEL. */
SysCtrlRegs.PLLSTS.bit.DIVSEL = 2;
/* Вызывает DELAY_US с аргументами (50L) в текущей последовательности операций. */
DELAY_US(50L);
// pause_us(50L);
/* Записывает SysCtrlRegs.PLLSTS.bit.DIVSEL значением 3; данные DIVSEL. */
SysCtrlRegs.PLLSTS.bit.DIVSEL = 3;
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Записывает SYSCLKOUT значением clkVal; данные SYSCLKOUT. */
SYSCLKOUT = clkVal;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
//--------------------------------------------------------------------------
@@ -252,52 +346,86 @@ void InitPll(Uint16 divval, Uint16 divsel)
// Note: If a peripherals clock is not enabled then you cannot
// read or write to the registers for that peripheral
/* Начинает функцию InitPeripheralClocks; назначение модуля — поставляемое TI описание SysCtrl для семейства C2833x. */
void InitPeripheralClocks(void)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Объявляет Val — данные Val. */
long Val;
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
// HISPCP/LOSPCP prescale register settings, normally it will be set to default values
/* Условие компиляции CLKMULT == 0: выбранный блок включается в текущий вариант прошивки. */
#if CLKMULT == 0
/* Записывает SysCtrlRegs.HISPCP.all значением 0x0000; представление регистра целым словом без разбиения на битовые поля. */
SysCtrlRegs.HISPCP.all = 0x0000;
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции CLKMULT == 1: выбранный блок включается в текущий вариант прошивки. */
#if CLKMULT == 1
/* Записывает SysCtrlRegs.HISPCP.all значением 0x0000; представление регистра целым словом без разбиения на битовые поля. */
SysCtrlRegs.HISPCP.all = 0x0000;
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции CLKMULT == 2: выбранный блок включается в текущий вариант прошивки. */
#if CLKMULT == 2
/* Записывает SysCtrlRegs.HISPCP.all значением 0x0001; представление регистра целым словом без разбиения на битовые поля. */
SysCtrlRegs.HISPCP.all = 0x0001;
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции CLKMULT == 3: выбранный блок включается в текущий вариант прошивки. */
#if CLKMULT == 3
/* Записывает SysCtrlRegs.HISPCP.all значением 0x0002; представление регистра целым словом без разбиения на битовые поля. */
SysCtrlRegs.HISPCP.all = 0x0002;
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции CLKMULT == 4: выбранный блок включается в текущий вариант прошивки. */
#if CLKMULT == 4
/* Записывает SysCtrlRegs.HISPCP.all значением 0x0002; представление регистра целым словом без разбиения на битовые поля. */
SysCtrlRegs.HISPCP.all = 0x0002;
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции CLKMULT == 5: выбранный блок включается в текущий вариант прошивки. */
#if CLKMULT == 5
/* Записывает SysCtrlRegs.HISPCP.all значением 0x0003; представление регистра целым словом без разбиения на битовые поля. */
SysCtrlRegs.HISPCP.all = 0x0003;
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Записывает SysCtrlRegs.LOSPCP.all значением 0x0000; представление регистра целым словом без разбиения на битовые поля. */
SysCtrlRegs.LOSPCP.all = 0x0000;
/* Записывает Val значением (SysCtrlRegs.HISPCP.all)?; данные Val. */
Val = (SysCtrlRegs.HISPCP.all)?
/* Продолжает список аргументов, полей или выражение SysCtrlRegs.HISPCP.all*2 : 1;; порядок элементов сохраняется. */
SysCtrlRegs.HISPCP.all*2 : 1;
/* Записывает Val значением SYSCLKOUT / Val; данные Val. */
Val = SYSCLKOUT / Val;
/* Записывает HSPCLK значением Val; данные HSPCLK. */
HSPCLK = Val;
/* Записывает Val значением (SysCtrlRegs.LOSPCP.all)?; данные Val. */
Val = (SysCtrlRegs.LOSPCP.all)?
/* Продолжает список аргументов, полей или выражение SysCtrlRegs.LOSPCP.all*2 : 1;; порядок элементов сохраняется. */
SysCtrlRegs.LOSPCP.all*2 : 1;
/* Записывает Val значением SYSCLKOUT / Val; данные Val. */
Val = SYSCLKOUT / Val;
/* Записывает LSPCLK значением Val; данные LSPCLK. */
LSPCLK = Val;
// XCLKOUT to SYSCLKOUT ratio. By default XCLKOUT = 1/4 SYSCLKOUT
// XTIMCLK = SYSCLKOUT/2
/* Записывает XintfRegs.XINTCNF2.bit.XTIMCLK значением 1; данные XTIMCLK. */
XintfRegs.XINTCNF2.bit.XTIMCLK = 1;
// XCLKOUT = XTIMCLK/2
/* Записывает XintfRegs.XINTCNF2.bit.CLKMODE значением 1; данные CLKMODE. */
XintfRegs.XINTCNF2.bit.CLKMODE = 1;
// Enable XCLKOUT
/* Записывает XintfRegs.XINTCNF2.bit.CLKOFF значением 0; данные CLKOFF. */
XintfRegs.XINTCNF2.bit.CLKOFF = 0;
// Peripheral clock enables set for the selected peripherals.
@@ -309,6 +437,7 @@ void InitPeripheralClocks(void)
//
// This function is not written to be an example of efficient code.
/* Записывает SysCtrlRegs.PCLKCR0.bit.ADCENCLK значением 1; данные ADCENCLK. */
SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1; // ADC
// *IMPORTANT*
@@ -321,46 +450,80 @@ void InitPeripheralClocks(void)
// See the device data manual and/or the ADC Reference
// Manual for more information.
/* Вызывает ADC_cal с аргументами () в текущей последовательности операций. */
ADC_cal();
/* Записывает SysCtrlRegs.PCLKCR0.bit.I2CAENCLK значением 1; данные I2CAENCLK. */
SysCtrlRegs.PCLKCR0.bit.I2CAENCLK = 1; // I2C
/* Записывает SysCtrlRegs.PCLKCR0.bit.SCIAENCLK значением 1; данные SCIAENCLK. */
SysCtrlRegs.PCLKCR0.bit.SCIAENCLK = 1; // SCI-A
/* Записывает SysCtrlRegs.PCLKCR0.bit.SCIBENCLK значением 1; данные SCIBENCLK. */
SysCtrlRegs.PCLKCR0.bit.SCIBENCLK = 1; // SCI-B
/* Записывает SysCtrlRegs.PCLKCR0.bit.SCICENCLK значением 1; данные SCICENCLK. */
SysCtrlRegs.PCLKCR0.bit.SCICENCLK = 1; // SCI-C
/* Записывает SysCtrlRegs.PCLKCR0.bit.SPIAENCLK значением 1; данные SPIAENCLK. */
SysCtrlRegs.PCLKCR0.bit.SPIAENCLK = 1; // SPI-A
/* Записывает SysCtrlRegs.PCLKCR0.bit.MCBSPAENCLK значением 1; данные MCBSPAENCLK. */
SysCtrlRegs.PCLKCR0.bit.MCBSPAENCLK = 1; // McBSP-A
/* Записывает SysCtrlRegs.PCLKCR0.bit.MCBSPBENCLK значением 1; данные MCBSPBENCLK. */
SysCtrlRegs.PCLKCR0.bit.MCBSPBENCLK = 1; // McBSP-B
/* Записывает SysCtrlRegs.PCLKCR0.bit.ECANAENCLK значением 1; данные ECANAENCLK. */
SysCtrlRegs.PCLKCR0.bit.ECANAENCLK=1; // eCAN-A
/* Записывает SysCtrlRegs.PCLKCR0.bit.ECANBENCLK значением 1; данные ECANBENCLK. */
SysCtrlRegs.PCLKCR0.bit.ECANBENCLK=1; // eCAN-B
/* Записывает SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC значением 0; данные TBCLKSYNC. */
SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; // Disable TBCLK within the ePWM
/* Записывает SysCtrlRegs.PCLKCR1.bit.EPWM1ENCLK значением 1; данные EPWM1ENCLK. */
SysCtrlRegs.PCLKCR1.bit.EPWM1ENCLK = 1; // ePWM1
/* Записывает SysCtrlRegs.PCLKCR1.bit.EPWM2ENCLK значением 1; данные EPWM2ENCLK. */
SysCtrlRegs.PCLKCR1.bit.EPWM2ENCLK = 1; // ePWM2
/* Записывает SysCtrlRegs.PCLKCR1.bit.EPWM3ENCLK значением 1; данные EPWM3ENCLK. */
SysCtrlRegs.PCLKCR1.bit.EPWM3ENCLK = 1; // ePWM3
/* Записывает SysCtrlRegs.PCLKCR1.bit.EPWM4ENCLK значением 1; данные EPWM4ENCLK. */
SysCtrlRegs.PCLKCR1.bit.EPWM4ENCLK = 1; // ePWM4
/* Записывает SysCtrlRegs.PCLKCR1.bit.EPWM5ENCLK значением 1; данные EPWM5ENCLK. */
SysCtrlRegs.PCLKCR1.bit.EPWM5ENCLK = 1; // ePWM5
/* Записывает SysCtrlRegs.PCLKCR1.bit.EPWM6ENCLK значением 1; данные EPWM6ENCLK. */
SysCtrlRegs.PCLKCR1.bit.EPWM6ENCLK = 1; // ePWM6
/* Записывает SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC значением 1; данные TBCLKSYNC. */
SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; // Enable TBCLK within the ePWM
/* Записывает SysCtrlRegs.PCLKCR1.bit.ECAP3ENCLK значением 1; данные ECAP3ENCLK. */
SysCtrlRegs.PCLKCR1.bit.ECAP3ENCLK = 1; // eCAP3
/* Записывает SysCtrlRegs.PCLKCR1.bit.ECAP4ENCLK значением 1; данные ECAP4ENCLK. */
SysCtrlRegs.PCLKCR1.bit.ECAP4ENCLK = 1; // eCAP4
/* Записывает SysCtrlRegs.PCLKCR1.bit.ECAP5ENCLK значением 1; данные ECAP5ENCLK. */
SysCtrlRegs.PCLKCR1.bit.ECAP5ENCLK = 1; // eCAP5
/* Записывает SysCtrlRegs.PCLKCR1.bit.ECAP6ENCLK значением 1; данные ECAP6ENCLK. */
SysCtrlRegs.PCLKCR1.bit.ECAP6ENCLK = 1; // eCAP6
/* Записывает SysCtrlRegs.PCLKCR1.bit.ECAP1ENCLK значением 1; данные ECAP1ENCLK. */
SysCtrlRegs.PCLKCR1.bit.ECAP1ENCLK = 1; // eCAP1
/* Записывает SysCtrlRegs.PCLKCR1.bit.ECAP2ENCLK значением 1; данные ECAP2ENCLK. */
SysCtrlRegs.PCLKCR1.bit.ECAP2ENCLK = 1; // eCAP2
/* Записывает SysCtrlRegs.PCLKCR1.bit.EQEP1ENCLK значением 1; данные EQEP1ENCLK. */
SysCtrlRegs.PCLKCR1.bit.EQEP1ENCLK = 1; // eQEP1
/* Записывает SysCtrlRegs.PCLKCR1.bit.EQEP2ENCLK значением 1; данные EQEP2ENCLK. */
SysCtrlRegs.PCLKCR1.bit.EQEP2ENCLK = 1; // eQEP2
/* Записывает SysCtrlRegs.PCLKCR3.bit.CPUTIMER0ENCLK значением 1; данные CPUTIMER0ENCLK. */
SysCtrlRegs.PCLKCR3.bit.CPUTIMER0ENCLK = 1; // CPU Timer 0
/* Записывает SysCtrlRegs.PCLKCR3.bit.CPUTIMER1ENCLK значением 1; данные CPUTIMER1ENCLK. */
SysCtrlRegs.PCLKCR3.bit.CPUTIMER1ENCLK = 1; // CPU Timer 1
/* Записывает SysCtrlRegs.PCLKCR3.bit.CPUTIMER2ENCLK значением 1; данные CPUTIMER2ENCLK. */
SysCtrlRegs.PCLKCR3.bit.CPUTIMER2ENCLK = 1; // CPU Timer 2
/* Записывает SysCtrlRegs.PCLKCR3.bit.DMAENCLK значением 1; данные DMAENCLK. */
SysCtrlRegs.PCLKCR3.bit.DMAENCLK = 1; // DMA Clock
/* Записывает SysCtrlRegs.PCLKCR3.bit.XINTFENCLK значением 1; данные XINTFENCLK. */
SysCtrlRegs.PCLKCR3.bit.XINTFENCLK = 1; // XTIMCLK
/* Записывает SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK значением 1; аппаратная линия ввода/вывода GPIOINENCLK. */
SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1; // GPIO input clock
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
//---------------------------------------------------------------------------
@@ -369,44 +532,70 @@ void InitPeripheralClocks(void)
// This function unlocks the CSM. User must replace 0xFFFF's with current
// password for the DSP. Returns 1 if unlock is successful.
/* Задаёт STATUS_FAIL = 0; состояние FAIL. */
#define STATUS_FAIL 0
/* Задаёт STATUS_SUCCESS = 1; состояние SUCCESS. */
#define STATUS_SUCCESS 1
/* Начинает функцию CsmUnlock; назначение модуля — поставляемое TI описание SysCtrl для семейства C2833x. */
Uint16 CsmUnlock()
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Объявляет temp — данные temp. volatile требует фактического чтения или записи при каждом доступе. */
volatile Uint16 temp;
// Load the key registers with the current password. The 0xFFFF's are dummy
// passwords. User should replace them with the correct password for the DSP.
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
/* Записывает CsmRegs.KEY0 значением 0xFFFF; данные KEY0. */
CsmRegs.KEY0 = 0xFFFF;
/* Записывает CsmRegs.KEY1 значением 0xFFFF; данные KEY1. */
CsmRegs.KEY1 = 0xFFFF;
/* Записывает CsmRegs.KEY2 значением 0xFFFF; данные KEY2. */
CsmRegs.KEY2 = 0xFFFF;
/* Записывает CsmRegs.KEY3 значением 0xFFFF; данные KEY3. */
CsmRegs.KEY3 = 0xFFFF;
/* Записывает CsmRegs.KEY4 значением 0xFFFF; данные KEY4. */
CsmRegs.KEY4 = 0xFFFF;
/* Записывает CsmRegs.KEY5 значением 0xFFFF; данные KEY5. */
CsmRegs.KEY5 = 0xFFFF;
/* Записывает CsmRegs.KEY6 значением 0xFFFF; данные KEY6. */
CsmRegs.KEY6 = 0xFFFF;
/* Записывает CsmRegs.KEY7 значением 0xFFFF; данные KEY7. */
CsmRegs.KEY7 = 0xFFFF;
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS;
// Perform a dummy read of the password locations
// if they match the key values, the CSM will unlock
/* Записывает temp значением CsmPwl.PSWD0; данные temp. */
temp = CsmPwl.PSWD0;
/* Записывает temp значением CsmPwl.PSWD1; данные temp. */
temp = CsmPwl.PSWD1;
/* Записывает temp значением CsmPwl.PSWD2; данные temp. */
temp = CsmPwl.PSWD2;
/* Записывает temp значением CsmPwl.PSWD3; данные temp. */
temp = CsmPwl.PSWD3;
/* Записывает temp значением CsmPwl.PSWD4; данные temp. */
temp = CsmPwl.PSWD4;
/* Записывает temp значением CsmPwl.PSWD5; данные temp. */
temp = CsmPwl.PSWD5;
/* Записывает temp значением CsmPwl.PSWD6; данные temp. */
temp = CsmPwl.PSWD6;
/* Записывает temp значением CsmPwl.PSWD7; данные temp. */
temp = CsmPwl.PSWD7;
// If the CSM unlocked, return succes, otherwise return
// failure.
/* Проверяет if (CsmRegs.CSMSCR.bit.SECURE == 0) return STATUS_SUCCESS; последующий оператор выполняется только при истинном условии. */
if (CsmRegs.CSMSCR.bit.SECURE == 0) return STATUS_SUCCESS;
/* Выполняет альтернативу, если предыдущее условие if оказалось ложным. */
else return STATUS_FAIL;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание Xintf для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/5 $
// Checkin $Date: August 16, 2007 11:06:26 $
//###########################################################################
@@ -18,7 +19,9 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Подключает "DSP2833x_Device.h": поставляемое TI описание Device для семейства C2833x. */
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
/* Подключает "DSP2833x_Examples.h": поставляемое TI описание Examples для семейства C2833x. */
#include "DSP2833x_Examples.h" // DSP2833x Examples Include File
//---------------------------------------------------------------------------
@@ -30,7 +33,9 @@
// so can yield unpredictable results
/* Начинает функцию InitXintf; назначение модуля — поставляемое TI описание Xintf для семейства C2833x. */
void InitXintf(void)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
// This shows how to write to the XINTF registers. The
// values used here are the default state after reset.
@@ -44,13 +49,18 @@ void InitXintf(void)
// All Zones---------------------------------
// Timing for all zones based on XTIMCLK = 1/2 SYSCLKOUT
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
/* Записывает XintfRegs.XINTCNF2.bit.XTIMCLK значением 1; данные XTIMCLK. */
XintfRegs.XINTCNF2.bit.XTIMCLK = 1;
// No write buffering
/* Записывает XintfRegs.XINTCNF2.bit.WRBUFF значением 0; данные WRBUFF. */
XintfRegs.XINTCNF2.bit.WRBUFF = 0;
// XCLKOUT is enabled
/* Записывает XintfRegs.XINTCNF2.bit.CLKOFF значением 0; данные CLKOFF. */
XintfRegs.XINTCNF2.bit.CLKOFF = 0;
// XCLKOUT = XTIMCLK/2
/* Записывает XintfRegs.XINTCNF2.bit.CLKMODE значением 1; данные CLKMODE. */
XintfRegs.XINTCNF2.bit.CLKMODE = 1;
@@ -58,48 +68,68 @@ void InitXintf(void)
// When using ready, ACTIVE must be 1 or greater
// Lead must always be 1 or greater
// Zone write timing
/* Записывает XintfRegs.XTIMING0.bit.XWRLEAD значением 3; данные XWRLEAD. */
XintfRegs.XTIMING0.bit.XWRLEAD = 3;
/* Записывает XintfRegs.XTIMING0.bit.XWRACTIVE значением 7; данные XWRACTIVE. */
XintfRegs.XTIMING0.bit.XWRACTIVE = 7;
/* Записывает XintfRegs.XTIMING0.bit.XWRTRAIL значением 3; данные XWRTRAIL. */
XintfRegs.XTIMING0.bit.XWRTRAIL = 3;
// Zone read timing
/* Записывает XintfRegs.XTIMING0.bit.XRDLEAD значением 3; данные XRDLEAD. */
XintfRegs.XTIMING0.bit.XRDLEAD = 3;
/* Записывает XintfRegs.XTIMING0.bit.XRDACTIVE значением 7; данные XRDACTIVE. */
XintfRegs.XTIMING0.bit.XRDACTIVE = 7;
/* Записывает XintfRegs.XTIMING0.bit.XRDTRAIL значением 3; данные XRDTRAIL. */
XintfRegs.XTIMING0.bit.XRDTRAIL = 3;
// double all Zone read/write lead/active/trail timing
/* Записывает XintfRegs.XTIMING0.bit.X2TIMING значением 1; данные X2TIMING. */
XintfRegs.XTIMING0.bit.X2TIMING = 1;
// Zone will sample XREADY signal
/* Записывает XintfRegs.XTIMING0.bit.USEREADY значением 1; данные USEREADY. */
XintfRegs.XTIMING0.bit.USEREADY = 1;
/* Записывает XintfRegs.XTIMING0.bit.READYMODE значением 1; данные READYMODE. */
XintfRegs.XTIMING0.bit.READYMODE = 1; // sample asynchronous
// Size must be either:
// 0,1 = x32 or
// 1,1 = x16 other values are reserved
/* Записывает XintfRegs.XTIMING0.bit.XSIZE значением 3; данные XSIZE. */
XintfRegs.XTIMING0.bit.XSIZE = 3;
// Zone 6------------------------------------
// When using ready, ACTIVE must be 1 or greater
// Lead must always be 1 or greater
// Zone write timing
/* Записывает XintfRegs.XTIMING6.bit.XWRLEAD значением 3; данные XWRLEAD. */
XintfRegs.XTIMING6.bit.XWRLEAD = 3;
/* Записывает XintfRegs.XTIMING6.bit.XWRACTIVE значением 7; данные XWRACTIVE. */
XintfRegs.XTIMING6.bit.XWRACTIVE = 7;
/* Записывает XintfRegs.XTIMING6.bit.XWRTRAIL значением 3; данные XWRTRAIL. */
XintfRegs.XTIMING6.bit.XWRTRAIL = 3;
// Zone read timing
/* Записывает XintfRegs.XTIMING6.bit.XRDLEAD значением 3; данные XRDLEAD. */
XintfRegs.XTIMING6.bit.XRDLEAD = 3;
/* Записывает XintfRegs.XTIMING6.bit.XRDACTIVE значением 7; данные XRDACTIVE. */
XintfRegs.XTIMING6.bit.XRDACTIVE = 7;
/* Записывает XintfRegs.XTIMING6.bit.XRDTRAIL значением 3; данные XRDTRAIL. */
XintfRegs.XTIMING6.bit.XRDTRAIL = 3;
// double all Zone read/write lead/active/trail timing
/* Записывает XintfRegs.XTIMING6.bit.X2TIMING значением 1; данные X2TIMING. */
XintfRegs.XTIMING6.bit.X2TIMING = 1;
// Zone will sample XREADY signal
/* Записывает XintfRegs.XTIMING6.bit.USEREADY значением 1; данные USEREADY. */
XintfRegs.XTIMING6.bit.USEREADY = 1;
/* Записывает XintfRegs.XTIMING6.bit.READYMODE значением 1; данные READYMODE. */
XintfRegs.XTIMING6.bit.READYMODE = 1; // sample asynchronous
// Size must be either:
// 0,1 = x32 or
// 1,1 = x16 other values are reserved
/* Записывает XintfRegs.XTIMING6.bit.XSIZE значением 3; данные XSIZE. */
XintfRegs.XTIMING6.bit.XSIZE = 3;
@@ -107,135 +137,229 @@ void InitXintf(void)
// When using ready, ACTIVE must be 1 or greater
// Lead must always be 1 or greater
// Zone write timing
/* Записывает XintfRegs.XTIMING7.bit.XWRLEAD значением 3; данные XWRLEAD. */
XintfRegs.XTIMING7.bit.XWRLEAD = 3;
/* Записывает XintfRegs.XTIMING7.bit.XWRACTIVE значением 7; данные XWRACTIVE. */
XintfRegs.XTIMING7.bit.XWRACTIVE = 7;
/* Записывает XintfRegs.XTIMING7.bit.XWRTRAIL значением 3; данные XWRTRAIL. */
XintfRegs.XTIMING7.bit.XWRTRAIL = 3;
// Zone read timing
/* Записывает XintfRegs.XTIMING7.bit.XRDLEAD значением 3; данные XRDLEAD. */
XintfRegs.XTIMING7.bit.XRDLEAD = 3;
/* Записывает XintfRegs.XTIMING7.bit.XRDACTIVE значением 7; данные XRDACTIVE. */
XintfRegs.XTIMING7.bit.XRDACTIVE = 7;
/* Записывает XintfRegs.XTIMING7.bit.XRDTRAIL значением 3; данные XRDTRAIL. */
XintfRegs.XTIMING7.bit.XRDTRAIL = 3;
// double all Zone read/write lead/active/trail timing
/* Записывает XintfRegs.XTIMING7.bit.X2TIMING значением 1; данные X2TIMING. */
XintfRegs.XTIMING7.bit.X2TIMING = 1;
// Zone will sample XREADY signal
/* Записывает XintfRegs.XTIMING7.bit.USEREADY значением 1; данные USEREADY. */
XintfRegs.XTIMING7.bit.USEREADY = 1;
/* Записывает XintfRegs.XTIMING7.bit.READYMODE значением 1; данные READYMODE. */
XintfRegs.XTIMING7.bit.READYMODE = 1; // sample asynchronous
// Size must be either:
// 0,1 = x32 or
// 1,1 = x16 other values are reserved
/* Записывает XintfRegs.XTIMING7.bit.XSIZE значением 3; данные XSIZE. */
XintfRegs.XTIMING7.bit.XSIZE = 3;
// Bank switching
// Assume Zone 7 is slow, so add additional BCYC cycles
// when ever switching from Zone 7 to another Zone.
// This will help avoid bus contention.
/* Записывает XintfRegs.XBANK.bit.BANK значением 7; данные BANK. */
XintfRegs.XBANK.bit.BANK = 7;
/* Записывает XintfRegs.XBANK.bit.BCYC значением 7; данные BCYC. */
XintfRegs.XBANK.bit.BCYC = 7;
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS;
//Force a pipeline flush to ensure that the write to
//the last register configured occurs before returning.
/* Инициализирует модуль вызовом InitXintf16Gpio(); перед его дальнейшим использованием. */
InitXintf16Gpio();
// InitXintf32Gpio();
/* Вызывает asm с аргументами (" RPT #7 || NOP") в текущей последовательности операций. */
asm(" RPT #7 || NOP");
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Начинает функцию InitXintf32Gpio; назначение модуля — поставляемое TI описание Xintf для семейства C2833x. */
void InitXintf32Gpio()
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO48 значением 3; аппаратная линия ввода/вывода GPIO48. */
GpioCtrlRegs.GPBMUX2.bit.GPIO48 = 3; // XD31
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO49 значением 3; аппаратная линия ввода/вывода GPIO49. */
GpioCtrlRegs.GPBMUX2.bit.GPIO49 = 3; // XD30
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO50 значением 3; аппаратная линия ввода/вывода GPIO50. */
GpioCtrlRegs.GPBMUX2.bit.GPIO50 = 3; // XD29
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO51 значением 3; аппаратная линия ввода/вывода GPIO51. */
GpioCtrlRegs.GPBMUX2.bit.GPIO51 = 3; // XD28
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO52 значением 3; аппаратная линия ввода/вывода GPIO52. */
GpioCtrlRegs.GPBMUX2.bit.GPIO52 = 3; // XD27
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO53 значением 3; аппаратная линия ввода/вывода GPIO53. */
GpioCtrlRegs.GPBMUX2.bit.GPIO53 = 3; // XD26
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO54 значением 3; аппаратная линия ввода/вывода GPIO54. */
GpioCtrlRegs.GPBMUX2.bit.GPIO54 = 3; // XD25
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO55 значением 3; аппаратная линия ввода/вывода GPIO55. */
GpioCtrlRegs.GPBMUX2.bit.GPIO55 = 3; // XD24
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO56 значением 3; аппаратная линия ввода/вывода GPIO56. */
GpioCtrlRegs.GPBMUX2.bit.GPIO56 = 3; // XD23
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO57 значением 3; аппаратная линия ввода/вывода GPIO57. */
GpioCtrlRegs.GPBMUX2.bit.GPIO57 = 3; // XD22
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO58 значением 3; аппаратная линия ввода/вывода GPIO58. */
GpioCtrlRegs.GPBMUX2.bit.GPIO58 = 3; // XD21
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO59 значением 3; аппаратная линия ввода/вывода GPIO59. */
GpioCtrlRegs.GPBMUX2.bit.GPIO59 = 3; // XD20
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO60 значением 3; аппаратная линия ввода/вывода GPIO60. */
GpioCtrlRegs.GPBMUX2.bit.GPIO60 = 3; // XD19
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO61 значением 3; аппаратная линия ввода/вывода GPIO61. */
GpioCtrlRegs.GPBMUX2.bit.GPIO61 = 3; // XD18
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO62 значением 3; аппаратная линия ввода/вывода GPIO62. */
GpioCtrlRegs.GPBMUX2.bit.GPIO62 = 3; // XD17
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO63 значением 3; аппаратная линия ввода/вывода GPIO63. */
GpioCtrlRegs.GPBMUX2.bit.GPIO63 = 3; // XD16
/* Записывает GpioCtrlRegs.GPBQSEL2.bit.GPIO48 значением 3; аппаратная линия ввода/вывода GPIO48. */
GpioCtrlRegs.GPBQSEL2.bit.GPIO48 = 3; // XD31 asynchronous input
/* Записывает GpioCtrlRegs.GPBQSEL2.bit.GPIO49 значением 3; аппаратная линия ввода/вывода GPIO49. */
GpioCtrlRegs.GPBQSEL2.bit.GPIO49 = 3; // XD30 asynchronous input
/* Записывает GpioCtrlRegs.GPBQSEL2.bit.GPIO50 значением 3; аппаратная линия ввода/вывода GPIO50. */
GpioCtrlRegs.GPBQSEL2.bit.GPIO50 = 3; // XD29 asynchronous input
/* Записывает GpioCtrlRegs.GPBQSEL2.bit.GPIO51 значением 3; аппаратная линия ввода/вывода GPIO51. */
GpioCtrlRegs.GPBQSEL2.bit.GPIO51 = 3; // XD28 asynchronous input
/* Записывает GpioCtrlRegs.GPBQSEL2.bit.GPIO52 значением 3; аппаратная линия ввода/вывода GPIO52. */
GpioCtrlRegs.GPBQSEL2.bit.GPIO52 = 3; // XD27 asynchronous input
/* Записывает GpioCtrlRegs.GPBQSEL2.bit.GPIO53 значением 3; аппаратная линия ввода/вывода GPIO53. */
GpioCtrlRegs.GPBQSEL2.bit.GPIO53 = 3; // XD26 asynchronous input
/* Записывает GpioCtrlRegs.GPBQSEL2.bit.GPIO54 значением 3; аппаратная линия ввода/вывода GPIO54. */
GpioCtrlRegs.GPBQSEL2.bit.GPIO54 = 3; // XD25 asynchronous input
/* Записывает GpioCtrlRegs.GPBQSEL2.bit.GPIO55 значением 3; аппаратная линия ввода/вывода GPIO55. */
GpioCtrlRegs.GPBQSEL2.bit.GPIO55 = 3; // XD24 asynchronous input
/* Записывает GpioCtrlRegs.GPBQSEL2.bit.GPIO56 значением 3; аппаратная линия ввода/вывода GPIO56. */
GpioCtrlRegs.GPBQSEL2.bit.GPIO56 = 3; // XD23 asynchronous input
/* Записывает GpioCtrlRegs.GPBQSEL2.bit.GPIO57 значением 3; аппаратная линия ввода/вывода GPIO57. */
GpioCtrlRegs.GPBQSEL2.bit.GPIO57 = 3; // XD22 asynchronous input
/* Записывает GpioCtrlRegs.GPBQSEL2.bit.GPIO58 значением 3; аппаратная линия ввода/вывода GPIO58. */
GpioCtrlRegs.GPBQSEL2.bit.GPIO58 = 3; // XD21 asynchronous input
/* Записывает GpioCtrlRegs.GPBQSEL2.bit.GPIO59 значением 3; аппаратная линия ввода/вывода GPIO59. */
GpioCtrlRegs.GPBQSEL2.bit.GPIO59 = 3; // XD20 asynchronous input
/* Записывает GpioCtrlRegs.GPBQSEL2.bit.GPIO60 значением 3; аппаратная линия ввода/вывода GPIO60. */
GpioCtrlRegs.GPBQSEL2.bit.GPIO60 = 3; // XD19 asynchronous input
/* Записывает GpioCtrlRegs.GPBQSEL2.bit.GPIO61 значением 3; аппаратная линия ввода/вывода GPIO61. */
GpioCtrlRegs.GPBQSEL2.bit.GPIO61 = 3; // XD18 asynchronous input
/* Записывает GpioCtrlRegs.GPBQSEL2.bit.GPIO62 значением 3; аппаратная линия ввода/вывода GPIO62. */
GpioCtrlRegs.GPBQSEL2.bit.GPIO62 = 3; // XD17 asynchronous input
/* Записывает GpioCtrlRegs.GPBQSEL2.bit.GPIO63 значением 3; аппаратная линия ввода/вывода GPIO63. */
GpioCtrlRegs.GPBQSEL2.bit.GPIO63 = 3; // XD16 asynchronous input
/* Инициализирует модуль вызовом InitXintf16Gpio(); перед его дальнейшим использованием. */
InitXintf16Gpio();
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Начинает функцию InitXintf16Gpio; назначение модуля — поставляемое TI описание Xintf для семейства C2833x. */
void InitXintf16Gpio()
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
/* Записывает GpioCtrlRegs.GPCMUX1.bit.GPIO64 значением 3; аппаратная линия ввода/вывода GPIO64. */
GpioCtrlRegs.GPCMUX1.bit.GPIO64 = 3; // XD15
/* Записывает GpioCtrlRegs.GPCMUX1.bit.GPIO65 значением 3; аппаратная линия ввода/вывода GPIO65. */
GpioCtrlRegs.GPCMUX1.bit.GPIO65 = 3; // XD14
/* Записывает GpioCtrlRegs.GPCMUX1.bit.GPIO66 значением 3; аппаратная линия ввода/вывода GPIO66. */
GpioCtrlRegs.GPCMUX1.bit.GPIO66 = 3; // XD13
/* Записывает GpioCtrlRegs.GPCMUX1.bit.GPIO67 значением 3; аппаратная линия ввода/вывода GPIO67. */
GpioCtrlRegs.GPCMUX1.bit.GPIO67 = 3; // XD12
/* Записывает GpioCtrlRegs.GPCMUX1.bit.GPIO68 значением 3; аппаратная линия ввода/вывода GPIO68. */
GpioCtrlRegs.GPCMUX1.bit.GPIO68 = 3; // XD11
/* Записывает GpioCtrlRegs.GPCMUX1.bit.GPIO69 значением 3; аппаратная линия ввода/вывода GPIO69. */
GpioCtrlRegs.GPCMUX1.bit.GPIO69 = 3; // XD10
/* Записывает GpioCtrlRegs.GPCMUX1.bit.GPIO70 значением 3; аппаратная линия ввода/вывода GPIO70. */
GpioCtrlRegs.GPCMUX1.bit.GPIO70 = 3; // XD19
/* Записывает GpioCtrlRegs.GPCMUX1.bit.GPIO71 значением 3; аппаратная линия ввода/вывода GPIO71. */
GpioCtrlRegs.GPCMUX1.bit.GPIO71 = 3; // XD8
/* Записывает GpioCtrlRegs.GPCMUX1.bit.GPIO72 значением 3; аппаратная линия ввода/вывода GPIO72. */
GpioCtrlRegs.GPCMUX1.bit.GPIO72 = 3; // XD7
/* Записывает GpioCtrlRegs.GPCMUX1.bit.GPIO73 значением 3; аппаратная линия ввода/вывода GPIO73. */
GpioCtrlRegs.GPCMUX1.bit.GPIO73 = 3; // XD6
/* Записывает GpioCtrlRegs.GPCMUX1.bit.GPIO74 значением 3; аппаратная линия ввода/вывода GPIO74. */
GpioCtrlRegs.GPCMUX1.bit.GPIO74 = 3; // XD5
/* Записывает GpioCtrlRegs.GPCMUX1.bit.GPIO75 значением 3; аппаратная линия ввода/вывода GPIO75. */
GpioCtrlRegs.GPCMUX1.bit.GPIO75 = 3; // XD4
/* Записывает GpioCtrlRegs.GPCMUX1.bit.GPIO76 значением 3; аппаратная линия ввода/вывода GPIO76. */
GpioCtrlRegs.GPCMUX1.bit.GPIO76 = 3; // XD3
/* Записывает GpioCtrlRegs.GPCMUX1.bit.GPIO77 значением 3; аппаратная линия ввода/вывода GPIO77. */
GpioCtrlRegs.GPCMUX1.bit.GPIO77 = 3; // XD2
/* Записывает GpioCtrlRegs.GPCMUX1.bit.GPIO78 значением 3; аппаратная линия ввода/вывода GPIO78. */
GpioCtrlRegs.GPCMUX1.bit.GPIO78 = 3; // XD1
/* Записывает GpioCtrlRegs.GPCMUX1.bit.GPIO79 значением 3; аппаратная линия ввода/вывода GPIO79. */
GpioCtrlRegs.GPCMUX1.bit.GPIO79 = 3; // XD0
/* Записывает GpioCtrlRegs.GPBMUX1.bit.GPIO40 значением 3; аппаратная линия ввода/вывода GPIO40. */
GpioCtrlRegs.GPBMUX1.bit.GPIO40 = 3; // XA0/XWE1n
/* Записывает GpioCtrlRegs.GPBMUX1.bit.GPIO41 значением 3; аппаратная линия ввода/вывода GPIO41. */
GpioCtrlRegs.GPBMUX1.bit.GPIO41 = 3; // XA1
/* Записывает GpioCtrlRegs.GPBMUX1.bit.GPIO42 значением 3; аппаратная линия ввода/вывода GPIO42. */
GpioCtrlRegs.GPBMUX1.bit.GPIO42 = 3; // XA2
/* Записывает GpioCtrlRegs.GPBMUX1.bit.GPIO43 значением 3; аппаратная линия ввода/вывода GPIO43. */
GpioCtrlRegs.GPBMUX1.bit.GPIO43 = 3; // XA3
/* Записывает GpioCtrlRegs.GPBMUX1.bit.GPIO44 значением 3; аппаратная линия ввода/вывода GPIO44. */
GpioCtrlRegs.GPBMUX1.bit.GPIO44 = 3; // XA4
/* Записывает GpioCtrlRegs.GPBMUX1.bit.GPIO45 значением 3; аппаратная линия ввода/вывода GPIO45. */
GpioCtrlRegs.GPBMUX1.bit.GPIO45 = 3; // XA5
/* Записывает GpioCtrlRegs.GPBMUX1.bit.GPIO46 значением 3; аппаратная линия ввода/вывода GPIO46. */
GpioCtrlRegs.GPBMUX1.bit.GPIO46 = 3; // XA6
/* Записывает GpioCtrlRegs.GPBMUX1.bit.GPIO47 значением 3; аппаратная линия ввода/вывода GPIO47. */
GpioCtrlRegs.GPBMUX1.bit.GPIO47 = 3; // XA7
/* Записывает GpioCtrlRegs.GPCMUX2.bit.GPIO80 значением 3; аппаратная линия ввода/вывода GPIO80. */
GpioCtrlRegs.GPCMUX2.bit.GPIO80 = 3; // XA8
/* Записывает GpioCtrlRegs.GPCMUX2.bit.GPIO81 значением 3; аппаратная линия ввода/вывода GPIO81. */
GpioCtrlRegs.GPCMUX2.bit.GPIO81 = 3; // XA9
/* Записывает GpioCtrlRegs.GPCMUX2.bit.GPIO82 значением 3; аппаратная линия ввода/вывода GPIO82. */
GpioCtrlRegs.GPCMUX2.bit.GPIO82 = 3; // XA10
/* Записывает GpioCtrlRegs.GPCMUX2.bit.GPIO83 значением 3; аппаратная линия ввода/вывода GPIO83. */
GpioCtrlRegs.GPCMUX2.bit.GPIO83 = 3; // XA11
/* Записывает GpioCtrlRegs.GPCMUX2.bit.GPIO84 значением 3; аппаратная линия ввода/вывода GPIO84. */
GpioCtrlRegs.GPCMUX2.bit.GPIO84 = 3; // XA12
/* Записывает GpioCtrlRegs.GPCMUX2.bit.GPIO85 значением 3; аппаратная линия ввода/вывода GPIO85. */
GpioCtrlRegs.GPCMUX2.bit.GPIO85 = 3; // XA13
/* Записывает GpioCtrlRegs.GPCMUX2.bit.GPIO86 значением 3; аппаратная линия ввода/вывода GPIO86. */
GpioCtrlRegs.GPCMUX2.bit.GPIO86 = 3; // XA14
/* Записывает GpioCtrlRegs.GPCMUX2.bit.GPIO87 значением 3; аппаратная линия ввода/вывода GPIO87. */
GpioCtrlRegs.GPCMUX2.bit.GPIO87 = 3; // XA15
/* Записывает GpioCtrlRegs.GPBMUX1.bit.GPIO39 значением 3; аппаратная линия ввода/вывода GPIO39. */
GpioCtrlRegs.GPBMUX1.bit.GPIO39 = 3; // XA16
// GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 3; // XA17
// GpioCtrlRegs.GPAMUX2.bit.GPIO30 = 3; // XA18
// GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 3; // XA19
// GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 3; // XREADY
/* Записывает GpioCtrlRegs.GPBMUX1.bit.GPIO35 значением 3; аппаратная линия ввода/вывода GPIO35. */
GpioCtrlRegs.GPBMUX1.bit.GPIO35 = 3; // XRNW
/* Записывает GpioCtrlRegs.GPBMUX1.bit.GPIO38 значением 3; аппаратная линия ввода/вывода GPIO38. */
GpioCtrlRegs.GPBMUX1.bit.GPIO38 = 3; // XWE0
// GpioCtrlRegs.GPBMUX1.bit.GPIO36 = 3; // XZCS0
/* Записывает GpioCtrlRegs.GPBMUX1.bit.GPIO37 значением 3; аппаратная линия ввода/вывода GPIO37. */
GpioCtrlRegs.GPBMUX1.bit.GPIO37 = 3; // XZCS7
// GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 3; // XZCS6
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
//===========================================================================

View File

@@ -1,3 +1,4 @@
; Поставляемое ti описание usdelay для семейства c2833x. Пояснения в UTF-8.
;// TI File $Revision: /main/4 $
;// Checkin $Date: July 30, 2007 10:28:57 $
;//###########################################################################
@@ -55,13 +56,20 @@
;// $Release Date: August 1, 2008 $
;//###########################################################################
; Экспортирует символ для связывания с C-кодом. Операция: .def _DSP28x_usDelay.
.def _DSP28x_usDelay
; Выбирает секцию объектного файла для следующих инструкций. Операция: .sect ".text".
.sect ".text"
; Объявляет глобальный символ для линкера. Операция: .global __DSP28x_usDelay.
.global __DSP28x_usDelay
; Объявляет метку _DSP28x_usDelay: для перехода или вызова. Операция: _DSP28x_usDelay:.
_DSP28x_usDelay:
; Вычитает операнд и обновляет арифметическое состояние. Операция: SUB ACC,#1.
SUB ACC,#1
; Выполняет условный переход по флагам результата. Операция: BF _DSP28x_usDelay,GEQ.
BF _DSP28x_usDelay,GEQ ;; Loop if ACC >= 0
; Возвращает управление вызывающему коду через длинный адрес возврата. Операция: LRETR.
LRETR
;There is a 9/10 cycle overhead and each loop

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание Headers_BIOS для семейства C2833x. Русские пояснения сохранены в UTF-8. */
/*
// TI File $Revision: /main/9 $
// Checkin $Date: August 8, 2008 11:09:25 $
@@ -25,154 +26,210 @@
//#####################################################################
*/
/* Начинает описание физических блоков памяти для линкера. */
MEMORY
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
PAGE 0: /* Program Memory */
PAGE 0: /* Program Memory */ /* Выбирает страницу адресного пространства линкера: 0 — программа, 1 — данные. */
PAGE 1: /* Data Memory */
PAGE 1: /* Data Memory */ /* Выбирает страницу адресного пространства линкера: 0 — программа, 1 — данные. */
DEV_EMU : origin = 0x000880, length = 0x000180 /* device emulation registers */
FLASH_REGS : origin = 0x000A80, length = 0x000060 /* FLASH registers */
CSM : origin = 0x000AE0, length = 0x000010 /* code security module registers */
DEV_EMU : origin = 0x000880, length = 0x000180 /* device emulation registers */ /* Записывает origin значением 0x000880, length = 0x000180; данные origin. */
FLASH_REGS : origin = 0x000A80, length = 0x000060 /* FLASH registers */ /* Записывает origin значением 0x000A80, length = 0x000060; данные origin. */
CSM : origin = 0x000AE0, length = 0x000010 /* code security module registers */ /* Записывает origin значением 0x000AE0, length = 0x000010; данные origin. */
ADC_MIRROR : origin = 0x000B00, length = 0x000010 /* ADC Results register mirror */
ADC_MIRROR : origin = 0x000B00, length = 0x000010 /* ADC Results register mirror */ /* Записывает origin значением 0x000B00, length = 0x000010; данные origin. */
XINTF : origin = 0x000B20, length = 0x000020 /* external interface registers */
XINTF : origin = 0x000B20, length = 0x000020 /* external interface registers */ /* Записывает origin значением 0x000B20, length = 0x000020; данные origin. */
CPU_TIMER0 : origin = 0x000C00, length = 0x000008 /* CPU Timer0 registers */
CPU_TIMER1 : origin = 0x000C08, length = 0x000008 /* CPU Timer0 registers (CPU Timer1 & Timer2 reserved TI use)*/
CPU_TIMER2 : origin = 0x000C10, length = 0x000008 /* CPU Timer0 registers (CPU Timer1 & Timer2 reserved TI use)*/
CPU_TIMER0 : origin = 0x000C00, length = 0x000008 /* CPU Timer0 registers */ /* Записывает origin значением 0x000C00, length = 0x000008; данные origin. */
CPU_TIMER1 : origin = 0x000C08, length = 0x000008 /* CPU Timer0 registers (CPU Timer1 & Timer2 reserved TI use)*/ /* Записывает origin значением 0x000C08, length = 0x000008; данные origin. */
CPU_TIMER2 : origin = 0x000C10, length = 0x000008 /* CPU Timer0 registers (CPU Timer1 & Timer2 reserved TI use)*/ /* Записывает origin значением 0x000C10, length = 0x000008; данные origin. */
PIE_CTRL : origin = 0x000CE0, length = 0x000020 /* PIE control registers */
PIE_CTRL : origin = 0x000CE0, length = 0x000020 /* PIE control registers */ /* Записывает origin значением 0x000CE0, length = 0x000020; данные origin. */
DMA : origin = 0x001000, length = 0x000200 /* DMA registers */
DMA : origin = 0x001000, length = 0x000200 /* DMA registers */ /* Записывает origin значением 0x001000, length = 0x000200; данные origin. */
MCBSPA : origin = 0x005000, length = 0x000040 /* McBSP-A registers */
MCBSPB : origin = 0x005040, length = 0x000040 /* McBSP-B registers */
MCBSPA : origin = 0x005000, length = 0x000040 /* McBSP-A registers */ /* Записывает origin значением 0x005000, length = 0x000040; данные origin. */
MCBSPB : origin = 0x005040, length = 0x000040 /* McBSP-B registers */ /* Записывает origin значением 0x005040, length = 0x000040; данные origin. */
ECANA : origin = 0x006000, length = 0x000040 /* eCAN-A control and status registers */
ECANA_LAM : origin = 0x006040, length = 0x000040 /* eCAN-A local acceptance masks */
ECANA_MOTS : origin = 0x006080, length = 0x000040 /* eCAN-A message object time stamps */
ECANA_MOTO : origin = 0x0060C0, length = 0x000040 /* eCAN-A object time-out registers */
ECANA_MBOX : origin = 0x006100, length = 0x000100 /* eCAN-A mailboxes */
ECANA : origin = 0x006000, length = 0x000040 /* eCAN-A control and status registers */ /* Записывает origin значением 0x006000, length = 0x000040; данные origin. */
ECANA_LAM : origin = 0x006040, length = 0x000040 /* eCAN-A local acceptance masks */ /* Записывает origin значением 0x006040, length = 0x000040; данные origin. */
ECANA_MOTS : origin = 0x006080, length = 0x000040 /* eCAN-A message object time stamps */ /* Записывает origin значением 0x006080, length = 0x000040; данные origin. */
ECANA_MOTO : origin = 0x0060C0, length = 0x000040 /* eCAN-A object time-out registers */ /* Записывает origin значением 0x0060C0, length = 0x000040; данные origin. */
ECANA_MBOX : origin = 0x006100, length = 0x000100 /* eCAN-A mailboxes */ /* Записывает origin значением 0x006100, length = 0x000100; данные origin. */
ECANB : origin = 0x006200, length = 0x000040 /* eCAN-B control and status registers */
ECANB_LAM : origin = 0x006240, length = 0x000040 /* eCAN-B local acceptance masks */
ECANB_MOTS : origin = 0x006280, length = 0x000040 /* eCAN-B message object time stamps */
ECANB_MOTO : origin = 0x0062C0, length = 0x000040 /* eCAN-B object time-out registers */
ECANB_MBOX : origin = 0x006300, length = 0x000100 /* eCAN-B mailboxes */
ECANB : origin = 0x006200, length = 0x000040 /* eCAN-B control and status registers */ /* Записывает origin значением 0x006200, length = 0x000040; данные origin. */
ECANB_LAM : origin = 0x006240, length = 0x000040 /* eCAN-B local acceptance masks */ /* Записывает origin значением 0x006240, length = 0x000040; данные origin. */
ECANB_MOTS : origin = 0x006280, length = 0x000040 /* eCAN-B message object time stamps */ /* Записывает origin значением 0x006280, length = 0x000040; данные origin. */
ECANB_MOTO : origin = 0x0062C0, length = 0x000040 /* eCAN-B object time-out registers */ /* Записывает origin значением 0x0062C0, length = 0x000040; данные origin. */
ECANB_MBOX : origin = 0x006300, length = 0x000100 /* eCAN-B mailboxes */ /* Записывает origin значением 0x006300, length = 0x000100; данные origin. */
EPWM1 : origin = 0x006800, length = 0x000022 /* Enhanced PWM 1 registers */
EPWM2 : origin = 0x006840, length = 0x000022 /* Enhanced PWM 2 registers */
EPWM3 : origin = 0x006880, length = 0x000022 /* Enhanced PWM 3 registers */
EPWM4 : origin = 0x0068C0, length = 0x000022 /* Enhanced PWM 4 registers */
EPWM5 : origin = 0x006900, length = 0x000022 /* Enhanced PWM 5 registers */
EPWM6 : origin = 0x006940, length = 0x000022 /* Enhanced PWM 6 registers */
EPWM1 : origin = 0x006800, length = 0x000022 /* Enhanced PWM 1 registers */ /* Записывает origin значением 0x006800, length = 0x000022; данные origin. */
EPWM2 : origin = 0x006840, length = 0x000022 /* Enhanced PWM 2 registers */ /* Записывает origin значением 0x006840, length = 0x000022; данные origin. */
EPWM3 : origin = 0x006880, length = 0x000022 /* Enhanced PWM 3 registers */ /* Записывает origin значением 0x006880, length = 0x000022; данные origin. */
EPWM4 : origin = 0x0068C0, length = 0x000022 /* Enhanced PWM 4 registers */ /* Записывает origin значением 0x0068C0, length = 0x000022; данные origin. */
EPWM5 : origin = 0x006900, length = 0x000022 /* Enhanced PWM 5 registers */ /* Записывает origin значением 0x006900, length = 0x000022; данные origin. */
EPWM6 : origin = 0x006940, length = 0x000022 /* Enhanced PWM 6 registers */ /* Записывает origin значением 0x006940, length = 0x000022; данные origin. */
ECAP1 : origin = 0x006A00, length = 0x000020 /* Enhanced Capture 1 registers */
ECAP2 : origin = 0x006A20, length = 0x000020 /* Enhanced Capture 2 registers */
ECAP3 : origin = 0x006A40, length = 0x000020 /* Enhanced Capture 3 registers */
ECAP4 : origin = 0x006A60, length = 0x000020 /* Enhanced Capture 4 registers */
ECAP5 : origin = 0x006A80, length = 0x000020 /* Enhanced Capture 5 registers */
ECAP6 : origin = 0x006AA0, length = 0x000020 /* Enhanced Capture 6 registers */
ECAP1 : origin = 0x006A00, length = 0x000020 /* Enhanced Capture 1 registers */ /* Записывает origin значением 0x006A00, length = 0x000020; данные origin. */
ECAP2 : origin = 0x006A20, length = 0x000020 /* Enhanced Capture 2 registers */ /* Записывает origin значением 0x006A20, length = 0x000020; данные origin. */
ECAP3 : origin = 0x006A40, length = 0x000020 /* Enhanced Capture 3 registers */ /* Записывает origin значением 0x006A40, length = 0x000020; данные origin. */
ECAP4 : origin = 0x006A60, length = 0x000020 /* Enhanced Capture 4 registers */ /* Записывает origin значением 0x006A60, length = 0x000020; данные origin. */
ECAP5 : origin = 0x006A80, length = 0x000020 /* Enhanced Capture 5 registers */ /* Записывает origin значением 0x006A80, length = 0x000020; данные origin. */
ECAP6 : origin = 0x006AA0, length = 0x000020 /* Enhanced Capture 6 registers */ /* Записывает origin значением 0x006AA0, length = 0x000020; данные origin. */
EQEP1 : origin = 0x006B00, length = 0x000040 /* Enhanced QEP 1 registers */
EQEP2 : origin = 0x006B40, length = 0x000040 /* Enhanced QEP 2 registers */
EQEP1 : origin = 0x006B00, length = 0x000040 /* Enhanced QEP 1 registers */ /* Записывает origin значением 0x006B00, length = 0x000040; данные origin. */
EQEP2 : origin = 0x006B40, length = 0x000040 /* Enhanced QEP 2 registers */ /* Записывает origin значением 0x006B40, length = 0x000040; данные origin. */
GPIOCTRL : origin = 0x006F80, length = 0x000040 /* GPIO control registers */
GPIODAT : origin = 0x006FC0, length = 0x000020 /* GPIO data registers */
GPIOINT : origin = 0x006FE0, length = 0x000020 /* GPIO interrupt/LPM registers */
GPIOCTRL : origin = 0x006F80, length = 0x000040 /* GPIO control registers */ /* Записывает origin значением 0x006F80, length = 0x000040; данные origin. */
GPIODAT : origin = 0x006FC0, length = 0x000020 /* GPIO data registers */ /* Записывает origin значением 0x006FC0, length = 0x000020; данные origin. */
GPIOINT : origin = 0x006FE0, length = 0x000020 /* GPIO interrupt/LPM registers */ /* Записывает origin значением 0x006FE0, length = 0x000020; данные origin. */
SYSTEM : origin = 0x007010, length = 0x000020 /* System control registers */
SPIA : origin = 0x007040, length = 0x000010 /* SPI-A registers */
SCIA : origin = 0x007050, length = 0x000010 /* SCI-A registers */
XINTRUPT : origin = 0x007070, length = 0x000010 /* external interrupt registers */
SYSTEM : origin = 0x007010, length = 0x000020 /* System control registers */ /* Записывает origin значением 0x007010, length = 0x000020; данные origin. */
SPIA : origin = 0x007040, length = 0x000010 /* SPI-A registers */ /* Записывает origin значением 0x007040, length = 0x000010; данные origin. */
SCIA : origin = 0x007050, length = 0x000010 /* SCI-A registers */ /* Записывает origin значением 0x007050, length = 0x000010; данные origin. */
XINTRUPT : origin = 0x007070, length = 0x000010 /* external interrupt registers */ /* Записывает origin значением 0x007070, length = 0x000010; данные origin. */
ADC : origin = 0x007100, length = 0x000020 /* ADC registers */
ADC : origin = 0x007100, length = 0x000020 /* ADC registers */ /* Записывает origin значением 0x007100, length = 0x000020; данные origin. */
SCIB : origin = 0x007750, length = 0x000010 /* SCI-B registers */
SCIB : origin = 0x007750, length = 0x000010 /* SCI-B registers */ /* Записывает origin значением 0x007750, length = 0x000010; данные origin. */
SCIC : origin = 0x007770, length = 0x000010 /* SCI-C registers */
SCIC : origin = 0x007770, length = 0x000010 /* SCI-C registers */ /* Записывает origin значением 0x007770, length = 0x000010; данные origin. */
I2CA : origin = 0x007900, length = 0x000040 /* I2C-A registers */
I2CA : origin = 0x007900, length = 0x000040 /* I2C-A registers */ /* Записывает origin значением 0x007900, length = 0x000040; данные origin. */
CSM_PWL : origin = 0x3F7FF8, length = 0x000008 /* Part of FLASHA. CSM password locations. */
CSM_PWL : origin = 0x3F7FF8, length = 0x000008 /* Part of FLASHA. CSM password locations. */ /* Записывает origin значением 0x3F7FF8, length = 0x000008; данные origin. */
PARTID : origin = 0x380090, length = 0x000001 /* Part ID register location */
PARTID : origin = 0x380090, length = 0x000001 /* Part ID register location */ /* Записывает origin значением 0x380090, length = 0x000001; данные origin. */
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Начинает описание размещения секций объектных файлов для линкера. */
SECTIONS
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/*** The PIE Vector table is called PIEVECT by DSP/BIOS ***/
/* Записывает PAGE значением 1, TYPE = DSECT; данные PAGE. */
PieVectTableFile : > PIEVECT, PAGE = 1, TYPE = DSECT
/*** Peripheral Frame 0 Register Structures ***/
/* Записывает PAGE значением 1; данные PAGE. */
DevEmuRegsFile : > DEV_EMU, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
FlashRegsFile : > FLASH_REGS, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
CsmRegsFile : > CSM, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
AdcMirrorFile : > ADC_MIRROR, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
XintfRegsFile : > XINTF, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
CpuTimer0RegsFile : > CPU_TIMER0, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
CpuTimer1RegsFile : > CPU_TIMER1, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
CpuTimer2RegsFile : > CPU_TIMER2, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
PieCtrlRegsFile : > PIE_CTRL, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
DmaRegsFile : > DMA, PAGE = 1
/*** Peripheral Frame 3 Register Structures ***/
/* Записывает PAGE значением 1; данные PAGE. */
McbspaRegsFile : > MCBSPA, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
McbspbRegsFile : > MCBSPB, PAGE = 1
/*** Peripheral Frame 1 Register Structures ***/
/* Записывает PAGE значением 1; данные PAGE. */
ECanaRegsFile : > ECANA, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanaLAMRegsFile : > ECANA_LAM PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanaMboxesFile : > ECANA_MBOX PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanaMOTSRegsFile : > ECANA_MOTS PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanaMOTORegsFile : > ECANA_MOTO PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanbRegsFile : > ECANB, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanbLAMRegsFile : > ECANB_LAM PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanbMboxesFile : > ECANB_MBOX PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanbMOTSRegsFile : > ECANB_MOTS PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanbMOTORegsFile : > ECANB_MOTO PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
EPwm1RegsFile : > EPWM1 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
EPwm2RegsFile : > EPWM2 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
EPwm3RegsFile : > EPWM3 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
EPwm4RegsFile : > EPWM4 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
EPwm5RegsFile : > EPWM5 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
EPwm6RegsFile : > EPWM6 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECap1RegsFile : > ECAP1 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECap2RegsFile : > ECAP2 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECap3RegsFile : > ECAP3 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECap4RegsFile : > ECAP4 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECap5RegsFile : > ECAP5 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECap6RegsFile : > ECAP6 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
EQep1RegsFile : > EQEP1 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
EQep2RegsFile : > EQEP2 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
GpioCtrlRegsFile : > GPIOCTRL PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
GpioDataRegsFile : > GPIODAT PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
GpioIntRegsFile : > GPIOINT PAGE = 1
/*** Peripheral Frame 2 Register Structures ***/
/* Записывает PAGE значением 1; данные PAGE. */
SysCtrlRegsFile : > SYSTEM, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
SpiaRegsFile : > SPIA, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
SciaRegsFile : > SCIA, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
XIntruptRegsFile : > XINTRUPT, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
AdcRegsFile : > ADC, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ScibRegsFile : > SCIB, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ScicRegsFile : > SCIC, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
I2caRegsFile : > I2CA, PAGE = 1
/*** Code Security Module Register Structures ***/
/* Записывает PAGE значением 1; данные PAGE. */
CsmPwlFile : > CSM_PWL, PAGE = 1
/*** Device Part ID Register Structures ***/
/* Записывает PAGE значением 1; данные PAGE. */
PartIdRegsFile : > PARTID, PAGE = 1
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание Headers_nonBIOS для семейства C2833x. Русские пояснения сохранены в UTF-8. */
/*
// TI File $Revision: /main/8 $
// Checkin $Date: June 2, 2008 11:12:24 $
@@ -25,154 +26,210 @@
//###########################################################################
*/
/* Начинает описание физических блоков памяти для линкера. */
MEMORY
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
PAGE 0: /* Program Memory */
PAGE 0: /* Program Memory */ /* Выбирает страницу адресного пространства линкера: 0 — программа, 1 — данные. */
PAGE 1: /* Data Memory */
PAGE 1: /* Data Memory */ /* Выбирает страницу адресного пространства линкера: 0 — программа, 1 — данные. */
DEV_EMU : origin = 0x000880, length = 0x000180 /* device emulation registers */
FLASH_REGS : origin = 0x000A80, length = 0x000060 /* FLASH registers */
CSM : origin = 0x000AE0, length = 0x000010 /* code security module registers */
DEV_EMU : origin = 0x000880, length = 0x000180 /* device emulation registers */ /* Записывает origin значением 0x000880, length = 0x000180; данные origin. */
FLASH_REGS : origin = 0x000A80, length = 0x000060 /* FLASH registers */ /* Записывает origin значением 0x000A80, length = 0x000060; данные origin. */
CSM : origin = 0x000AE0, length = 0x000010 /* code security module registers */ /* Записывает origin значением 0x000AE0, length = 0x000010; данные origin. */
ADC_MIRROR : origin = 0x000B00, length = 0x000010 /* ADC Results register mirror */
ADC_MIRROR : origin = 0x000B00, length = 0x000010 /* ADC Results register mirror */ /* Записывает origin значением 0x000B00, length = 0x000010; данные origin. */
XINTF : origin = 0x000B20, length = 0x000020 /* external interface registers */
XINTF : origin = 0x000B20, length = 0x000020 /* external interface registers */ /* Записывает origin значением 0x000B20, length = 0x000020; данные origin. */
CPU_TIMER0 : origin = 0x000C00, length = 0x000008 /* CPU Timer0 registers */
CPU_TIMER1 : origin = 0x000C08, length = 0x000008 /* CPU Timer0 registers (CPU Timer1 & Timer2 reserved TI use)*/
CPU_TIMER2 : origin = 0x000C10, length = 0x000008 /* CPU Timer0 registers (CPU Timer1 & Timer2 reserved TI use)*/
CPU_TIMER0 : origin = 0x000C00, length = 0x000008 /* CPU Timer0 registers */ /* Записывает origin значением 0x000C00, length = 0x000008; данные origin. */
CPU_TIMER1 : origin = 0x000C08, length = 0x000008 /* CPU Timer0 registers (CPU Timer1 & Timer2 reserved TI use)*/ /* Записывает origin значением 0x000C08, length = 0x000008; данные origin. */
CPU_TIMER2 : origin = 0x000C10, length = 0x000008 /* CPU Timer0 registers (CPU Timer1 & Timer2 reserved TI use)*/ /* Записывает origin значением 0x000C10, length = 0x000008; данные origin. */
PIE_CTRL : origin = 0x000CE0, length = 0x000020 /* PIE control registers */
PIE_VECT : origin = 0x000D00, length = 0x000100 /* PIE Vector Table */
PIE_CTRL : origin = 0x000CE0, length = 0x000020 /* PIE control registers */ /* Записывает origin значением 0x000CE0, length = 0x000020; данные origin. */
PIE_VECT : origin = 0x000D00, length = 0x000100 /* PIE Vector Table */ /* Записывает origin значением 0x000D00, length = 0x000100; данные origin. */
DMA : origin = 0x001000, length = 0x000200 /* DMA registers */
DMA : origin = 0x001000, length = 0x000200 /* DMA registers */ /* Записывает origin значением 0x001000, length = 0x000200; данные origin. */
MCBSPA : origin = 0x005000, length = 0x000040 /* McBSP-A registers */
MCBSPB : origin = 0x005040, length = 0x000040 /* McBSP-B registers */
MCBSPA : origin = 0x005000, length = 0x000040 /* McBSP-A registers */ /* Записывает origin значением 0x005000, length = 0x000040; данные origin. */
MCBSPB : origin = 0x005040, length = 0x000040 /* McBSP-B registers */ /* Записывает origin значением 0x005040, length = 0x000040; данные origin. */
ECANA : origin = 0x006000, length = 0x000040 /* eCAN-A control and status registers */
ECANA_LAM : origin = 0x006040, length = 0x000040 /* eCAN-A local acceptance masks */
ECANA_MOTS : origin = 0x006080, length = 0x000040 /* eCAN-A message object time stamps */
ECANA_MOTO : origin = 0x0060C0, length = 0x000040 /* eCAN-A object time-out registers */
ECANA_MBOX : origin = 0x006100, length = 0x000100 /* eCAN-A mailboxes */
ECANA : origin = 0x006000, length = 0x000040 /* eCAN-A control and status registers */ /* Записывает origin значением 0x006000, length = 0x000040; данные origin. */
ECANA_LAM : origin = 0x006040, length = 0x000040 /* eCAN-A local acceptance masks */ /* Записывает origin значением 0x006040, length = 0x000040; данные origin. */
ECANA_MOTS : origin = 0x006080, length = 0x000040 /* eCAN-A message object time stamps */ /* Записывает origin значением 0x006080, length = 0x000040; данные origin. */
ECANA_MOTO : origin = 0x0060C0, length = 0x000040 /* eCAN-A object time-out registers */ /* Записывает origin значением 0x0060C0, length = 0x000040; данные origin. */
ECANA_MBOX : origin = 0x006100, length = 0x000100 /* eCAN-A mailboxes */ /* Записывает origin значением 0x006100, length = 0x000100; данные origin. */
ECANB : origin = 0x006200, length = 0x000040 /* eCAN-B control and status registers */
ECANB_LAM : origin = 0x006240, length = 0x000040 /* eCAN-B local acceptance masks */
ECANB_MOTS : origin = 0x006280, length = 0x000040 /* eCAN-B message object time stamps */
ECANB_MOTO : origin = 0x0062C0, length = 0x000040 /* eCAN-B object time-out registers */
ECANB_MBOX : origin = 0x006300, length = 0x000100 /* eCAN-B mailboxes */
ECANB : origin = 0x006200, length = 0x000040 /* eCAN-B control and status registers */ /* Записывает origin значением 0x006200, length = 0x000040; данные origin. */
ECANB_LAM : origin = 0x006240, length = 0x000040 /* eCAN-B local acceptance masks */ /* Записывает origin значением 0x006240, length = 0x000040; данные origin. */
ECANB_MOTS : origin = 0x006280, length = 0x000040 /* eCAN-B message object time stamps */ /* Записывает origin значением 0x006280, length = 0x000040; данные origin. */
ECANB_MOTO : origin = 0x0062C0, length = 0x000040 /* eCAN-B object time-out registers */ /* Записывает origin значением 0x0062C0, length = 0x000040; данные origin. */
ECANB_MBOX : origin = 0x006300, length = 0x000100 /* eCAN-B mailboxes */ /* Записывает origin значением 0x006300, length = 0x000100; данные origin. */
EPWM1 : origin = 0x006800, length = 0x000022 /* Enhanced PWM 1 registers */
EPWM2 : origin = 0x006840, length = 0x000022 /* Enhanced PWM 2 registers */
EPWM3 : origin = 0x006880, length = 0x000022 /* Enhanced PWM 3 registers */
EPWM4 : origin = 0x0068C0, length = 0x000022 /* Enhanced PWM 4 registers */
EPWM5 : origin = 0x006900, length = 0x000022 /* Enhanced PWM 5 registers */
EPWM6 : origin = 0x006940, length = 0x000022 /* Enhanced PWM 6 registers */
EPWM1 : origin = 0x006800, length = 0x000022 /* Enhanced PWM 1 registers */ /* Записывает origin значением 0x006800, length = 0x000022; данные origin. */
EPWM2 : origin = 0x006840, length = 0x000022 /* Enhanced PWM 2 registers */ /* Записывает origin значением 0x006840, length = 0x000022; данные origin. */
EPWM3 : origin = 0x006880, length = 0x000022 /* Enhanced PWM 3 registers */ /* Записывает origin значением 0x006880, length = 0x000022; данные origin. */
EPWM4 : origin = 0x0068C0, length = 0x000022 /* Enhanced PWM 4 registers */ /* Записывает origin значением 0x0068C0, length = 0x000022; данные origin. */
EPWM5 : origin = 0x006900, length = 0x000022 /* Enhanced PWM 5 registers */ /* Записывает origin значением 0x006900, length = 0x000022; данные origin. */
EPWM6 : origin = 0x006940, length = 0x000022 /* Enhanced PWM 6 registers */ /* Записывает origin значением 0x006940, length = 0x000022; данные origin. */
ECAP1 : origin = 0x006A00, length = 0x000020 /* Enhanced Capture 1 registers */
ECAP2 : origin = 0x006A20, length = 0x000020 /* Enhanced Capture 2 registers */
ECAP3 : origin = 0x006A40, length = 0x000020 /* Enhanced Capture 3 registers */
ECAP4 : origin = 0x006A60, length = 0x000020 /* Enhanced Capture 4 registers */
ECAP5 : origin = 0x006A80, length = 0x000020 /* Enhanced Capture 5 registers */
ECAP6 : origin = 0x006AA0, length = 0x000020 /* Enhanced Capture 6 registers */
ECAP1 : origin = 0x006A00, length = 0x000020 /* Enhanced Capture 1 registers */ /* Записывает origin значением 0x006A00, length = 0x000020; данные origin. */
ECAP2 : origin = 0x006A20, length = 0x000020 /* Enhanced Capture 2 registers */ /* Записывает origin значением 0x006A20, length = 0x000020; данные origin. */
ECAP3 : origin = 0x006A40, length = 0x000020 /* Enhanced Capture 3 registers */ /* Записывает origin значением 0x006A40, length = 0x000020; данные origin. */
ECAP4 : origin = 0x006A60, length = 0x000020 /* Enhanced Capture 4 registers */ /* Записывает origin значением 0x006A60, length = 0x000020; данные origin. */
ECAP5 : origin = 0x006A80, length = 0x000020 /* Enhanced Capture 5 registers */ /* Записывает origin значением 0x006A80, length = 0x000020; данные origin. */
ECAP6 : origin = 0x006AA0, length = 0x000020 /* Enhanced Capture 6 registers */ /* Записывает origin значением 0x006AA0, length = 0x000020; данные origin. */
EQEP1 : origin = 0x006B00, length = 0x000040 /* Enhanced QEP 1 registers */
EQEP2 : origin = 0x006B40, length = 0x000040 /* Enhanced QEP 2 registers */
EQEP1 : origin = 0x006B00, length = 0x000040 /* Enhanced QEP 1 registers */ /* Записывает origin значением 0x006B00, length = 0x000040; данные origin. */
EQEP2 : origin = 0x006B40, length = 0x000040 /* Enhanced QEP 2 registers */ /* Записывает origin значением 0x006B40, length = 0x000040; данные origin. */
GPIOCTRL : origin = 0x006F80, length = 0x000040 /* GPIO control registers */
GPIODAT : origin = 0x006FC0, length = 0x000020 /* GPIO data registers */
GPIOINT : origin = 0x006FE0, length = 0x000020 /* GPIO interrupt/LPM registers */
GPIOCTRL : origin = 0x006F80, length = 0x000040 /* GPIO control registers */ /* Записывает origin значением 0x006F80, length = 0x000040; данные origin. */
GPIODAT : origin = 0x006FC0, length = 0x000020 /* GPIO data registers */ /* Записывает origin значением 0x006FC0, length = 0x000020; данные origin. */
GPIOINT : origin = 0x006FE0, length = 0x000020 /* GPIO interrupt/LPM registers */ /* Записывает origin значением 0x006FE0, length = 0x000020; данные origin. */
SYSTEM : origin = 0x007010, length = 0x000020 /* System control registers */
SPIA : origin = 0x007040, length = 0x000010 /* SPI-A registers */
SCIA : origin = 0x007050, length = 0x000010 /* SCI-A registers */
XINTRUPT : origin = 0x007070, length = 0x000010 /* external interrupt registers */
SYSTEM : origin = 0x007010, length = 0x000020 /* System control registers */ /* Записывает origin значением 0x007010, length = 0x000020; данные origin. */
SPIA : origin = 0x007040, length = 0x000010 /* SPI-A registers */ /* Записывает origin значением 0x007040, length = 0x000010; данные origin. */
SCIA : origin = 0x007050, length = 0x000010 /* SCI-A registers */ /* Записывает origin значением 0x007050, length = 0x000010; данные origin. */
XINTRUPT : origin = 0x007070, length = 0x000010 /* external interrupt registers */ /* Записывает origin значением 0x007070, length = 0x000010; данные origin. */
ADC : origin = 0x007100, length = 0x000020 /* ADC registers */
ADC : origin = 0x007100, length = 0x000020 /* ADC registers */ /* Записывает origin значением 0x007100, length = 0x000020; данные origin. */
SCIB : origin = 0x007750, length = 0x000010 /* SCI-B registers */
SCIB : origin = 0x007750, length = 0x000010 /* SCI-B registers */ /* Записывает origin значением 0x007750, length = 0x000010; данные origin. */
SCIC : origin = 0x007770, length = 0x000010 /* SCI-C registers */
SCIC : origin = 0x007770, length = 0x000010 /* SCI-C registers */ /* Записывает origin значением 0x007770, length = 0x000010; данные origin. */
I2CA : origin = 0x007900, length = 0x000040 /* I2C-A registers */
I2CA : origin = 0x007900, length = 0x000040 /* I2C-A registers */ /* Записывает origin значением 0x007900, length = 0x000040; данные origin. */
CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations. */
CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations. */ /* Записывает origin значением 0x33FFF8, length = 0x000008; данные origin. */
PARTID : origin = 0x380090, length = 0x000001 /* Part ID register location */
PARTID : origin = 0x380090, length = 0x000001 /* Part ID register location */ /* Записывает origin значением 0x380090, length = 0x000001; данные origin. */
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Начинает описание размещения секций объектных файлов для линкера. */
SECTIONS
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает PAGE значением 1; данные PAGE. */
PieVectTableFile : > PIE_VECT, PAGE = 1
/*** Peripheral Frame 0 Register Structures ***/
/* Записывает PAGE значением 1; данные PAGE. */
DevEmuRegsFile : > DEV_EMU, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
FlashRegsFile : > FLASH_REGS, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
CsmRegsFile : > CSM, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
AdcMirrorFile : > ADC_MIRROR, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
XintfRegsFile : > XINTF, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
CpuTimer0RegsFile : > CPU_TIMER0, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
CpuTimer1RegsFile : > CPU_TIMER1, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
CpuTimer2RegsFile : > CPU_TIMER2, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
PieCtrlRegsFile : > PIE_CTRL, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
DmaRegsFile : > DMA, PAGE = 1
/*** Peripheral Frame 3 Register Structures ***/
/* Записывает PAGE значением 1; данные PAGE. */
McbspaRegsFile : > MCBSPA, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
McbspbRegsFile : > MCBSPB, PAGE = 1
/*** Peripheral Frame 1 Register Structures ***/
/* Записывает PAGE значением 1; данные PAGE. */
ECanaRegsFile : > ECANA, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanaLAMRegsFile : > ECANA_LAM PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanaMboxesFile : > ECANA_MBOX PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanaMOTSRegsFile : > ECANA_MOTS PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanaMOTORegsFile : > ECANA_MOTO PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanbRegsFile : > ECANB, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanbLAMRegsFile : > ECANB_LAM PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanbMboxesFile : > ECANB_MBOX PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanbMOTSRegsFile : > ECANB_MOTS PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECanbMOTORegsFile : > ECANB_MOTO PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
EPwm1RegsFile : > EPWM1 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
EPwm2RegsFile : > EPWM2 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
EPwm3RegsFile : > EPWM3 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
EPwm4RegsFile : > EPWM4 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
EPwm5RegsFile : > EPWM5 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
EPwm6RegsFile : > EPWM6 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECap1RegsFile : > ECAP1 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECap2RegsFile : > ECAP2 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECap3RegsFile : > ECAP3 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECap4RegsFile : > ECAP4 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECap5RegsFile : > ECAP5 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECap6RegsFile : > ECAP6 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
EQep1RegsFile : > EQEP1 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
EQep2RegsFile : > EQEP2 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
GpioCtrlRegsFile : > GPIOCTRL PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
GpioDataRegsFile : > GPIODAT PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
GpioIntRegsFile : > GPIOINT PAGE = 1
/*** Peripheral Frame 2 Register Structures ***/
/* Записывает PAGE значением 1; данные PAGE. */
SysCtrlRegsFile : > SYSTEM, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
SpiaRegsFile : > SPIA, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
SciaRegsFile : > SCIA, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
XIntruptRegsFile : > XINTRUPT, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
AdcRegsFile : > ADC, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ScibRegsFile : > SCIB, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ScicRegsFile : > SCIC, PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
I2caRegsFile : > I2CA, PAGE = 1
/*** Code Security Module Register Structures ***/
/* Записывает PAGE значением 1; данные PAGE. */
CsmPwlFile : > CSM_PWL, PAGE = 1
/*** Device Part ID Register Structures ***/
/* Записывает PAGE значением 1; данные PAGE. */
PartIdRegsFile : > PARTID, PAGE = 1
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание Adc для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/1 $
// Checkin $Date: August 18, 2006 13:51:50 $
//###########################################################################
@@ -11,252 +12,452 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_ADC_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_ADC_H
/* Определяет защитный символ или переключатель DSP2833x_ADC_H для последующей компиляции. */
#define DSP2833x_ADC_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
//---------------------------------------------------------------------------
// ADC Individual Register Bit Definitions:
/* Описывает структуру ADCTRL1_BITS; порядок полей определяет расположение данных. */
struct ADCTRL1_BITS { // bits description
/* Битовое поле rsvd1, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:4; // 3:0 reserved
/* Битовое поле SEQ_CASC, ширина 1 бит; данные SEQ_CASC. */
Uint16 SEQ_CASC:1; // 4 Cascaded sequencer mode
/* Битовое поле SEQ_OVRD, ширина 1 бит; данные SEQ_OVRD. */
Uint16 SEQ_OVRD:1; // 5 Sequencer override
/* Битовое поле CONT_RUN, ширина 1 бит; данные CONT_RUN. */
Uint16 CONT_RUN:1; // 6 Continuous run
/* Битовое поле CPS, ширина 1 бит; данные CPS. */
Uint16 CPS:1; // 7 ADC core clock pre-scalar
/* Битовое поле ACQ_PS, ширина 4 бит; данные ACQ_PS. */
Uint16 ACQ_PS:4; // 11:8 Acquisition window size
/* Битовое поле SUSMOD, ширина 2 бит; данные SUSMOD. */
Uint16 SUSMOD:2; // 13:12 Emulation suspend mode
/* Битовое поле RESET, ширина 1 бит; сброс. */
Uint16 RESET:1; // 14 ADC reset
/* Битовое поле rsvd2, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:1; // 15 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ADCTRL1_REG в одной области памяти. */
union ADCTRL1_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ADCTRL1_BITS bit;; порядок полей определяет расположение данных. */
struct ADCTRL1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру ADCTRL2_BITS; порядок полей определяет расположение данных. */
struct ADCTRL2_BITS { // bits description
/* Битовое поле EPWM_SOCB_SEQ2, ширина 1 бит; данные EPWM_SOCB_SEQ2. */
Uint16 EPWM_SOCB_SEQ2:1; // 0 EPWM compare B SOC mask for SEQ2
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 1 reserved
/* Битовое поле INT_MOD_SEQ2, ширина 1 бит; данные INT_MOD_SEQ2. */
Uint16 INT_MOD_SEQ2:1; // 2 SEQ2 Interrupt mode
/* Битовое поле INT_ENA_SEQ2, ширина 1 бит; данные INT_ENA_SEQ2. */
Uint16 INT_ENA_SEQ2:1; // 3 SEQ2 Interrupt enable
/* Битовое поле rsvd2, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:1; // 4 reserved
/* Битовое поле SOC_SEQ2, ширина 1 бит; данные SOC_SEQ2. */
Uint16 SOC_SEQ2:1; // 5 Start of conversion for SEQ2
/* Битовое поле RST_SEQ2, ширина 1 бит; данные RST_SEQ2. */
Uint16 RST_SEQ2:1; // 6 Reset SEQ2
/* Битовое поле EXT_SOC_SEQ1, ширина 1 бит; данные EXT_SOC_SEQ1. */
Uint16 EXT_SOC_SEQ1:1; // 7 External start of conversion for SEQ1
/* Битовое поле EPWM_SOCA_SEQ1, ширина 1 бит; данные EPWM_SOCA_SEQ1. */
Uint16 EPWM_SOCA_SEQ1:1; // 8 EPWM compare B SOC mask for SEQ1
/* Битовое поле rsvd3, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3:1; // 9 reserved
/* Битовое поле INT_MOD_SEQ1, ширина 1 бит; данные INT_MOD_SEQ1. */
Uint16 INT_MOD_SEQ1:1; // 10 SEQ1 Interrupt mode
/* Битовое поле INT_ENA_SEQ1, ширина 1 бит; данные INT_ENA_SEQ1. */
Uint16 INT_ENA_SEQ1:1; // 11 SEQ1 Interrupt enable
/* Битовое поле rsvd4, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd4:1; // 12 reserved
/* Битовое поле SOC_SEQ1, ширина 1 бит; данные SOC_SEQ1. */
Uint16 SOC_SEQ1:1; // 13 Start of conversion trigger for SEQ1
/* Битовое поле RST_SEQ1, ширина 1 бит; данные RST_SEQ1. */
Uint16 RST_SEQ1:1; // 14 Restart sequencer 1
/* Битовое поле EPWM_SOCB_SEQ, ширина 1 бит; данные EPWM_SOCB_SEQ. */
Uint16 EPWM_SOCB_SEQ:1; // 15 EPWM compare B SOC enable
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ADCTRL2_REG в одной области памяти. */
union ADCTRL2_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ADCTRL2_BITS bit;; порядок полей определяет расположение данных. */
struct ADCTRL2_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру ADCASEQSR_BITS; порядок полей определяет расположение данных. */
struct ADCASEQSR_BITS { // bits description
/* Битовое поле SEQ1_STATE, ширина 4 бит; данные SEQ1_STATE. */
Uint16 SEQ1_STATE:4; // 3:0 SEQ1 state
/* Битовое поле SEQ2_STATE, ширина 3 бит; данные SEQ2_STATE. */
Uint16 SEQ2_STATE:3; // 6:4 SEQ2 state
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 7 reserved
/* Битовое поле SEQ_CNTR, ширина 4 бит; данные SEQ_CNTR. */
Uint16 SEQ_CNTR:4; // 11:8 Sequencing counter status
/* Битовое поле rsvd2, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:4; // 15:12 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ADCASEQSR_REG в одной области памяти. */
union ADCASEQSR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ADCASEQSR_BITS bit;; порядок полей определяет расположение данных. */
struct ADCASEQSR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру ADCMAXCONV_BITS; порядок полей определяет расположение данных. */
struct ADCMAXCONV_BITS { // bits description
/* Битовое поле MAX_CONV1, ширина 4 бит; данные MAX_CONV1. */
Uint16 MAX_CONV1:4; // 3:0 Max number of conversions
/* Битовое поле MAX_CONV2, ширина 3 бит; данные MAX_CONV2. */
Uint16 MAX_CONV2:3; // 6:4 Max number of conversions
/* Битовое поле rsvd1, ширина 9 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:9; // 15:7 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ADCMAXCONV_REG в одной области памяти. */
union ADCMAXCONV_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ADCMAXCONV_BITS bit;; порядок полей определяет расположение данных. */
struct ADCMAXCONV_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру ADCCHSELSEQ1_BITS; порядок полей определяет расположение данных. */
struct ADCCHSELSEQ1_BITS { // bits description
/* Битовое поле CONV00, ширина 4 бит; данные CONV00. */
Uint16 CONV00:4; // 3:0 Conversion selection 00
/* Битовое поле CONV01, ширина 4 бит; данные CONV01. */
Uint16 CONV01:4; // 7:4 Conversion selection 01
/* Битовое поле CONV02, ширина 4 бит; данные CONV02. */
Uint16 CONV02:4; // 11:8 Conversion selection 02
/* Битовое поле CONV03, ширина 4 бит; данные CONV03. */
Uint16 CONV03:4; // 15:12 Conversion selection 03
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ADCCHSELSEQ1_REG в одной области памяти. */
union ADCCHSELSEQ1_REG{
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ADCCHSELSEQ1_BITS bit;; порядок полей определяет расположение данных. */
struct ADCCHSELSEQ1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру ADCCHSELSEQ2_BITS; порядок полей определяет расположение данных. */
struct ADCCHSELSEQ2_BITS { // bits description
/* Битовое поле CONV04, ширина 4 бит; данные CONV04. */
Uint16 CONV04:4; // 3:0 Conversion selection 04
/* Битовое поле CONV05, ширина 4 бит; данные CONV05. */
Uint16 CONV05:4; // 7:4 Conversion selection 05
/* Битовое поле CONV06, ширина 4 бит; данные CONV06. */
Uint16 CONV06:4; // 11:8 Conversion selection 06
/* Битовое поле CONV07, ширина 4 бит; данные CONV07. */
Uint16 CONV07:4; // 15:12 Conversion selection 07
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ADCCHSELSEQ2_REG в одной области памяти. */
union ADCCHSELSEQ2_REG{
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ADCCHSELSEQ2_BITS bit;; порядок полей определяет расположение данных. */
struct ADCCHSELSEQ2_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру ADCCHSELSEQ3_BITS; порядок полей определяет расположение данных. */
struct ADCCHSELSEQ3_BITS { // bits description
/* Битовое поле CONV08, ширина 4 бит; данные CONV08. */
Uint16 CONV08:4; // 3:0 Conversion selection 08
/* Битовое поле CONV09, ширина 4 бит; данные CONV09. */
Uint16 CONV09:4; // 7:4 Conversion selection 09
/* Битовое поле CONV10, ширина 4 бит; данные CONV10. */
Uint16 CONV10:4; // 11:8 Conversion selection 10
/* Битовое поле CONV11, ширина 4 бит; данные CONV11. */
Uint16 CONV11:4; // 15:12 Conversion selection 11
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ADCCHSELSEQ3_REG в одной области памяти. */
union ADCCHSELSEQ3_REG{
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ADCCHSELSEQ3_BITS bit;; порядок полей определяет расположение данных. */
struct ADCCHSELSEQ3_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру ADCCHSELSEQ4_BITS; порядок полей определяет расположение данных. */
struct ADCCHSELSEQ4_BITS { // bits description
/* Битовое поле CONV12, ширина 4 бит; данные CONV12. */
Uint16 CONV12:4; // 3:0 Conversion selection 12
/* Битовое поле CONV13, ширина 4 бит; данные CONV13. */
Uint16 CONV13:4; // 7:4 Conversion selection 13
/* Битовое поле CONV14, ширина 4 бит; данные CONV14. */
Uint16 CONV14:4; // 11:8 Conversion selection 14
/* Битовое поле CONV15, ширина 4 бит; данные CONV15. */
Uint16 CONV15:4; // 15:12 Conversion selection 15
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ADCCHSELSEQ4_REG в одной области памяти. */
union ADCCHSELSEQ4_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ADCCHSELSEQ4_BITS bit;; порядок полей определяет расположение данных. */
struct ADCCHSELSEQ4_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру ADCTRL3_BITS; порядок полей определяет расположение данных. */
struct ADCTRL3_BITS { // bits description
/* Битовое поле SMODE_SEL, ширина 1 бит; данные SMODE_SEL. */
Uint16 SMODE_SEL:1; // 0 Sampling mode select
/* Битовое поле ADCCLKPS, ширина 4 бит; данные ADCCLKPS. */
Uint16 ADCCLKPS:4; // 4:1 ADC core clock divider
/* Битовое поле ADCPWDN, ширина 1 бит; данные ADCPWDN. */
Uint16 ADCPWDN:1; // 5 ADC powerdown
/* Битовое поле ADCBGRFDN, ширина 2 бит; данные ADCBGRFDN. */
Uint16 ADCBGRFDN:2; // 7:6 ADC bandgap/ref power down
/* Битовое поле rsvd1, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:8; // 15:8 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ADCTRL3_REG в одной области памяти. */
union ADCTRL3_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ADCTRL3_BITS bit;; порядок полей определяет расположение данных. */
struct ADCTRL3_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру ADCST_BITS; порядок полей определяет расположение данных. */
struct ADCST_BITS { // bits description
/* Битовое поле INT_SEQ1, ширина 1 бит; данные INT_SEQ1. */
Uint16 INT_SEQ1:1; // 0 SEQ1 Interrupt flag
/* Битовое поле INT_SEQ2, ширина 1 бит; данные INT_SEQ2. */
Uint16 INT_SEQ2:1; // 1 SEQ2 Interrupt flag
/* Битовое поле SEQ1_BSY, ширина 1 бит; данные SEQ1_BSY. */
Uint16 SEQ1_BSY:1; // 2 SEQ1 busy status
/* Битовое поле SEQ2_BSY, ширина 1 бит; данные SEQ2_BSY. */
Uint16 SEQ2_BSY:1; // 3 SEQ2 busy status
/* Битовое поле INT_SEQ1_CLR, ширина 1 бит; данные INT_SEQ1_CLR. */
Uint16 INT_SEQ1_CLR:1; // 4 SEQ1 Interrupt clear
/* Битовое поле INT_SEQ2_CLR, ширина 1 бит; данные INT_SEQ2_CLR. */
Uint16 INT_SEQ2_CLR:1; // 5 SEQ2 Interrupt clear
/* Битовое поле EOS_BUF1, ширина 1 бит; данные EOS_BUF1. */
Uint16 EOS_BUF1:1; // 6 End of sequence buffer1
/* Битовое поле EOS_BUF2, ширина 1 бит; данные EOS_BUF2. */
Uint16 EOS_BUF2:1; // 7 End of sequence buffer2
/* Битовое поле rsvd1, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:8; // 15:8 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ADCST_REG в одной области памяти. */
union ADCST_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ADCST_BITS bit;; порядок полей определяет расположение данных. */
struct ADCST_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру ADCREFSEL_BITS; порядок полей определяет расположение данных. */
struct ADCREFSEL_BITS { // bits description
/* Битовое поле rsvd1, ширина 14 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:14; // 13:0 reserved
/* Битовое поле REF_SEL, ширина 2 бит; данные REF_SEL. */
Uint16 REF_SEL:2; // 15:14 Reference select
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ADCREFSEL_REG в одной области памяти. */
union ADCREFSEL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ADCREFSEL_BITS bit;; порядок полей определяет расположение данных. */
struct ADCREFSEL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру ADCOFFTRIM_BITS; порядок полей определяет расположение данных. */
struct ADCOFFTRIM_BITS{ // bits description
/* Продолжает список аргументов, полей или выражение int16 OFFSET_TRIM:9;; порядок элементов сохраняется. */
int16 OFFSET_TRIM:9; // 8:0 Offset Trim
/* Битовое поле rsvd1, ширина 7 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:7; // 15:9 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ADCOFFTRIM_REG в одной области памяти. */
union ADCOFFTRIM_REG{
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ADCOFFTRIM_BITS bit;; порядок полей определяет расположение данных. */
struct ADCOFFTRIM_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру ADC_REGS; порядок полей определяет расположение данных. */
struct ADC_REGS {
/* Объединяет несколько представлений ADCTRL1_REG ADCTRL1; в одной области памяти. */
union ADCTRL1_REG ADCTRL1; // ADC Control 1
/* Объединяет несколько представлений ADCTRL2_REG ADCTRL2; в одной области памяти. */
union ADCTRL2_REG ADCTRL2; // ADC Control 2
/* Объединяет несколько представлений ADCMAXCONV_REG ADCMAXCONV; в одной области памяти. */
union ADCMAXCONV_REG ADCMAXCONV; // Max conversions
/* Объединяет несколько представлений ADCCHSELSEQ1_REG ADCCHSELSEQ1; в одной области памяти. */
union ADCCHSELSEQ1_REG ADCCHSELSEQ1; // Channel select sequencing control 1
/* Объединяет несколько представлений ADCCHSELSEQ2_REG ADCCHSELSEQ2; в одной области памяти. */
union ADCCHSELSEQ2_REG ADCCHSELSEQ2; // Channel select sequencing control 2
/* Объединяет несколько представлений ADCCHSELSEQ3_REG ADCCHSELSEQ3; в одной области памяти. */
union ADCCHSELSEQ3_REG ADCCHSELSEQ3; // Channel select sequencing control 3
/* Объединяет несколько представлений ADCCHSELSEQ4_REG ADCCHSELSEQ4; в одной области памяти. */
union ADCCHSELSEQ4_REG ADCCHSELSEQ4; // Channel select sequencing control 4
/* Объединяет несколько представлений ADCASEQSR_REG ADCASEQSR; в одной области памяти. */
union ADCASEQSR_REG ADCASEQSR; // Autosequence status register
/* Объявляет ADCRESULT0 — данные ADCRESULT0. */
Uint16 ADCRESULT0; // Conversion Result Buffer 0
/* Объявляет ADCRESULT1 — данные ADCRESULT1. */
Uint16 ADCRESULT1; // Conversion Result Buffer 1
/* Объявляет ADCRESULT2 — данные ADCRESULT2. */
Uint16 ADCRESULT2; // Conversion Result Buffer 2
/* Объявляет ADCRESULT3 — данные ADCRESULT3. */
Uint16 ADCRESULT3; // Conversion Result Buffer 3
/* Объявляет ADCRESULT4 — данные ADCRESULT4. */
Uint16 ADCRESULT4; // Conversion Result Buffer 4
/* Объявляет ADCRESULT5 — данные ADCRESULT5. */
Uint16 ADCRESULT5; // Conversion Result Buffer 5
/* Объявляет ADCRESULT6 — данные ADCRESULT6. */
Uint16 ADCRESULT6; // Conversion Result Buffer 6
/* Объявляет ADCRESULT7 — данные ADCRESULT7. */
Uint16 ADCRESULT7; // Conversion Result Buffer 7
/* Объявляет ADCRESULT8 — данные ADCRESULT8. */
Uint16 ADCRESULT8; // Conversion Result Buffer 8
/* Объявляет ADCRESULT9 — данные ADCRESULT9. */
Uint16 ADCRESULT9; // Conversion Result Buffer 9
/* Объявляет ADCRESULT10 — данные ADCRESULT10. */
Uint16 ADCRESULT10; // Conversion Result Buffer 10
/* Объявляет ADCRESULT11 — данные ADCRESULT11. */
Uint16 ADCRESULT11; // Conversion Result Buffer 11
/* Объявляет ADCRESULT12 — данные ADCRESULT12. */
Uint16 ADCRESULT12; // Conversion Result Buffer 12
/* Объявляет ADCRESULT13 — данные ADCRESULT13. */
Uint16 ADCRESULT13; // Conversion Result Buffer 13
/* Объявляет ADCRESULT14 — данные ADCRESULT14. */
Uint16 ADCRESULT14; // Conversion Result Buffer 14
/* Объявляет ADCRESULT15 — данные ADCRESULT15. */
Uint16 ADCRESULT15; // Conversion Result Buffer 15
/* Объединяет несколько представлений ADCTRL3_REG ADCTRL3; в одной области памяти. */
union ADCTRL3_REG ADCTRL3; // ADC Control 3
/* Объединяет несколько представлений ADCST_REG ADCST; в одной области памяти. */
union ADCST_REG ADCST; // ADC Status Register
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1;
/* Объявляет rsvd2 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2;
/* Объединяет несколько представлений ADCREFSEL_REG ADCREFSEL; в одной области памяти. */
union ADCREFSEL_REG ADCREFSEL; // Reference Select Register
/* Объединяет несколько представлений ADCOFFTRIM_REG ADCOFFTRIM; в одной области памяти. */
union ADCOFFTRIM_REG ADCOFFTRIM; // Offset Trim Register
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру ADC_RESULT_MIRROR_REGS; порядок полей определяет расположение данных. */
struct ADC_RESULT_MIRROR_REGS
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Объявляет ADCRESULT0 — данные ADCRESULT0. */
Uint16 ADCRESULT0; // Conversion Result Buffer 0
/* Объявляет ADCRESULT1 — данные ADCRESULT1. */
Uint16 ADCRESULT1; // Conversion Result Buffer 1
/* Объявляет ADCRESULT2 — данные ADCRESULT2. */
Uint16 ADCRESULT2; // Conversion Result Buffer 2
/* Объявляет ADCRESULT3 — данные ADCRESULT3. */
Uint16 ADCRESULT3; // Conversion Result Buffer 3
/* Объявляет ADCRESULT4 — данные ADCRESULT4. */
Uint16 ADCRESULT4; // Conversion Result Buffer 4
/* Объявляет ADCRESULT5 — данные ADCRESULT5. */
Uint16 ADCRESULT5; // Conversion Result Buffer 5
/* Объявляет ADCRESULT6 — данные ADCRESULT6. */
Uint16 ADCRESULT6; // Conversion Result Buffer 6
/* Объявляет ADCRESULT7 — данные ADCRESULT7. */
Uint16 ADCRESULT7; // Conversion Result Buffer 7
/* Объявляет ADCRESULT8 — данные ADCRESULT8. */
Uint16 ADCRESULT8; // Conversion Result Buffer 8
/* Объявляет ADCRESULT9 — данные ADCRESULT9. */
Uint16 ADCRESULT9; // Conversion Result Buffer 9
/* Объявляет ADCRESULT10 — данные ADCRESULT10. */
Uint16 ADCRESULT10; // Conversion Result Buffer 10
/* Объявляет ADCRESULT11 — данные ADCRESULT11. */
Uint16 ADCRESULT11; // Conversion Result Buffer 11
/* Объявляет ADCRESULT12 — данные ADCRESULT12. */
Uint16 ADCRESULT12; // Conversion Result Buffer 12
/* Объявляет ADCRESULT13 — данные ADCRESULT13. */
Uint16 ADCRESULT13; // Conversion Result Buffer 13
/* Объявляет ADCRESULT14 — данные ADCRESULT14. */
Uint16 ADCRESULT14; // Conversion Result Buffer 14
/* Объявляет ADCRESULT15 — данные ADCRESULT15. */
Uint16 ADCRESULT15; // Conversion Result Buffer 15
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// ADC External References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern volatile struct ADC_REGS AdcRegs;; порядок элементов сохраняется. */
extern volatile struct ADC_REGS AdcRegs;
/* Продолжает список аргументов, полей или выражение extern volatile struct ADC_RESULT_MIRROR_REGS AdcMirror;; порядок элементов сохраняется. */
extern volatile struct ADC_RESULT_MIRROR_REGS AdcMirror;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_ADC_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание CpuTimers для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/4 $
// Checkin $Date: March 20, 2007 15:33:42 $
//###########################################################################
@@ -20,11 +21,16 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_CPU_TIMERS_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_CPU_TIMERS_H
/* Определяет защитный символ или переключатель DSP2833x_CPU_TIMERS_H для последующей компиляции. */
#define DSP2833x_CPU_TIMERS_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
//---------------------------------------------------------------------------
@@ -32,121 +38,195 @@ extern "C" {
//
//
// TCR: Control register bit definitions:
/* Описывает структуру TCR_BITS; порядок полей определяет расположение данных. */
struct TCR_BITS { // bits description
/* Битовое поле rsvd1, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:4; // 3:0 reserved
/* Битовое поле TSS, ширина 1 бит; данные TSS. */
Uint16 TSS:1; // 4 Timer Start/Stop
/* Битовое поле TRB, ширина 1 бит; данные TRB. */
Uint16 TRB:1; // 5 Timer reload
/* Битовое поле rsvd2, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:4; // 9:6 reserved
/* Битовое поле SOFT, ширина 1 бит; данные SOFT. */
Uint16 SOFT:1; // 10 Emulation modes
/* Битовое поле FREE, ширина 1 бит; данные FREE. */
Uint16 FREE:1; // 11
/* Битовое поле rsvd3, ширина 2 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3:2; // 12:13 reserved
/* Битовое поле TIE, ширина 1 бит; данные TIE. */
Uint16 TIE:1; // 14 Output enable
/* Битовое поле TIF, ширина 1 бит; данные TIF. */
Uint16 TIF:1; // 15 Interrupt flag
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений TCR_REG в одной области памяти. */
union TCR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру TCR_BITS bit;; порядок полей определяет расположение данных. */
struct TCR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// TPR: Pre-scale low bit definitions:
/* Описывает структуру TPR_BITS; порядок полей определяет расположение данных. */
struct TPR_BITS { // bits description
/* Битовое поле TDDR, ширина 8 бит; данные TDDR. */
Uint16 TDDR:8; // 7:0 Divide-down low
/* Битовое поле PSC, ширина 8 бит; данные PSC. */
Uint16 PSC:8; // 15:8 Prescale counter low
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений TPR_REG в одной области памяти. */
union TPR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру TPR_BITS bit;; порядок полей определяет расположение данных. */
struct TPR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// TPRH: Pre-scale high bit definitions:
/* Описывает структуру TPRH_BITS; порядок полей определяет расположение данных. */
struct TPRH_BITS { // bits description
/* Битовое поле TDDRH, ширина 8 бит; данные TDDRH. */
Uint16 TDDRH:8; // 7:0 Divide-down high
/* Битовое поле PSCH, ширина 8 бит; данные PSCH. */
Uint16 PSCH:8; // 15:8 Prescale counter high
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений TPRH_REG в одной области памяти. */
union TPRH_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру TPRH_BITS bit;; порядок полей определяет расположение данных. */
struct TPRH_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// TIM, TIMH: Timer register definitions:
/* Описывает структуру TIM_REG; порядок полей определяет расположение данных. */
struct TIM_REG {
/* Объявляет LSW — данные LSW. */
Uint16 LSW;
/* Объявляет MSW — данные MSW. */
Uint16 MSW;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений TIM_GROUP в одной области памяти. */
union TIM_GROUP {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру TIM_REG half;; порядок полей определяет расположение данных. */
struct TIM_REG half;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// PRD, PRDH: Period register definitions:
/* Описывает структуру PRD_REG; порядок полей определяет расположение данных. */
struct PRD_REG {
/* Объявляет LSW — данные LSW. */
Uint16 LSW;
/* Объявляет MSW — данные MSW. */
Uint16 MSW;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений PRD_GROUP в одной области памяти. */
union PRD_GROUP {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру PRD_REG half;; порядок полей определяет расположение данных. */
struct PRD_REG half;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// CPU Timer Register File:
//
/* Описывает структуру CPUTIMER_REGS; порядок полей определяет расположение данных. */
struct CPUTIMER_REGS {
/* Объединяет несколько представлений TIM_GROUP TIM; в одной области памяти. */
union TIM_GROUP TIM; // Timer counter register
/* Объединяет несколько представлений PRD_GROUP PRD; в одной области памяти. */
union PRD_GROUP PRD; // Period register
/* Объединяет несколько представлений TCR_REG TCR; в одной области памяти. */
union TCR_REG TCR; // Timer control register
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1; // reserved
/* Объединяет несколько представлений TPR_REG TPR; в одной области памяти. */
union TPR_REG TPR; // Timer pre-scale low
/* Объединяет несколько представлений TPRH_REG TPRH; в одной области памяти. */
union TPRH_REG TPRH; // Timer pre-scale high
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// CPU Timer Support Variables:
//
/* Описывает структуру CPUTIMER_VARS; порядок полей определяет расположение данных. */
struct CPUTIMER_VARS {
/* Продолжает список аргументов, полей или выражение volatile struct CPUTIMER_REGS *RegsAddr;; порядок элементов сохраняется. */
volatile struct CPUTIMER_REGS *RegsAddr;
/* Объявляет InterruptCount — прерывание число. */
Uint32 InterruptCount;
/* Объявляет CPUFreqInMHz — данные CPUFreqInMHz. */
float CPUFreqInMHz;
/* Объявляет PeriodInUSec — период In U Sec. */
float PeriodInUSec;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// Function prototypes and external definitions:
//
/* Объявляет интерфейс функции InitCpuTimers; реализация вызывается через этот прототип. */
void InitCpuTimers(void);
/* Объявляет интерфейс функции ConfigCpuTimer; реализация вызывается через этот прототип. */
void ConfigCpuTimer(struct CPUTIMER_VARS *Timer, float Freq, float Period);
/* Продолжает список аргументов, полей или выражение extern volatile struct CPUTIMER_REGS CpuTimer0Regs;; порядок элементов сохраняется. */
extern volatile struct CPUTIMER_REGS CpuTimer0Regs;
/* Продолжает список аргументов, полей или выражение extern struct CPUTIMER_VARS CpuTimer0;; порядок элементов сохраняется. */
extern struct CPUTIMER_VARS CpuTimer0;
// CpuTimer 1 and CpuTimer2 are reserved for DSP BIOS & other RTOS. Comment out CpuTimer1 and CpuTimer2 if using DSP BIOS or other RTOS
/* Продолжает список аргументов, полей или выражение extern volatile struct CPUTIMER_REGS CpuTimer1Regs;; порядок элементов сохраняется. */
extern volatile struct CPUTIMER_REGS CpuTimer1Regs;
/* Продолжает список аргументов, полей или выражение extern volatile struct CPUTIMER_REGS CpuTimer2Regs;; порядок элементов сохраняется. */
extern volatile struct CPUTIMER_REGS CpuTimer2Regs;
/* Продолжает список аргументов, полей или выражение extern struct CPUTIMER_VARS CpuTimer1;; порядок элементов сохраняется. */
extern struct CPUTIMER_VARS CpuTimer1;
/* Продолжает список аргументов, полей или выражение extern struct CPUTIMER_VARS CpuTimer2;; порядок элементов сохраняется. */
extern struct CPUTIMER_VARS CpuTimer2;
//---------------------------------------------------------------------------
// Usefull Timer Operations:
//
// Start Timer:
/* Задаёт StartCpuTimer0 = CpuTimer0Regs.TCR.bit.TSS = 0; Start Cpu таймер 0. */
#define StartCpuTimer0() CpuTimer0Regs.TCR.bit.TSS = 0
// Stop Timer:
/* Задаёт StopCpuTimer0 = CpuTimer0Regs.TCR.bit.TSS = 1; Stop Cpu таймер 0. */
#define StopCpuTimer0() CpuTimer0Regs.TCR.bit.TSS = 1
// Reload Timer With period Value:
/* Задаёт ReloadCpuTimer0 = CpuTimer0Regs.TCR.bit.TRB = 1; Reload Cpu таймер 0. */
#define ReloadCpuTimer0() CpuTimer0Regs.TCR.bit.TRB = 1
// Read 32-Bit Timer Value:
/* Задаёт ReadCpuTimer0Counter = CpuTimer0Regs.TIM.all; чтение Cpu таймер 0 счётчик. */
#define ReadCpuTimer0Counter() CpuTimer0Regs.TIM.all
// Read 32-Bit Period Value:
/* Задаёт ReadCpuTimer0Period = CpuTimer0Regs.PRD.all; чтение Cpu таймер 0 период. */
#define ReadCpuTimer0Period() CpuTimer0Regs.PRD.all
// CpuTimer 1 and CpuTimer2 are reserved for DSP BIOS & other RTOS
@@ -157,31 +237,44 @@ extern struct CPUTIMER_VARS CpuTimer2;
// if using DSP-BIOS or another realtime OS.
// Start Timer:
/* Задаёт StartCpuTimer1 = CpuTimer1Regs.TCR.bit.TSS = 0; Start Cpu таймер 1. */
#define StartCpuTimer1() CpuTimer1Regs.TCR.bit.TSS = 0
/* Задаёт StartCpuTimer2 = CpuTimer2Regs.TCR.bit.TSS = 0; Start Cpu таймер 2. */
#define StartCpuTimer2() CpuTimer2Regs.TCR.bit.TSS = 0
// Stop Timer:
/* Задаёт StopCpuTimer1 = CpuTimer1Regs.TCR.bit.TSS = 1; Stop Cpu таймер 1. */
#define StopCpuTimer1() CpuTimer1Regs.TCR.bit.TSS = 1
/* Задаёт StopCpuTimer2 = CpuTimer2Regs.TCR.bit.TSS = 1; Stop Cpu таймер 2. */
#define StopCpuTimer2() CpuTimer2Regs.TCR.bit.TSS = 1
// Reload Timer With period Value:
/* Задаёт ReloadCpuTimer1 = CpuTimer1Regs.TCR.bit.TRB = 1; Reload Cpu таймер 1. */
#define ReloadCpuTimer1() CpuTimer1Regs.TCR.bit.TRB = 1
/* Задаёт ReloadCpuTimer2 = CpuTimer2Regs.TCR.bit.TRB = 1; Reload Cpu таймер 2. */
#define ReloadCpuTimer2() CpuTimer2Regs.TCR.bit.TRB = 1
// Read 32-Bit Timer Value:
/* Задаёт ReadCpuTimer1Counter = CpuTimer1Regs.TIM.all; чтение Cpu таймер 1 счётчик. */
#define ReadCpuTimer1Counter() CpuTimer1Regs.TIM.all
/* Задаёт ReadCpuTimer2Counter = CpuTimer2Regs.TIM.all; чтение Cpu таймер 2 счётчик. */
#define ReadCpuTimer2Counter() CpuTimer2Regs.TIM.all
// Read 32-Bit Period Value:
/* Задаёт ReadCpuTimer1Period = CpuTimer1Regs.PRD.all; чтение Cpu таймер 1 период. */
#define ReadCpuTimer1Period() CpuTimer1Regs.PRD.all
/* Задаёт ReadCpuTimer2Period = CpuTimer2Regs.PRD.all; чтение Cpu таймер 2 период. */
#define ReadCpuTimer2Period() CpuTimer2Regs.PRD.all
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_CPU_TIMERS_H definition

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание DMA для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/11 $
// Checkin $Date: June 23, 2008 11:34:15 $
//###########################################################################
@@ -11,17 +12,24 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_DMA_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_DMA_H
/* Определяет защитный символ или переключатель DSP2833x_DMA_H для последующей компиляции. */
#define DSP2833x_DMA_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
//----------------------------------------------------
// Channel MODE register bit definitions:
/* Описывает структуру MODE_BITS; порядок полей определяет расположение данных. */
struct MODE_BITS { // bits description
/* Битовое поле PERINTSEL, ширина 5 бит; данные PERINTSEL. */
Uint16 PERINTSEL:5; // 4:0 Peripheral Interrupt and Sync Select Bits (R/W):
// 0 no interrupt
// 1 SEQ1INT & ADCSYNC
@@ -54,127 +62,191 @@ struct MODE_BITS { // bits description
// 28 ePWM6SOCA
// 29 ePWM6SOCB
// 30:31 no interrupt
/* Битовое поле rsvd1, ширина 2 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:2; // 6:5 (R=0:0)
/* Битовое поле OVRINTE, ширина 1 бит; данные OVRINTE. */
Uint16 OVRINTE:1; // 7 Overflow Interrupt Enable (R/W):
// 0 overflow interrupt disabled
// 1 overflow interrupt enabled
/* Битовое поле PERINTE, ширина 1 бит; данные PERINTE. */
Uint16 PERINTE:1; // 8 Peripheral Interrupt Enable Bit (R/W):
// 0 peripheral interrupt disabled
// 1 peripheral interrupt enabled
/* Битовое поле CHINTMODE, ширина 1 бит; данные CHINTMODE. */
Uint16 CHINTMODE:1; // 9 Channel Interrupt Mode Bit (R/W):
// 0 generate interrupt at beginning of new transfer
// 1 generate interrupt at end of transfer
/* Битовое поле ONESHOT, ширина 1 бит; данные ONESHOT. */
Uint16 ONESHOT:1; // 10 One Shot Mode Bit (R/W):
// 0 only interrupt event triggers single burst transfer
// 1 first interrupt triggers burst, continue until transfer count is zero
/* Битовое поле CONTINUOUS, ширина 1 бит; данные CONTINUOUS. */
Uint16 CONTINUOUS:1; // 11 Continous Mode Bit (R/W):
// 0 stop when transfer count is zero
// 1 re-initialize when transfer count is zero
/* Битовое поле SYNCE, ширина 1 бит; данные SYNCE. */
Uint16 SYNCE:1; // 12 Sync Enable Bit (R/W):
// 0 ignore selected interrupt sync signal
// 1 enable selected interrupt sync signal
/* Битовое поле SYNCSEL, ширина 1 бит; данные SYNCSEL. */
Uint16 SYNCSEL:1; // 13 Sync Select Bit (R/W):
// 0 sync signal controls source wrap counter
// 1 sync signal controls destination wrap counter
/* Битовое поле DATASIZE, ширина 1 бит; данные DATASIZE. */
Uint16 DATASIZE:1; // 14 Data Size Mode Bit (R/W):
// 0 16-bit data transfer size
// 1 32-bit data transfer size
/* Битовое поле CHINTE, ширина 1 бит; данные CHINTE. */
Uint16 CHINTE:1; // 15 Channel Interrupt Enable Bit (R/W):
// 0 channel interrupt disabled
// 1 channel interrupt enabled
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений MODE_REG в одной области памяти. */
union MODE_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру MODE_BITS bit;; порядок полей определяет расположение данных. */
struct MODE_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Channel CONTROL register bit definitions:
/* Описывает структуру CONTROL_BITS; порядок полей определяет расположение данных. */
struct CONTROL_BITS { // bits description
/* Битовое поле RUN, ширина 1 бит; данные RUN. */
Uint16 RUN:1; // 0 Run Bit (R=0/W=1)
/* Битовое поле HALT, ширина 1 бит; данные HALT. */
Uint16 HALT:1; // 1 Halt Bit (R=0/W=1)
/* Битовое поле SOFTRESET, ширина 1 бит; данные SOFTRESET. */
Uint16 SOFTRESET:1; // 2 Soft Reset Bit (R=0/W=1)
/* Битовое поле PERINTFRC, ширина 1 бит; данные PERINTFRC. */
Uint16 PERINTFRC:1; // 3 Interrupt Force Bit (R=0/W=1)
/* Битовое поле PERINTCLR, ширина 1 бит; данные PERINTCLR. */
Uint16 PERINTCLR:1; // 4 Interrupt Clear Bit (R=0/W=1)
/* Битовое поле SYNCFRC, ширина 1 бит; данные SYNCFRC. */
Uint16 SYNCFRC:1; // 5 Sync Force Bit (R=0/W=1)
/* Битовое поле SYNCCLR, ширина 1 бит; данные SYNCCLR. */
Uint16 SYNCCLR:1; // 6 Sync Clear Bit (R=0/W=1)
/* Битовое поле ERRCLR, ширина 1 бит; данные ERRCLR. */
Uint16 ERRCLR:1; // 7 Error Clear Bit (R=0/W=1)
/* Битовое поле PERINTFLG, ширина 1 бит; данные PERINTFLG. */
Uint16 PERINTFLG:1; // 8 Interrupt Flag Bit (R):
// 0 no interrupt pending
// 1 interrupt pending
/* Битовое поле SYNCFLG, ширина 1 бит; данные SYNCFLG. */
Uint16 SYNCFLG:1; // 9 Sync Flag Bit (R):
// 0 no sync pending
// 1 sync pending
/* Битовое поле SYNCERR, ширина 1 бит; данные SYNCERR. */
Uint16 SYNCERR:1; // 10 Sync Error Flag Bit (R):
// 0 no sync error
// 1 sync error detected
/* Битовое поле TRANSFERSTS, ширина 1 бит; данные TRANSFERSTS. */
Uint16 TRANSFERSTS:1; // 11 Transfer Status Bit (R):
// 0 no transfer in progress or pending
// 1 transfer in progress or pending
/* Битовое поле BURSTSTS, ширина 1 бит; данные BURSTSTS. */
Uint16 BURSTSTS:1; // 12 Burst Status Bit (R):
// 0 no burst in progress or pending
// 1 burst in progress or pending
/* Битовое поле RUNSTS, ширина 1 бит; данные RUNSTS. */
Uint16 RUNSTS:1; // 13 Run Status Bit (R):
// 0 channel not running or halted
// 1 channel running
/* Битовое поле OVRFLG, ширина 1 бит; данные OVRFLG. */
Uint16 OVRFLG:1; // 14 Overflow Flag Bit(R)
// 0 no overflow event
// 1 overflow event
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 15 (R=0)
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений CONTROL_REG в одной области памяти. */
union CONTROL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру CONTROL_BITS bit;; порядок полей определяет расположение данных. */
struct CONTROL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// DMACTRL register bit definitions:
/* Описывает структуру DMACTRL_BITS; порядок полей определяет расположение данных. */
struct DMACTRL_BITS { // bits description
/* Битовое поле HARDRESET, ширина 1 бит; данные HARDRESET. */
Uint16 HARDRESET:1; // 0 Hard Reset Bit (R=0/W=1)
/* Битовое поле PRIORITYRESET, ширина 1 бит; данные PRIORITYRESET. */
Uint16 PRIORITYRESET:1; // 1 Priority Reset Bit (R=0/W=1)
/* Битовое поле rsvd1, ширина 14 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:14; // 15:2 (R=0:0)
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений DMACTRL_REG в одной области памяти. */
union DMACTRL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру DMACTRL_BITS bit;; порядок полей определяет расположение данных. */
struct DMACTRL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// DEBUGCTRL register bit definitions:
/* Описывает структуру DEBUGCTRL_BITS; порядок полей определяет расположение данных. */
struct DEBUGCTRL_BITS { // bits description
/* Битовое поле rsvd1, ширина 15 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:15; // 14:0 (R=0:0)
/* Битовое поле FREE, ширина 1 бит; данные FREE. */
Uint16 FREE:1; // 15 Debug Mode Bit (R/W):
// 0 halt after current read-write operation
// 1 continue running
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений DEBUGCTRL_REG в одной области памяти. */
union DEBUGCTRL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру DEBUGCTRL_BITS bit;; порядок полей определяет расположение данных. */
struct DEBUGCTRL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// PRIORITYCTRL1 register bit definitions:
/* Описывает структуру PRIORITYCTRL1_BITS; порядок полей определяет расположение данных. */
struct PRIORITYCTRL1_BITS { // bits description
/* Битовое поле CH1PRIORITY, ширина 1 бит; 1 приоритет. */
Uint16 CH1PRIORITY:1; // 0 Ch1 Priority Bit (R/W):
// 0 same priority as all other channels
// 1 highest priority channel
/* Битовое поле rsvd1, ширина 15 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:15; // 15:1 (R=0:0)
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений PRIORITYCTRL1_REG в одной области памяти. */
union PRIORITYCTRL1_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру PRIORITYCTRL1_BITS bit;; порядок полей определяет расположение данных. */
struct PRIORITYCTRL1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// PRIORITYSTAT register bit definitions:
/* Описывает структуру PRIORITYSTAT_BITS; порядок полей определяет расположение данных. */
struct PRIORITYSTAT_BITS { // bits description
/* Битовое поле ACTIVESTS, ширина 3 бит; данные ACTIVESTS. */
Uint16 ACTIVESTS:3; // 2:0 Active Channel Status Bits (R):
// 0,0,0 no channel active
// 0,0,1 Ch1 channel active
@@ -183,7 +255,9 @@ struct PRIORITYSTAT_BITS { // bits description
// 1,0,0 Ch4 channel active
// 1,0,1 Ch5 channel active
// 1,1,0 Ch6 channel active
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 3 (R=0)
/* Битовое поле ACTIVESTS_SHADOW, ширина 3 бит; данные ACTIVESTS_SHADOW. */
Uint16 ACTIVESTS_SHADOW:3; // 6:4 Active Channel Status Shadow Bits (R):
// 0,0,0 no channel active and interrupted by Ch1
// 0,0,1 cannot occur
@@ -192,102 +266,170 @@ struct PRIORITYSTAT_BITS { // bits description
// 1,0,0 Ch4 was active and interrupted by Ch1
// 1,0,1 Ch5 was active and interrupted by Ch1
// 1,1,0 Ch6 was active and interrupted by Ch1
/* Битовое поле rsvd2, ширина 9 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:9; // 15:7 (R=0:0)
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений PRIORITYSTAT_REG в одной области памяти. */
union PRIORITYSTAT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру PRIORITYSTAT_BITS bit;; порядок полей определяет расположение данных. */
struct PRIORITYSTAT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// Burst Size
/* Описывает структуру BURST_SIZE_BITS; порядок полей определяет расположение данных. */
struct BURST_SIZE_BITS { // bits description
/* Битовое поле BURSTSIZE, ширина 5 бит; данные BURSTSIZE. */
Uint16 BURSTSIZE:5; // 4:0 Burst transfer size
/* Битовое поле rsvd1, ширина 11 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:11; // 15:5 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений BURST_SIZE_REG в одной области памяти. */
union BURST_SIZE_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру BURST_SIZE_BITS bit;; порядок полей определяет расположение данных. */
struct BURST_SIZE_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// Burst Count
/* Описывает структуру BURST_COUNT_BITS; порядок полей определяет расположение данных. */
struct BURST_COUNT_BITS { // bits description
/* Битовое поле BURSTCOUNT, ширина 5 бит; данные BURSTCOUNT. */
Uint16 BURSTCOUNT:5; // 4:0 Burst transfer size
/* Битовое поле rsvd1, ширина 11 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:11; // 15:5 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений BURST_COUNT_REG в одной области памяти. */
union BURST_COUNT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру BURST_COUNT_BITS bit;; порядок полей определяет расположение данных. */
struct BURST_COUNT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// DMA Channel Registers:
/* Описывает структуру CH_REGS; порядок полей определяет расположение данных. */
struct CH_REGS {
/* Объединяет несколько представлений MODE_REG MODE; в одной области памяти. */
union MODE_REG MODE; // Mode Register
/* Объединяет несколько представлений CONTROL_REG CONTROL; в одной области памяти. */
union CONTROL_REG CONTROL; // Control Register
/* Объединяет несколько представлений BURST_SIZE_REG BURST_SIZE; в одной области памяти. */
union BURST_SIZE_REG BURST_SIZE; // Burst Size Register
/* Объединяет несколько представлений BURST_COUNT_REG BURST_COUNT; в одной области памяти. */
union BURST_COUNT_REG BURST_COUNT; // Burst Count Register
/* Продолжает список аргументов, полей или выражение int16 SRC_BURST_STEP;; порядок элементов сохраняется. */
int16 SRC_BURST_STEP; // Source Burst Step Register
/* Продолжает список аргументов, полей или выражение int16 DST_BURST_STEP;; порядок элементов сохраняется. */
int16 DST_BURST_STEP; // Destination Burst Step Register
/* Объявляет TRANSFER_SIZE — TRANSFER размер. */
Uint16 TRANSFER_SIZE; // Transfer Size Register
/* Объявляет TRANSFER_COUNT — TRANSFER число. */
Uint16 TRANSFER_COUNT; // Transfer Count Register
/* Продолжает список аргументов, полей или выражение int16 SRC_TRANSFER_STEP;; порядок элементов сохраняется. */
int16 SRC_TRANSFER_STEP; // Source Transfer Step Register
/* Продолжает список аргументов, полей или выражение int16 DST_TRANSFER_STEP;; порядок элементов сохраняется. */
int16 DST_TRANSFER_STEP; // Destination Transfer Step Register
/* Объявляет SRC_WRAP_SIZE — SRC WRAP размер. */
Uint16 SRC_WRAP_SIZE; // Source Wrap Size Register
/* Объявляет SRC_WRAP_COUNT — SRC WRAP число. */
Uint16 SRC_WRAP_COUNT; // Source Wrap Count Register
/* Продолжает список аргументов, полей или выражение int16 SRC_WRAP_STEP;; порядок элементов сохраняется. */
int16 SRC_WRAP_STEP; // Source Wrap Step Register
/* Объявляет DST_WRAP_SIZE — DST WRAP размер. */
Uint16 DST_WRAP_SIZE; // Destination Wrap Size Register
/* Объявляет DST_WRAP_COUNT — DST WRAP число. */
Uint16 DST_WRAP_COUNT; // Destination Wrap Count Register
/* Продолжает список аргументов, полей или выражение int16 DST_WRAP_STEP;; порядок элементов сохраняется. */
int16 DST_WRAP_STEP; // Destination Wrap Step Register
/* Объявляет SRC_BEG_ADDR_SHADOW — данные SRC_BEG_ADDR_SHADOW. */
Uint32 SRC_BEG_ADDR_SHADOW; // Source Begin Address Shadow Register
/* Объявляет SRC_ADDR_SHADOW — данные SRC_ADDR_SHADOW. */
Uint32 SRC_ADDR_SHADOW; // Source Address Shadow Register
/* Объявляет SRC_BEG_ADDR_ACTIVE — данные SRC_BEG_ADDR_ACTIVE. */
Uint32 SRC_BEG_ADDR_ACTIVE; // Source Begin Address Active Register
/* Объявляет SRC_ADDR_ACTIVE — данные SRC_ADDR_ACTIVE. */
Uint32 SRC_ADDR_ACTIVE; // Source Address Active Register
/* Объявляет DST_BEG_ADDR_SHADOW — данные DST_BEG_ADDR_SHADOW. */
Uint32 DST_BEG_ADDR_SHADOW; // Destination Begin Address Shadow Register
/* Объявляет DST_ADDR_SHADOW — данные DST_ADDR_SHADOW. */
Uint32 DST_ADDR_SHADOW; // Destination Address Shadow Register
/* Объявляет DST_BEG_ADDR_ACTIVE — данные DST_BEG_ADDR_ACTIVE. */
Uint32 DST_BEG_ADDR_ACTIVE; // Destination Begin Address Active Register
/* Объявляет DST_ADDR_ACTIVE — данные DST_ADDR_ACTIVE. */
Uint32 DST_ADDR_ACTIVE; // Destination Address Active Register
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// DMA Registers:
/* Описывает структуру DMA_REGS; порядок полей определяет расположение данных. */
struct DMA_REGS {
/* Объединяет несколько представлений DMACTRL_REG DMACTRL; в одной области памяти. */
union DMACTRL_REG DMACTRL; // DMA Control Register
/* Объединяет несколько представлений DEBUGCTRL_REG DEBUGCTRL; в одной области памяти. */
union DEBUGCTRL_REG DEBUGCTRL; // Debug Control Register
/* Объявляет rsvd0 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd0; // reserved
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1; //
/* Объединяет несколько представлений PRIORITYCTRL1_REG PRIORITYCTRL1; в одной области памяти. */
union PRIORITYCTRL1_REG PRIORITYCTRL1; // Priority Control 1 Register
/* Объявляет rsvd2 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2; //
/* Объединяет несколько представлений PRIORITYSTAT_REG PRIORITYSTAT; в одной области памяти. */
union PRIORITYSTAT_REG PRIORITYSTAT; // Priority Status Register
/* Объявляет rsvd3 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3[25]; //
/* Описывает структуру CH_REGS CH1;; порядок полей определяет расположение данных. */
struct CH_REGS CH1; // DMA Channel 1 Registers
/* Описывает структуру CH_REGS CH2;; порядок полей определяет расположение данных. */
struct CH_REGS CH2; // DMA Channel 2 Registers
/* Описывает структуру CH_REGS CH3;; порядок полей определяет расположение данных. */
struct CH_REGS CH3; // DMA Channel 3 Registers
/* Описывает структуру CH_REGS CH4;; порядок полей определяет расположение данных. */
struct CH_REGS CH4; // DMA Channel 4 Registers
/* Описывает структуру CH_REGS CH5;; порядок полей определяет расположение данных. */
struct CH_REGS CH5; // DMA Channel 5 Registers
/* Описывает структуру CH_REGS CH6;; порядок полей определяет расположение данных. */
struct CH_REGS CH6; // DMA Channel 6 Registers
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// External References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern volatile struct DMA_REGS DmaRegs;; порядок элементов сохраняется. */
extern volatile struct DMA_REGS DmaRegs;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_DMA_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание DevEmu для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/3 $
// Checkin $Date: June 2, 2008 11:12:30 $
//###########################################################################
@@ -11,71 +12,122 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_DEV_EMU_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_DEV_EMU_H
/* Определяет защитный символ или переключатель DSP2833x_DEV_EMU_H для последующей компиляции. */
#define DSP2833x_DEV_EMU_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
//---------------------------------------------------------------------------
// Device Emulation Register Bit Definitions:
//
// Device Configuration Register Bit Definitions
/* Описывает структуру DEVICECNF_BITS; порядок полей определяет расположение данных. */
struct DEVICECNF_BITS { // bits description
/* Битовое поле rsvd1, ширина 3 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:3; // 2:0 reserved
/* Битовое поле VMAPS, ширина 1 бит; данные VMAPS. */
Uint16 VMAPS:1; // 3 VMAP Status
/* Битовое поле rsvd2, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:1; // 4 reserved
/* Битовое поле XRSn, ширина 1 бит; данные XRSn. */
Uint16 XRSn:1; // 5 XRSn Signal Status
/* Битовое поле rsvd3, ширина 10 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3:10; // 15:6
/* Битовое поле rsvd4, ширина 3 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd4:3; // 18:16
/* Битовое поле ENPROT, ширина 1 бит; данные ENPROT. */
Uint16 ENPROT:1; // 19 Enable/Disable pipeline protection
/* Битовое поле MONPRIV, ширина 1 бит; данные MONPRIV. */
Uint16 MONPRIV:1; // 20 MONPRIV enable bit
/* Битовое поле rsvd5, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd5:1; // 21 reserved
/* Битовое поле EMU0SEL, ширина 2 бит; данные EMU0SEL. */
Uint16 EMU0SEL:2; // 23,22 EMU0 Mux select
/* Битовое поле EMU1SEL, ширина 2 бит; данные EMU1SEL. */
Uint16 EMU1SEL:2; // 25,24 EMU1 Mux select
/* Битовое поле MCBSPCON, ширина 1 бит; данные MCBSPCON. */
Uint16 MCBSPCON:1; // 26 McBSP-B to EMU0/EMU1 pins control
/* Битовое поле rsvd6, ширина 5 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd6:5; // 31:27 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений DEVICECNF_REG в одной области памяти. */
union DEVICECNF_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру DEVICECNF_BITS bit;; порядок полей определяет расположение данных. */
struct DEVICECNF_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// CLASSID
/* Описывает структуру CLASSID_BITS; порядок полей определяет расположение данных. */
struct CLASSID_BITS { // bits description
/* Битовое поле CLASSNO, ширина 8 бит; данные CLASSNO. */
Uint16 CLASSNO:8; // 7:0 Class Number
/* Битовое поле PARTTYPE, ширина 8 бит; данные PARTTYPE. */
Uint16 PARTTYPE:8; // 15:8 Part Type
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений CLASSID_REG в одной области памяти. */
union CLASSID_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру CLASSID_BITS bit;; порядок полей определяет расположение данных. */
struct CLASSID_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру DEV_EMU_REGS; порядок полей определяет расположение данных. */
struct DEV_EMU_REGS {
/* Объединяет несколько представлений DEVICECNF_REG DEVICECNF; в одной области памяти. */
union DEVICECNF_REG DEVICECNF; // device configuration
/* Объединяет несколько представлений CLASSID_REG CLASSID; в одной области памяти. */
union CLASSID_REG CLASSID; // Class ID
/* Объявляет REVID — данные REVID. */
Uint16 REVID; // Device ID
/* Объявляет PROTSTART — данные PROTSTART. */
Uint16 PROTSTART; // Write-Read protection start
/* Объявляет PROTRANGE — данные PROTRANGE. */
Uint16 PROTRANGE; // Write-Read protection range
/* Объявляет rsvd2 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2[202];
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// PARTID
/* Описывает структуру PARTID_BITS; порядок полей определяет расположение данных. */
struct PARTID_BITS { // bits description
/* Битовое поле PARTNO, ширина 8 бит; данные PARTNO. */
Uint16 PARTNO:8; // 7:0 Part Number
/* Битовое поле PARTTYPE, ширина 8 бит; данные PARTTYPE. */
Uint16 PARTTYPE:8; // 15:8 Part Type
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений PARTID_REG в одной области памяти. */
union PARTID_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру PARTID_BITS bit;; порядок полей определяет расположение данных. */
struct PARTID_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру PARTID_REGS; порядок полей определяет расположение данных. */
struct PARTID_REGS {
/* Объединяет несколько представлений PARTID_REG PARTID; в одной области памяти. */
union PARTID_REG PARTID; // Part ID
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
@@ -83,13 +135,18 @@ struct PARTID_REGS {
//---------------------------------------------------------------------------
// Device Emulation Register References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern volatile struct DEV_EMU_REGS DevEmuRegs;; порядок элементов сохраняется. */
extern volatile struct DEV_EMU_REGS DevEmuRegs;
/* Продолжает список аргументов, полей или выражение extern volatile struct PARTID_REGS PartIdRegs;; порядок элементов сохраняется. */
extern volatile struct PARTID_REGS PartIdRegs;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_DEV_EMU_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание Device для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/5 $
// Checkin $Date: January 22, 2008 16:55:35 $
//###########################################################################
@@ -11,21 +12,30 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_DEVICE_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_DEVICE_H
/* Определяет защитный символ или переключатель DSP2833x_DEVICE_H для последующей компиляции. */
#define DSP2833x_DEVICE_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Задаёт TARGET = 1; данные TARGET. */
#define TARGET 1
//---------------------------------------------------------------------------
// User To Select Target Device:
/* Задаёт DSP28_28335 = TARGET; данные DSP28_28335. */
#define DSP28_28335 TARGET // Selects '28335/'28235
/* Задаёт DSP28_28334 = 0; данные DSP28_28334. */
#define DSP28_28334 0 // Selects '28334/'28234
/* Задаёт DSP28_28332 = 0; данные DSP28_28332. */
#define DSP28_28332 0 // Selects '28332/'28232
@@ -33,49 +43,90 @@ extern "C" {
// Common CPU Definitions:
//
/* Продолжает список аргументов, полей или выражение extern cregister volatile unsigned int IFR;; порядок элементов сохраняется. */
extern cregister volatile unsigned int IFR;
/* Продолжает список аргументов, полей или выражение extern cregister volatile unsigned int IER;; порядок элементов сохраняется. */
extern cregister volatile unsigned int IER;
/* Задаёт EINT = asm(" clrc INTM"); разрешение маскируемых прерываний ядра. */
#define EINT asm(" clrc INTM")
/* Задаёт DINT = asm(" setc INTM"); запрет маскируемых прерываний ядра. */
#define DINT asm(" setc INTM")
/* Задаёт ERTM = asm(" clrc DBGM"); данные ERTM. */
#define ERTM asm(" clrc DBGM")
/* Задаёт DRTM = asm(" setc DBGM"); данные DRTM. */
#define DRTM asm(" setc DBGM")
/* Задаёт EALLOW = asm(" EALLOW"); разрешение записи в защищённые регистры периферии. */
#define EALLOW asm(" EALLOW")
/* Задаёт EDIS = asm(" EDIS"); закрытие доступа к защищённым регистрам периферии. */
#define EDIS asm(" EDIS")
/* Задаёт ESTOP0 = asm(" ESTOP0"); данные ESTOP0. */
#define ESTOP0 asm(" ESTOP0")
/* Задаёт M_INT1 = 0x0001; данные M_INT1. */
#define M_INT1 0x0001
/* Задаёт M_INT2 = 0x0002; данные M_INT2. */
#define M_INT2 0x0002
/* Задаёт M_INT3 = 0x0004; данные M_INT3. */
#define M_INT3 0x0004
/* Задаёт M_INT4 = 0x0008; данные M_INT4. */
#define M_INT4 0x0008
/* Задаёт M_INT5 = 0x0010; данные M_INT5. */
#define M_INT5 0x0010
/* Задаёт M_INT6 = 0x0020; данные M_INT6. */
#define M_INT6 0x0020
/* Задаёт M_INT7 = 0x0040; данные M_INT7. */
#define M_INT7 0x0040
/* Задаёт M_INT8 = 0x0080; данные M_INT8. */
#define M_INT8 0x0080
/* Задаёт M_INT9 = 0x0100; данные M_INT9. */
#define M_INT9 0x0100
/* Задаёт M_INT10 = 0x0200; данные M_INT10. */
#define M_INT10 0x0200
/* Задаёт M_INT11 = 0x0400; данные M_INT11. */
#define M_INT11 0x0400
/* Задаёт M_INT12 = 0x0800; данные M_INT12. */
#define M_INT12 0x0800
/* Задаёт M_INT13 = 0x1000; данные M_INT13. */
#define M_INT13 0x1000
/* Задаёт M_INT14 = 0x2000; данные M_INT14. */
#define M_INT14 0x2000
/* Задаёт M_DLOG = 0x4000; данные M_DLOG. */
#define M_DLOG 0x4000
/* Задаёт M_RTOS = 0x8000; данные M_RTOS. */
#define M_RTOS 0x8000
/* Задаёт BIT0 = 0x0001; данные BIT0. */
#define BIT0 0x0001
/* Задаёт BIT1 = 0x0002; данные BIT1. */
#define BIT1 0x0002
/* Задаёт BIT2 = 0x0004; данные BIT2. */
#define BIT2 0x0004
/* Задаёт BIT3 = 0x0008; данные BIT3. */
#define BIT3 0x0008
/* Задаёт BIT4 = 0x0010; данные BIT4. */
#define BIT4 0x0010
/* Задаёт BIT5 = 0x0020; данные BIT5. */
#define BIT5 0x0020
/* Задаёт BIT6 = 0x0040; данные BIT6. */
#define BIT6 0x0040
/* Задаёт BIT7 = 0x0080; данные BIT7. */
#define BIT7 0x0080
/* Задаёт BIT8 = 0x0100; данные BIT8. */
#define BIT8 0x0100
/* Задаёт BIT9 = 0x0200; данные BIT9. */
#define BIT9 0x0200
/* Задаёт BIT10 = 0x0400; данные BIT10. */
#define BIT10 0x0400
/* Задаёт BIT11 = 0x0800; данные BIT11. */
#define BIT11 0x0800
/* Задаёт BIT12 = 0x1000; данные BIT12. */
#define BIT12 0x1000
/* Задаёт BIT13 = 0x2000; данные BIT13. */
#define BIT13 0x2000
/* Задаёт BIT14 = 0x4000; данные BIT14. */
#define BIT14 0x4000
/* Задаёт BIT15 = 0x8000; данные BIT15. */
#define BIT15 0x8000
@@ -85,281 +136,517 @@ extern cregister volatile unsigned int IER;
// Definitions For 16-bit and 32-Bit Signed/Unsigned Integers:
//
/* Начинает условие: DSP28_DATA_TYPES ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP28_DATA_TYPES
/* Определяет защитный символ или переключатель DSP28_DATA_TYPES для последующей компиляции. */
#define DSP28_DATA_TYPES
/* Начинает объявление типа, используемого структурами и интерфейсами этого модуля. */
typedef int int16;
/* Начинает объявление типа, используемого структурами и интерфейсами этого модуля. */
typedef long int32;
/* Начинает объявление типа, используемого структурами и интерфейсами этого модуля. */
typedef long long int64;
/* Начинает объявление типа, используемого структурами и интерфейсами этого модуля. */
typedef unsigned int Uint16;
/* Начинает объявление типа, используемого структурами и интерфейсами этого модуля. */
typedef unsigned long Uint32;
/* Начинает объявление типа, используемого структурами и интерфейсами этого модуля. */
typedef unsigned long long Uint64;
/* Начинает объявление типа, используемого структурами и интерфейсами этого модуля. */
typedef float float32;
/* Начинает объявление типа, используемого структурами и интерфейсами этого модуля. */
typedef long double float64;
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Начинает объявление типа, используемого структурами и интерфейсами этого модуля. */
typedef union
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Продолжает список аргументов, полей или выражение struct; порядок элементов сохраняется. */
struct
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Битовое поле bit0, ширина 1 бит; бит 0. */
unsigned int bit0: 1;
/* Битовое поле bit1, ширина 1 бит; бит 1. */
unsigned int bit1: 1;
/* Битовое поле bit2, ширина 1 бит; бит 2. */
unsigned int bit2: 1;
/* Битовое поле bit3, ширина 1 бит; бит 3. */
unsigned int bit3: 1;
/* Битовое поле bit4, ширина 1 бит; бит 4. */
unsigned int bit4: 1;
/* Битовое поле bit5, ширина 1 бит; бит 5. */
unsigned int bit5: 1;
/* Битовое поле bit6, ширина 1 бит; бит 6. */
unsigned int bit6: 1;
/* Битовое поле bit7, ширина 1 бит; бит 7. */
unsigned int bit7: 1;
/* Продолжает список аргументов, полей или выражение } bit;; порядок элементов сохраняется. */
} bit;
/* Продолжает список аргументов, полей или выражение struct; порядок элементов сохраняется. */
struct
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Битовое поле quad_0, ширина 4 бит; данные quad_0. */
unsigned int quad_0 :4;
/* Битовое поле quad_1, ширина 4 бит; данные quad_1. */
unsigned int quad_1 :4;
/* Продолжает список аргументов, полей или выражение } qua;; порядок элементов сохраняется. */
} qua;
/* Продолжает список аргументов, полей или выражение unsigned short all;; порядок элементов сохраняется. */
unsigned short all;
/* Продолжает список аргументов, полей или выражение } BAITE;; порядок элементов сохраняется. */
} BAITE;
/* Начинает объявление типа, используемого структурами и интерфейсами этого модуля. */
typedef union
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Продолжает список аргументов, полей или выражение struct; порядок элементов сохраняется. */
struct
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Битовое поле bit0, ширина 1 бит; бит 0. */
unsigned int bit0: 1;
/* Битовое поле bit1, ширина 1 бит; бит 1. */
unsigned int bit1: 1;
/* Битовое поле bit2, ширина 1 бит; бит 2. */
unsigned int bit2: 1;
/* Битовое поле bit3, ширина 1 бит; бит 3. */
unsigned int bit3: 1;
/* Битовое поле bit4, ширина 1 бит; бит 4. */
unsigned int bit4: 1;
/* Битовое поле bit5, ширина 1 бит; бит 5. */
unsigned int bit5: 1;
/* Битовое поле bit6, ширина 1 бит; бит 6. */
unsigned int bit6: 1;
/* Битовое поле bit7, ширина 1 бит; бит 7. */
unsigned int bit7: 1;
/* Битовое поле bit8, ширина 1 бит; бит 8. */
unsigned int bit8: 1;
/* Битовое поле bit9, ширина 1 бит; бит 9. */
unsigned int bit9: 1;
/* Битовое поле bitA, ширина 1 бит; бит A. */
unsigned int bitA: 1;
/* Битовое поле bitB, ширина 1 бит; бит B. */
unsigned int bitB: 1;
/* Битовое поле bitC, ширина 1 бит; бит C. */
unsigned int bitC: 1;
/* Битовое поле bitD, ширина 1 бит; бит D. */
unsigned int bitD: 1;
/* Битовое поле bitE, ширина 1 бит; бит E. */
unsigned int bitE: 1;
/* Битовое поле bitF, ширина 1 бит; бит F. */
unsigned int bitF: 1;
/* Продолжает список аргументов, полей или выражение } bit;; порядок элементов сохраняется. */
} bit;
/* Продолжает список аргументов, полей или выражение struct; порядок элементов сохраняется. */
struct
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Битовое поле quad_0, ширина 4 бит; данные quad_0. */
unsigned int quad_0 :4;
/* Битовое поле quad_1, ширина 4 бит; данные quad_1. */
unsigned int quad_1 :4;
/* Битовое поле quad_2, ширина 4 бит; данные quad_2. */
unsigned int quad_2 :4;
/* Битовое поле quad_3, ширина 4 бит; данные quad_3. */
unsigned int quad_3 :4;
/* Продолжает список аргументов, полей или выражение } qua;; порядок элементов сохраняется. */
} qua;
/* Продолжает список аргументов, полей или выражение struct; порядок элементов сохраняется. */
struct
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Битовое поле byte_0, ширина 8 бит; данные byte_0. */
unsigned int byte_0 :8;
/* Битовое поле byte_1, ширина 8 бит; данные byte_1. */
unsigned int byte_1 :8;
/* Продолжает список аргументов, полей или выражение } byt;; порядок элементов сохраняется. */
} byt;
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
int all;
/* Продолжает список аргументов, полей или выражение } WORDE;; порядок элементов сохраняется. */
} WORDE;
/* Начинает объявление типа, используемого структурами и интерфейсами этого модуля. */
typedef union
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Продолжает список аргументов, полей или выражение struct; порядок элементов сохраняется. */
struct
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Битовое поле bit00, ширина 1 бит; бит 00. */
unsigned int bit00: 1;
/* Битовое поле bit01, ширина 1 бит; бит 01. */
unsigned int bit01: 1;
/* Битовое поле bit02, ширина 1 бит; бит 02. */
unsigned int bit02: 1;
/* Битовое поле bit03, ширина 1 бит; бит 03. */
unsigned int bit03: 1;
/* Битовое поле bit04, ширина 1 бит; бит 04. */
unsigned int bit04: 1;
/* Битовое поле bit05, ширина 1 бит; бит 05. */
unsigned int bit05: 1;
/* Битовое поле bit06, ширина 1 бит; бит 06. */
unsigned int bit06: 1;
/* Битовое поле bit07, ширина 1 бит; бит 07. */
unsigned int bit07: 1;
/* Битовое поле bit08, ширина 1 бит; бит 08. */
unsigned int bit08: 1;
/* Битовое поле bit09, ширина 1 бит; бит 09. */
unsigned int bit09: 1;
/* Битовое поле bit0A, ширина 1 бит; бит 0 A. */
unsigned int bit0A: 1;
/* Битовое поле bit0B, ширина 1 бит; бит 0 B. */
unsigned int bit0B: 1;
/* Битовое поле bit0C, ширина 1 бит; бит 0 C. */
unsigned int bit0C: 1;
/* Битовое поле bit0D, ширина 1 бит; бит 0 D. */
unsigned int bit0D: 1;
/* Битовое поле bit0E, ширина 1 бит; бит 0 E. */
unsigned int bit0E: 1;
/* Битовое поле bit0F, ширина 1 бит; бит 0 F. */
unsigned int bit0F: 1;
/* Битовое поле bit10, ширина 1 бит; бит 10. */
unsigned int bit10: 1;
/* Битовое поле bit11, ширина 1 бит; бит 11. */
unsigned int bit11: 1;
/* Битовое поле bit12, ширина 1 бит; бит 12. */
unsigned int bit12: 1;
/* Битовое поле bit13, ширина 1 бит; бит 13. */
unsigned int bit13: 1;
/* Битовое поле bit14, ширина 1 бит; бит 14. */
unsigned int bit14: 1;
/* Битовое поле bit15, ширина 1 бит; бит 15. */
unsigned int bit15: 1;
/* Битовое поле bit16, ширина 1 бит; бит 16. */
unsigned int bit16: 1;
/* Битовое поле bit17, ширина 1 бит; бит 17. */
unsigned int bit17: 1;
/* Битовое поле bit18, ширина 1 бит; бит 18. */
unsigned int bit18: 1;
/* Битовое поле bit19, ширина 1 бит; бит 19. */
unsigned int bit19: 1;
/* Битовое поле bit1A, ширина 1 бит; бит 1 A. */
unsigned int bit1A: 1;
/* Битовое поле bit1B, ширина 1 бит; бит 1 B. */
unsigned int bit1B: 1;
/* Битовое поле bit1C, ширина 1 бит; бит 1 C. */
unsigned int bit1C: 1;
/* Битовое поле bit1D, ширина 1 бит; бит 1 D. */
unsigned int bit1D: 1;
/* Битовое поле bit1E, ширина 1 бит; бит 1 E. */
unsigned int bit1E: 1;
/* Битовое поле bit1F, ширина 1 бит; бит 1 F. */
unsigned int bit1F: 1;
/* Продолжает список аргументов, полей или выражение } bit;; порядок элементов сохраняется. */
} bit;
/* Продолжает список аргументов, полей или выражение struct; порядок элементов сохраняется. */
struct
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Битовое поле quad_0, ширина 4 бит; данные quad_0. */
unsigned int quad_0 :4;
/* Битовое поле quad_1, ширина 4 бит; данные quad_1. */
unsigned int quad_1 :4;
/* Битовое поле quad_2, ширина 4 бит; данные quad_2. */
unsigned int quad_2 :4;
/* Битовое поле quad_3, ширина 4 бит; данные quad_3. */
unsigned int quad_3 :4;
/* Битовое поле quad_4, ширина 4 бит; данные quad_4. */
unsigned int quad_4 :4;
/* Битовое поле quad_5, ширина 4 бит; данные quad_5. */
unsigned int quad_5 :4;
/* Битовое поле quad_6, ширина 4 бит; данные quad_6. */
unsigned int quad_6 :4;
/* Битовое поле quad_7, ширина 4 бит; данные quad_7. */
unsigned int quad_7 :4;
/* Продолжает список аргументов, полей или выражение } qua;; порядок элементов сохраняется. */
} qua;
/* Продолжает список аргументов, полей или выражение struct; порядок элементов сохраняется. */
struct
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Битовое поле byte_0, ширина 8 бит; данные byte_0. */
unsigned int byte_0 :8;
/* Битовое поле byte_1, ширина 8 бит; данные byte_1. */
unsigned int byte_1 :8;
/* Битовое поле byte_2, ширина 8 бит; данные byte_2. */
unsigned int byte_2 :8;
/* Битовое поле byte_3, ширина 8 бит; данные byte_3. */
unsigned int byte_3 :8;
/* Продолжает список аргументов, полей или выражение } byt;; порядок элементов сохраняется. */
} byt;
/* Продолжает список аргументов, полей или выражение struct; порядок элементов сохраняется. */
struct
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Битовое поле word_0, ширина 16 бит; слово 0. */
unsigned int word_0 :16;
/* Битовое поле word_1, ширина 16 бит; слово 1. */
unsigned int word_1 :16;
/* Продолжает список аргументов, полей или выражение } wrd;; порядок элементов сохраняется. */
} wrd;
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
unsigned long all;
/* Продолжает список аргументов, полей или выражение } LONGE;; порядок элементов сохраняется. */
} LONGE;
/* Задаёт XCLKIN = 30000000; данные XCLKIN. */
#define XCLKIN 30000000 // external oscillator frequency
/* Объявляет SYSCLKOUT — данные SYSCLKOUT; LSPCLK — данные LSPCLK; HSPCLK — данные HSPCLK. Память определена в другом модуле. */
extern long SYSCLKOUT, LSPCLK, HSPCLK;
/* Задаёт CLKMULT = 2L; данные CLKMULT. */
#define CLKMULT 2L // 1 to 5
/* Задаёт LOWORD = int)( (long int)(l) &0xFFFF)); данные LOWORD. */
#define LOWORD(l)((short int)( (long int)(l) &0xFFFF))
/* Задаёт HIWORD = int)(((long int)(l)>>16)&0xFFFF)); данные HIWORD. */
#define HIWORD(l)((short int)(((long int)(l)>>16)&0xFFFF))
/* Задаёт LOBYTE = (short int)(w) &0xFF)); данные LOBYTE. */
#define LOBYTE(w)((char)( (short int)(w) &0xFF))
/* Задаёт HIBYTE = int)(w)>>8)&0xFF)); данные HIBYTE. */
#define HIBYTE(w)((char)(((short int)(w)>>8)&0xFF))
/* Задаёт BYTE3 = int)(l)>>24)&0xFF)); данные BYTE3. */
#define BYTE3(l)((char)(((long int)(l)>>24)&0xFF))
/* Задаёт BYTE2 = int)(l)>>16)&0xFF)); данные BYTE2. */
#define BYTE2(l)((char)(((long int)(l)>>16)&0xFF))
/* Задаёт BYTE1 = int)(l)>> 8)&0xFF)); данные BYTE1. */
#define BYTE1(l)((char)(((long int)(l)>> 8)&0xFF))
/* Задаёт BYTE0 = (long int)(l) &0xFF)); данные BYTE0. */
#define BYTE0(l)((char)( (long int)(l) &0xFF))
//---------------------------------------------------------------------------
// Include All Peripheral Header Files:
//
/* Подключает "DSP2833x_Adc.h": поставляемое TI описание Adc для семейства C2833x. */
#include "DSP2833x_Adc.h" // ADC Registers
/* Подключает "DSP2833x_DevEmu.h": поставляемое TI описание DevEmu для семейства C2833x. */
#include "DSP2833x_DevEmu.h" // Device Emulation Registers
/* Подключает "DSP2833x_CpuTimers.h": поставляемое TI описание CpuTimers для семейства C2833x. */
#include "DSP2833x_CpuTimers.h" // 32-bit CPU Timers
/* Подключает "DSP2833x_ECan.h": поставляемое TI описание ECan для семейства C2833x. */
#include "DSP2833x_ECan.h" // Enhanced eCAN Registers
/* Подключает "DSP2833x_ECap.h": поставляемое TI описание ECap для семейства C2833x. */
#include "DSP2833x_ECap.h" // Enhanced Capture
/* Подключает "DSP2833x_DMA.h": поставляемое TI описание DMA для семейства C2833x. */
#include "DSP2833x_DMA.h" // DMA Registers
/* Подключает "DSP2833x_EPwm.h": поставляемое TI описание EPwm для семейства C2833x. */
#include "DSP2833x_EPwm.h" // Enhanced PWM
/* Подключает "DSP2833x_EQep.h": поставляемое TI описание EQep для семейства C2833x. */
#include "DSP2833x_EQep.h" // Enhanced QEP
/* Подключает "DSP2833x_Gpio.h": поставляемое TI описание Gpio для семейства C2833x. */
#include "DSP2833x_Gpio.h" // General Purpose I/O Registers
/* Подключает "DSP2833x_I2c.h": поставляемое TI описание I2c для семейства C2833x. */
#include "DSP2833x_I2c.h" // I2C Registers
/* Подключает "DSP2833x_McBSP.h": поставляемое TI описание McBSP для семейства C2833x. */
#include "DSP2833x_McBSP.h" // McBSP
/* Подключает "DSP2833x_PieCtrl.h": поставляемое TI описание PieCtrl для семейства C2833x. */
#include "DSP2833x_PieCtrl.h" // PIE Control Registers
/* Подключает "DSP2833x_PieVect.h": поставляемое TI описание PieVect для семейства C2833x. */
#include "DSP2833x_PieVect.h" // PIE Vector Table
/* Подключает "DSP2833x_Spi.h": поставляемое TI описание Spi для семейства C2833x. */
#include "DSP2833x_Spi.h" // SPI Registers
/* Подключает "DSP2833x_Sci.h": поставляемое TI описание Sci для семейства C2833x. */
#include "DSP2833x_Sci.h" // SCI Registers
/* Подключает "DSP2833x_SysCtrl.h": поставляемое TI описание SysCtrl для семейства C2833x. */
#include "DSP2833x_SysCtrl.h" // System Control/Power Modes
/* Подключает "DSP2833x_XIntrupt.h": поставляемое TI описание XIntrupt для семейства C2833x. */
#include "DSP2833x_XIntrupt.h" // External Interrupts
/* Подключает "DSP2833x_Xintf.h": поставляемое TI описание Xintf для семейства C2833x. */
#include "DSP2833x_Xintf.h" // XINTF External Interface
/* Подключает "DSP2833x_GlobalPrototypes.h": поставляемое TI описание GlobalPrototypes для семейства C2833x. */
#include "DSP2833x_GlobalPrototypes.h" // Prototypes for global functions within the
/* Условие компиляции DSP28_28335: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_28335
/* Задаёт DSP28_EPWM1 = 1; данные DSP28_EPWM1. */
#define DSP28_EPWM1 1
/* Задаёт DSP28_EPWM2 = 1; данные DSP28_EPWM2. */
#define DSP28_EPWM2 1
/* Задаёт DSP28_EPWM3 = 1; данные DSP28_EPWM3. */
#define DSP28_EPWM3 1
/* Задаёт DSP28_EPWM4 = 1; данные DSP28_EPWM4. */
#define DSP28_EPWM4 1
/* Задаёт DSP28_EPWM5 = 1; данные DSP28_EPWM5. */
#define DSP28_EPWM5 1
/* Задаёт DSP28_EPWM6 = 1; данные DSP28_EPWM6. */
#define DSP28_EPWM6 1
/* Задаёт DSP28_ECAP1 = 1; данные DSP28_ECAP1. */
#define DSP28_ECAP1 1
/* Задаёт DSP28_ECAP2 = 1; данные DSP28_ECAP2. */
#define DSP28_ECAP2 1
/* Задаёт DSP28_ECAP3 = 1; данные DSP28_ECAP3. */
#define DSP28_ECAP3 1
/* Задаёт DSP28_ECAP4 = 1; данные DSP28_ECAP4. */
#define DSP28_ECAP4 1
/* Задаёт DSP28_ECAP5 = 1; данные DSP28_ECAP5. */
#define DSP28_ECAP5 1
/* Задаёт DSP28_ECAP6 = 1; данные DSP28_ECAP6. */
#define DSP28_ECAP6 1
/* Задаёт DSP28_EQEP1 = 1; данные DSP28_EQEP1. */
#define DSP28_EQEP1 1
/* Задаёт DSP28_EQEP2 = 1; данные DSP28_EQEP2. */
#define DSP28_EQEP2 1
/* Задаёт DSP28_ECANA = 1; данные DSP28_ECANA. */
#define DSP28_ECANA 1
/* Задаёт DSP28_ECANB = 1; данные DSP28_ECANB. */
#define DSP28_ECANB 1
/* Задаёт DSP28_MCBSPA = 1; данные DSP28_MCBSPA. */
#define DSP28_MCBSPA 1
/* Задаёт DSP28_MCBSPB = 1; данные DSP28_MCBSPB. */
#define DSP28_MCBSPB 1
/* Задаёт DSP28_SPIA = 1; данные DSP28_SPIA. */
#define DSP28_SPIA 1
/* Задаёт DSP28_SCIA = 1; данные DSP28_SCIA. */
#define DSP28_SCIA 1
/* Задаёт DSP28_SCIB = 1; данные DSP28_SCIB. */
#define DSP28_SCIB 1
/* Задаёт DSP28_SCIC = 1; данные DSP28_SCIC. */
#define DSP28_SCIC 1
/* Задаёт DSP28_I2CA = 1; данные DSP28_I2CA. */
#define DSP28_I2CA 1
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end DSP28_28335
/* Условие компиляции DSP28_28334: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_28334
/* Задаёт DSP28_EPWM1 = 1; данные DSP28_EPWM1. */
#define DSP28_EPWM1 1
/* Задаёт DSP28_EPWM2 = 1; данные DSP28_EPWM2. */
#define DSP28_EPWM2 1
/* Задаёт DSP28_EPWM3 = 1; данные DSP28_EPWM3. */
#define DSP28_EPWM3 1
/* Задаёт DSP28_EPWM4 = 1; данные DSP28_EPWM4. */
#define DSP28_EPWM4 1
/* Задаёт DSP28_EPWM5 = 1; данные DSP28_EPWM5. */
#define DSP28_EPWM5 1
/* Задаёт DSP28_EPWM6 = 1; данные DSP28_EPWM6. */
#define DSP28_EPWM6 1
/* Задаёт DSP28_ECAP1 = 1; данные DSP28_ECAP1. */
#define DSP28_ECAP1 1
/* Задаёт DSP28_ECAP2 = 1; данные DSP28_ECAP2. */
#define DSP28_ECAP2 1
/* Задаёт DSP28_ECAP3 = 1; данные DSP28_ECAP3. */
#define DSP28_ECAP3 1
/* Задаёт DSP28_ECAP4 = 1; данные DSP28_ECAP4. */
#define DSP28_ECAP4 1
/* Задаёт DSP28_ECAP5 = 0; данные DSP28_ECAP5. */
#define DSP28_ECAP5 0
/* Задаёт DSP28_ECAP6 = 0; данные DSP28_ECAP6. */
#define DSP28_ECAP6 0
/* Задаёт DSP28_EQEP1 = 1; данные DSP28_EQEP1. */
#define DSP28_EQEP1 1
/* Задаёт DSP28_EQEP2 = 1; данные DSP28_EQEP2. */
#define DSP28_EQEP2 1
/* Задаёт DSP28_ECANA = 1; данные DSP28_ECANA. */
#define DSP28_ECANA 1
/* Задаёт DSP28_ECANB = 1; данные DSP28_ECANB. */
#define DSP28_ECANB 1
/* Задаёт DSP28_MCBSPA = 1; данные DSP28_MCBSPA. */
#define DSP28_MCBSPA 1
/* Задаёт DSP28_MCBSPB = 1; данные DSP28_MCBSPB. */
#define DSP28_MCBSPB 1
/* Задаёт DSP28_SPIA = 1; данные DSP28_SPIA. */
#define DSP28_SPIA 1
/* Задаёт DSP28_SCIA = 1; данные DSP28_SCIA. */
#define DSP28_SCIA 1
/* Задаёт DSP28_SCIB = 1; данные DSP28_SCIB. */
#define DSP28_SCIB 1
/* Задаёт DSP28_SCIC = 1; данные DSP28_SCIC. */
#define DSP28_SCIC 1
/* Задаёт DSP28_I2CA = 1; данные DSP28_I2CA. */
#define DSP28_I2CA 1
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end DSP28_28334
/* Условие компиляции DSP28_28332: выбранный блок включается в текущий вариант прошивки. */
#if DSP28_28332
/* Задаёт DSP28_EPWM1 = 1; данные DSP28_EPWM1. */
#define DSP28_EPWM1 1
/* Задаёт DSP28_EPWM2 = 1; данные DSP28_EPWM2. */
#define DSP28_EPWM2 1
/* Задаёт DSP28_EPWM3 = 1; данные DSP28_EPWM3. */
#define DSP28_EPWM3 1
/* Задаёт DSP28_EPWM4 = 1; данные DSP28_EPWM4. */
#define DSP28_EPWM4 1
/* Задаёт DSP28_EPWM5 = 1; данные DSP28_EPWM5. */
#define DSP28_EPWM5 1
/* Задаёт DSP28_EPWM6 = 1; данные DSP28_EPWM6. */
#define DSP28_EPWM6 1
/* Задаёт DSP28_ECAP1 = 1; данные DSP28_ECAP1. */
#define DSP28_ECAP1 1
/* Задаёт DSP28_ECAP2 = 1; данные DSP28_ECAP2. */
#define DSP28_ECAP2 1
/* Задаёт DSP28_ECAP3 = 1; данные DSP28_ECAP3. */
#define DSP28_ECAP3 1
/* Задаёт DSP28_ECAP4 = 1; данные DSP28_ECAP4. */
#define DSP28_ECAP4 1
/* Задаёт DSP28_ECAP5 = 0; данные DSP28_ECAP5. */
#define DSP28_ECAP5 0
/* Задаёт DSP28_ECAP6 = 0; данные DSP28_ECAP6. */
#define DSP28_ECAP6 0
/* Задаёт DSP28_EQEP1 = 1; данные DSP28_EQEP1. */
#define DSP28_EQEP1 1
/* Задаёт DSP28_EQEP2 = 1; данные DSP28_EQEP2. */
#define DSP28_EQEP2 1
/* Задаёт DSP28_ECANA = 1; данные DSP28_ECANA. */
#define DSP28_ECANA 1
/* Задаёт DSP28_ECANB = 1; данные DSP28_ECANB. */
#define DSP28_ECANB 1
/* Задаёт DSP28_MCBSPA = 1; данные DSP28_MCBSPA. */
#define DSP28_MCBSPA 1
/* Задаёт DSP28_MCBSPB = 0; данные DSP28_MCBSPB. */
#define DSP28_MCBSPB 0
/* Задаёт DSP28_SPIA = 1; данные DSP28_SPIA. */
#define DSP28_SPIA 1
/* Задаёт DSP28_SCIA = 1; данные DSP28_SCIA. */
#define DSP28_SCIA 1
/* Задаёт DSP28_SCIB = 1; данные DSP28_SCIB. */
#define DSP28_SCIB 1
/* Задаёт DSP28_SCIC = 0; данные DSP28_SCIC. */
#define DSP28_SCIC 0
/* Задаёт DSP28_I2CA = 1; данные DSP28_I2CA. */
#define DSP28_I2CA 1
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end DSP28_28332
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_DEVICE_H definition

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание ECan для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/2 $
// Checkin $Date: May 7, 2007 16:05:39 $
//###########################################################################
@@ -11,12 +12,17 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_ECAN_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_ECAN_H
/* Определяет защитный символ или переключатель DSP2833x_ECAN_H для последующей компиляции. */
#define DSP2833x_ECAN_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
@@ -25,854 +31,1577 @@ extern "C" {
/* ----------------------------------------------------*/
/* eCAN Mailbox enable register (CANME) bit definitions */
/* Описывает структуру CANME_BITS; порядок полей определяет расположение данных. */
struct CANME_BITS { // bit description
/* Битовое поле ME0, ширина 1 бит; данные ME0. */
Uint16 ME0:1; // 0 Enable Mailbox 0
/* Битовое поле ME1, ширина 1 бит; данные ME1. */
Uint16 ME1:1; // 1 Enable Mailbox 1
/* Битовое поле ME2, ширина 1 бит; данные ME2. */
Uint16 ME2:1; // 2 Enable Mailbox 2
/* Битовое поле ME3, ширина 1 бит; данные ME3. */
Uint16 ME3:1; // 3 Enable Mailbox 3
/* Битовое поле ME4, ширина 1 бит; данные ME4. */
Uint16 ME4:1; // 4 Enable Mailbox 4
/* Битовое поле ME5, ширина 1 бит; данные ME5. */
Uint16 ME5:1; // 5 Enable Mailbox 5
/* Битовое поле ME6, ширина 1 бит; данные ME6. */
Uint16 ME6:1; // 6 Enable Mailbox 6
/* Битовое поле ME7, ширина 1 бит; данные ME7. */
Uint16 ME7:1; // 7 Enable Mailbox 7
/* Битовое поле ME8, ширина 1 бит; данные ME8. */
Uint16 ME8:1; // 8 Enable Mailbox 8
/* Битовое поле ME9, ширина 1 бит; данные ME9. */
Uint16 ME9:1; // 9 Enable Mailbox 9
/* Битовое поле ME10, ширина 1 бит; данные ME10. */
Uint16 ME10:1; // 10 Enable Mailbox 10
/* Битовое поле ME11, ширина 1 бит; данные ME11. */
Uint16 ME11:1; // 11 Enable Mailbox 11
/* Битовое поле ME12, ширина 1 бит; данные ME12. */
Uint16 ME12:1; // 12 Enable Mailbox 12
/* Битовое поле ME13, ширина 1 бит; данные ME13. */
Uint16 ME13:1; // 13 Enable Mailbox 13
/* Битовое поле ME14, ширина 1 бит; данные ME14. */
Uint16 ME14:1; // 14 Enable Mailbox 14
/* Битовое поле ME15, ширина 1 бит; данные ME15. */
Uint16 ME15:1; // 15 Enable Mailbox 15
/* Битовое поле ME16, ширина 1 бит; данные ME16. */
Uint16 ME16:1; // 16 Enable Mailbox 16
/* Битовое поле ME17, ширина 1 бит; данные ME17. */
Uint16 ME17:1; // 17 Enable Mailbox 17
/* Битовое поле ME18, ширина 1 бит; данные ME18. */
Uint16 ME18:1; // 18 Enable Mailbox 18
/* Битовое поле ME19, ширина 1 бит; данные ME19. */
Uint16 ME19:1; // 19 Enable Mailbox 19
/* Битовое поле ME20, ширина 1 бит; данные ME20. */
Uint16 ME20:1; // 20 Enable Mailbox 20
/* Битовое поле ME21, ширина 1 бит; данные ME21. */
Uint16 ME21:1; // 21 Enable Mailbox 21
/* Битовое поле ME22, ширина 1 бит; данные ME22. */
Uint16 ME22:1; // 22 Enable Mailbox 22
/* Битовое поле ME23, ширина 1 бит; данные ME23. */
Uint16 ME23:1; // 23 Enable Mailbox 23
/* Битовое поле ME24, ширина 1 бит; данные ME24. */
Uint16 ME24:1; // 24 Enable Mailbox 24
/* Битовое поле ME25, ширина 1 бит; данные ME25. */
Uint16 ME25:1; // 25 Enable Mailbox 25
/* Битовое поле ME26, ширина 1 бит; данные ME26. */
Uint16 ME26:1; // 26 Enable Mailbox 26
/* Битовое поле ME27, ширина 1 бит; данные ME27. */
Uint16 ME27:1; // 27 Enable Mailbox 27
/* Битовое поле ME28, ширина 1 бит; данные ME28. */
Uint16 ME28:1; // 28 Enable Mailbox 28
/* Битовое поле ME29, ширина 1 бит; данные ME29. */
Uint16 ME29:1; // 29 Enable Mailbox 29
/* Битовое поле ME30, ширина 1 бит; данные ME30. */
Uint16 ME30:1; // 30 Enable Mailbox 30
/* Битовое поле ME31, ширина 1 бит; данные ME31. */
Uint16 ME31:1; // 31 Enable Mailbox 31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANME_REG в одной области памяти. */
union CANME_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANME_BITS bit;; порядок полей определяет расположение данных. */
struct CANME_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Mailbox direction register (CANMD) bit definitions */
/* Описывает структуру CANMD_BITS; порядок полей определяет расположение данных. */
struct CANMD_BITS { // bit description
/* Битовое поле MD0, ширина 1 бит; данные MD0. */
Uint16 MD0:1; // 0 0 -> Tx 1 -> Rx
/* Битовое поле MD1, ширина 1 бит; данные MD1. */
Uint16 MD1:1; // 1 0 -> Tx 1 -> Rx
/* Битовое поле MD2, ширина 1 бит; данные MD2. */
Uint16 MD2:1; // 2 0 -> Tx 1 -> Rx
/* Битовое поле MD3, ширина 1 бит; данные MD3. */
Uint16 MD3:1; // 3 0 -> Tx 1 -> Rx
/* Битовое поле MD4, ширина 1 бит; данные MD4. */
Uint16 MD4:1; // 4 0 -> Tx 1 -> Rx
/* Битовое поле MD5, ширина 1 бит; данные MD5. */
Uint16 MD5:1; // 5 0 -> Tx 1 -> Rx
/* Битовое поле MD6, ширина 1 бит; данные MD6. */
Uint16 MD6:1; // 6 0 -> Tx 1 -> Rx
/* Битовое поле MD7, ширина 1 бит; данные MD7. */
Uint16 MD7:1; // 7 0 -> Tx 1 -> Rx
/* Битовое поле MD8, ширина 1 бит; данные MD8. */
Uint16 MD8:1; // 8 0 -> Tx 1 -> Rx
/* Битовое поле MD9, ширина 1 бит; данные MD9. */
Uint16 MD9:1; // 9 0 -> Tx 1 -> Rx
/* Битовое поле MD10, ширина 1 бит; данные MD10. */
Uint16 MD10:1; // 10 0 -> Tx 1 -> Rx
/* Битовое поле MD11, ширина 1 бит; данные MD11. */
Uint16 MD11:1; // 11 0 -> Tx 1 -> Rx
/* Битовое поле MD12, ширина 1 бит; данные MD12. */
Uint16 MD12:1; // 12 0 -> Tx 1 -> Rx
/* Битовое поле MD13, ширина 1 бит; данные MD13. */
Uint16 MD13:1; // 13 0 -> Tx 1 -> Rx
/* Битовое поле MD14, ширина 1 бит; данные MD14. */
Uint16 MD14:1; // 14 0 -> Tx 1 -> Rx
/* Битовое поле MD15, ширина 1 бит; данные MD15. */
Uint16 MD15:1; // 15 0 -> Tx 1 -> Rx
/* Битовое поле MD16, ширина 1 бит; данные MD16. */
Uint16 MD16:1; // 16 0 -> Tx 1 -> Rx
/* Битовое поле MD17, ширина 1 бит; данные MD17. */
Uint16 MD17:1; // 17 0 -> Tx 1 -> Rx
/* Битовое поле MD18, ширина 1 бит; данные MD18. */
Uint16 MD18:1; // 18 0 -> Tx 1 -> Rx
/* Битовое поле MD19, ширина 1 бит; данные MD19. */
Uint16 MD19:1; // 19 0 -> Tx 1 -> Rx
/* Битовое поле MD20, ширина 1 бит; данные MD20. */
Uint16 MD20:1; // 20 0 -> Tx 1 -> Rx
/* Битовое поле MD21, ширина 1 бит; данные MD21. */
Uint16 MD21:1; // 21 0 -> Tx 1 -> Rx
/* Битовое поле MD22, ширина 1 бит; данные MD22. */
Uint16 MD22:1; // 22 0 -> Tx 1 -> Rx
/* Битовое поле MD23, ширина 1 бит; данные MD23. */
Uint16 MD23:1; // 23 0 -> Tx 1 -> Rx
/* Битовое поле MD24, ширина 1 бит; данные MD24. */
Uint16 MD24:1; // 24 0 -> Tx 1 -> Rx
/* Битовое поле MD25, ширина 1 бит; данные MD25. */
Uint16 MD25:1; // 25 0 -> Tx 1 -> Rx
/* Битовое поле MD26, ширина 1 бит; данные MD26. */
Uint16 MD26:1; // 26 0 -> Tx 1 -> Rx
/* Битовое поле MD27, ширина 1 бит; данные MD27. */
Uint16 MD27:1; // 27 0 -> Tx 1 -> Rx
/* Битовое поле MD28, ширина 1 бит; данные MD28. */
Uint16 MD28:1; // 28 0 -> Tx 1 -> Rx
/* Битовое поле MD29, ширина 1 бит; данные MD29. */
Uint16 MD29:1; // 29 0 -> Tx 1 -> Rx
/* Битовое поле MD30, ширина 1 бит; данные MD30. */
Uint16 MD30:1; // 30 0 -> Tx 1 -> Rx
/* Битовое поле MD31, ширина 1 бит; данные MD31. */
Uint16 MD31:1; // 31 0 -> Tx 1 -> Rx
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANMD_REG в одной области памяти. */
union CANMD_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANMD_BITS bit;; порядок полей определяет расположение данных. */
struct CANMD_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Transmit Request Set register (CANTRS) bit definitions */
/* Описывает структуру CANTRS_BITS; порядок полей определяет расположение данных. */
struct CANTRS_BITS { // bit description
/* Битовое поле TRS0, ширина 1 бит; данные TRS0. */
Uint16 TRS0:1; // 0 TRS for Mailbox 0
/* Битовое поле TRS1, ширина 1 бит; данные TRS1. */
Uint16 TRS1:1; // 1 TRS for Mailbox 1
/* Битовое поле TRS2, ширина 1 бит; данные TRS2. */
Uint16 TRS2:1; // 2 TRS for Mailbox 2
/* Битовое поле TRS3, ширина 1 бит; данные TRS3. */
Uint16 TRS3:1; // 3 TRS for Mailbox 3
/* Битовое поле TRS4, ширина 1 бит; данные TRS4. */
Uint16 TRS4:1; // 4 TRS for Mailbox 4
/* Битовое поле TRS5, ширина 1 бит; данные TRS5. */
Uint16 TRS5:1; // 5 TRS for Mailbox 5
/* Битовое поле TRS6, ширина 1 бит; данные TRS6. */
Uint16 TRS6:1; // 6 TRS for Mailbox 6
/* Битовое поле TRS7, ширина 1 бит; данные TRS7. */
Uint16 TRS7:1; // 7 TRS for Mailbox 7
/* Битовое поле TRS8, ширина 1 бит; данные TRS8. */
Uint16 TRS8:1; // 8 TRS for Mailbox 8
/* Битовое поле TRS9, ширина 1 бит; данные TRS9. */
Uint16 TRS9:1; // 9 TRS for Mailbox 9
/* Битовое поле TRS10, ширина 1 бит; данные TRS10. */
Uint16 TRS10:1; // 10 TRS for Mailbox 10
/* Битовое поле TRS11, ширина 1 бит; данные TRS11. */
Uint16 TRS11:1; // 11 TRS for Mailbox 11
/* Битовое поле TRS12, ширина 1 бит; данные TRS12. */
Uint16 TRS12:1; // 12 TRS for Mailbox 12
/* Битовое поле TRS13, ширина 1 бит; данные TRS13. */
Uint16 TRS13:1; // 13 TRS for Mailbox 13
/* Битовое поле TRS14, ширина 1 бит; данные TRS14. */
Uint16 TRS14:1; // 14 TRS for Mailbox 14
/* Битовое поле TRS15, ширина 1 бит; данные TRS15. */
Uint16 TRS15:1; // 15 TRS for Mailbox 15
/* Битовое поле TRS16, ширина 1 бит; данные TRS16. */
Uint16 TRS16:1; // 16 TRS for Mailbox 16
/* Битовое поле TRS17, ширина 1 бит; данные TRS17. */
Uint16 TRS17:1; // 17 TRS for Mailbox 17
/* Битовое поле TRS18, ширина 1 бит; данные TRS18. */
Uint16 TRS18:1; // 18 TRS for Mailbox 18
/* Битовое поле TRS19, ширина 1 бит; данные TRS19. */
Uint16 TRS19:1; // 19 TRS for Mailbox 19
/* Битовое поле TRS20, ширина 1 бит; данные TRS20. */
Uint16 TRS20:1; // 20 TRS for Mailbox 20
/* Битовое поле TRS21, ширина 1 бит; данные TRS21. */
Uint16 TRS21:1; // 21 TRS for Mailbox 21
/* Битовое поле TRS22, ширина 1 бит; данные TRS22. */
Uint16 TRS22:1; // 22 TRS for Mailbox 22
/* Битовое поле TRS23, ширина 1 бит; данные TRS23. */
Uint16 TRS23:1; // 23 TRS for Mailbox 23
/* Битовое поле TRS24, ширина 1 бит; данные TRS24. */
Uint16 TRS24:1; // 24 TRS for Mailbox 24
/* Битовое поле TRS25, ширина 1 бит; данные TRS25. */
Uint16 TRS25:1; // 25 TRS for Mailbox 25
/* Битовое поле TRS26, ширина 1 бит; данные TRS26. */
Uint16 TRS26:1; // 26 TRS for Mailbox 26
/* Битовое поле TRS27, ширина 1 бит; данные TRS27. */
Uint16 TRS27:1; // 27 TRS for Mailbox 27
/* Битовое поле TRS28, ширина 1 бит; данные TRS28. */
Uint16 TRS28:1; // 28 TRS for Mailbox 28
/* Битовое поле TRS29, ширина 1 бит; данные TRS29. */
Uint16 TRS29:1; // 29 TRS for Mailbox 29
/* Битовое поле TRS30, ширина 1 бит; данные TRS30. */
Uint16 TRS30:1; // 30 TRS for Mailbox 30
/* Битовое поле TRS31, ширина 1 бит; данные TRS31. */
Uint16 TRS31:1; // 31 TRS for Mailbox 31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANTRS_REG в одной области памяти. */
union CANTRS_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANTRS_BITS bit;; порядок полей определяет расположение данных. */
struct CANTRS_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Transmit Request Reset register (CANTRR) bit definitions */
/* Описывает структуру CANTRR_BITS; порядок полей определяет расположение данных. */
struct CANTRR_BITS { // bit description
/* Битовое поле TRR0, ширина 1 бит; данные TRR0. */
Uint16 TRR0:1; // 0 TRR for Mailbox 0
/* Битовое поле TRR1, ширина 1 бит; данные TRR1. */
Uint16 TRR1:1; // 1 TRR for Mailbox 1
/* Битовое поле TRR2, ширина 1 бит; данные TRR2. */
Uint16 TRR2:1; // 2 TRR for Mailbox 2
/* Битовое поле TRR3, ширина 1 бит; данные TRR3. */
Uint16 TRR3:1; // 3 TRR for Mailbox 3
/* Битовое поле TRR4, ширина 1 бит; данные TRR4. */
Uint16 TRR4:1; // 4 TRR for Mailbox 4
/* Битовое поле TRR5, ширина 1 бит; данные TRR5. */
Uint16 TRR5:1; // 5 TRR for Mailbox 5
/* Битовое поле TRR6, ширина 1 бит; данные TRR6. */
Uint16 TRR6:1; // 6 TRR for Mailbox 6
/* Битовое поле TRR7, ширина 1 бит; данные TRR7. */
Uint16 TRR7:1; // 7 TRR for Mailbox 7
/* Битовое поле TRR8, ширина 1 бит; данные TRR8. */
Uint16 TRR8:1; // 8 TRR for Mailbox 8
/* Битовое поле TRR9, ширина 1 бит; данные TRR9. */
Uint16 TRR9:1; // 9 TRR for Mailbox 9
/* Битовое поле TRR10, ширина 1 бит; данные TRR10. */
Uint16 TRR10:1; // 10 TRR for Mailbox 10
/* Битовое поле TRR11, ширина 1 бит; данные TRR11. */
Uint16 TRR11:1; // 11 TRR for Mailbox 11
/* Битовое поле TRR12, ширина 1 бит; данные TRR12. */
Uint16 TRR12:1; // 12 TRR for Mailbox 12
/* Битовое поле TRR13, ширина 1 бит; данные TRR13. */
Uint16 TRR13:1; // 13 TRR for Mailbox 13
/* Битовое поле TRR14, ширина 1 бит; данные TRR14. */
Uint16 TRR14:1; // 14 TRR for Mailbox 14
/* Битовое поле TRR15, ширина 1 бит; данные TRR15. */
Uint16 TRR15:1; // 15 TRR for Mailbox 15
/* Битовое поле TRR16, ширина 1 бит; данные TRR16. */
Uint16 TRR16:1; // 16 TRR for Mailbox 16
/* Битовое поле TRR17, ширина 1 бит; данные TRR17. */
Uint16 TRR17:1; // 17 TRR for Mailbox 17
/* Битовое поле TRR18, ширина 1 бит; данные TRR18. */
Uint16 TRR18:1; // 18 TRR for Mailbox 18
/* Битовое поле TRR19, ширина 1 бит; данные TRR19. */
Uint16 TRR19:1; // 19 TRR for Mailbox 19
/* Битовое поле TRR20, ширина 1 бит; данные TRR20. */
Uint16 TRR20:1; // 20 TRR for Mailbox 20
/* Битовое поле TRR21, ширина 1 бит; данные TRR21. */
Uint16 TRR21:1; // 21 TRR for Mailbox 21
/* Битовое поле TRR22, ширина 1 бит; данные TRR22. */
Uint16 TRR22:1; // 22 TRR for Mailbox 22
/* Битовое поле TRR23, ширина 1 бит; данные TRR23. */
Uint16 TRR23:1; // 23 TRR for Mailbox 23
/* Битовое поле TRR24, ширина 1 бит; данные TRR24. */
Uint16 TRR24:1; // 24 TRR for Mailbox 24
/* Битовое поле TRR25, ширина 1 бит; данные TRR25. */
Uint16 TRR25:1; // 25 TRR for Mailbox 25
/* Битовое поле TRR26, ширина 1 бит; данные TRR26. */
Uint16 TRR26:1; // 26 TRR for Mailbox 26
/* Битовое поле TRR27, ширина 1 бит; данные TRR27. */
Uint16 TRR27:1; // 27 TRR for Mailbox 27
/* Битовое поле TRR28, ширина 1 бит; данные TRR28. */
Uint16 TRR28:1; // 28 TRR for Mailbox 28
/* Битовое поле TRR29, ширина 1 бит; данные TRR29. */
Uint16 TRR29:1; // 29 TRR for Mailbox 29
/* Битовое поле TRR30, ширина 1 бит; данные TRR30. */
Uint16 TRR30:1; // 30 TRR for Mailbox 30
/* Битовое поле TRR31, ширина 1 бит; данные TRR31. */
Uint16 TRR31:1; // 31 TRR for Mailbox 31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANTRR_REG в одной области памяти. */
union CANTRR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANTRR_BITS bit;; порядок полей определяет расположение данных. */
struct CANTRR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Transmit Acknowledge register (CANTA) bit definitions */
/* Описывает структуру CANTA_BITS; порядок полей определяет расположение данных. */
struct CANTA_BITS { // bit description
/* Битовое поле TA0, ширина 1 бит; данные TA0. */
Uint16 TA0:1; // 0 TA for Mailbox 0
/* Битовое поле TA1, ширина 1 бит; данные TA1. */
Uint16 TA1:1; // 1 TA for Mailbox 1
/* Битовое поле TA2, ширина 1 бит; данные TA2. */
Uint16 TA2:1; // 2 TA for Mailbox 2
/* Битовое поле TA3, ширина 1 бит; данные TA3. */
Uint16 TA3:1; // 3 TA for Mailbox 3
/* Битовое поле TA4, ширина 1 бит; данные TA4. */
Uint16 TA4:1; // 4 TA for Mailbox 4
/* Битовое поле TA5, ширина 1 бит; данные TA5. */
Uint16 TA5:1; // 5 TA for Mailbox 5
/* Битовое поле TA6, ширина 1 бит; данные TA6. */
Uint16 TA6:1; // 6 TA for Mailbox 6
/* Битовое поле TA7, ширина 1 бит; данные TA7. */
Uint16 TA7:1; // 7 TA for Mailbox 7
/* Битовое поле TA8, ширина 1 бит; данные TA8. */
Uint16 TA8:1; // 8 TA for Mailbox 8
/* Битовое поле TA9, ширина 1 бит; данные TA9. */
Uint16 TA9:1; // 9 TA for Mailbox 9
/* Битовое поле TA10, ширина 1 бит; данные TA10. */
Uint16 TA10:1; // 10 TA for Mailbox 10
/* Битовое поле TA11, ширина 1 бит; данные TA11. */
Uint16 TA11:1; // 11 TA for Mailbox 11
/* Битовое поле TA12, ширина 1 бит; данные TA12. */
Uint16 TA12:1; // 12 TA for Mailbox 12
/* Битовое поле TA13, ширина 1 бит; данные TA13. */
Uint16 TA13:1; // 13 TA for Mailbox 13
/* Битовое поле TA14, ширина 1 бит; данные TA14. */
Uint16 TA14:1; // 14 TA for Mailbox 14
/* Битовое поле TA15, ширина 1 бит; данные TA15. */
Uint16 TA15:1; // 15 TA for Mailbox 15
/* Битовое поле TA16, ширина 1 бит; данные TA16. */
Uint16 TA16:1; // 16 TA for Mailbox 16
/* Битовое поле TA17, ширина 1 бит; данные TA17. */
Uint16 TA17:1; // 17 TA for Mailbox 17
/* Битовое поле TA18, ширина 1 бит; данные TA18. */
Uint16 TA18:1; // 18 TA for Mailbox 18
/* Битовое поле TA19, ширина 1 бит; данные TA19. */
Uint16 TA19:1; // 19 TA for Mailbox 19
/* Битовое поле TA20, ширина 1 бит; данные TA20. */
Uint16 TA20:1; // 20 TA for Mailbox 20
/* Битовое поле TA21, ширина 1 бит; данные TA21. */
Uint16 TA21:1; // 21 TA for Mailbox 21
/* Битовое поле TA22, ширина 1 бит; данные TA22. */
Uint16 TA22:1; // 22 TA for Mailbox 22
/* Битовое поле TA23, ширина 1 бит; данные TA23. */
Uint16 TA23:1; // 23 TA for Mailbox 23
/* Битовое поле TA24, ширина 1 бит; данные TA24. */
Uint16 TA24:1; // 24 TA for Mailbox 24
/* Битовое поле TA25, ширина 1 бит; данные TA25. */
Uint16 TA25:1; // 25 TA for Mailbox 25
/* Битовое поле TA26, ширина 1 бит; данные TA26. */
Uint16 TA26:1; // 26 TA for Mailbox 26
/* Битовое поле TA27, ширина 1 бит; данные TA27. */
Uint16 TA27:1; // 27 TA for Mailbox 27
/* Битовое поле TA28, ширина 1 бит; данные TA28. */
Uint16 TA28:1; // 28 TA for Mailbox 28
/* Битовое поле TA29, ширина 1 бит; данные TA29. */
Uint16 TA29:1; // 29 TA for Mailbox 29
/* Битовое поле TA30, ширина 1 бит; данные TA30. */
Uint16 TA30:1; // 30 TA for Mailbox 30
/* Битовое поле TA31, ширина 1 бит; данные TA31. */
Uint16 TA31:1; // 31 TA for Mailbox 31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANTA_REG в одной области памяти. */
union CANTA_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANTA_BITS bit;; порядок полей определяет расположение данных. */
struct CANTA_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Transmit Abort Acknowledge register (CANAA) bit definitions */
/* Описывает структуру CANAA_BITS; порядок полей определяет расположение данных. */
struct CANAA_BITS { // bit description
/* Битовое поле AA0, ширина 1 бит; данные AA0. */
Uint16 AA0:1; // 0 AA for Mailbox 0
/* Битовое поле AA1, ширина 1 бит; данные AA1. */
Uint16 AA1:1; // 1 AA for Mailbox 1
/* Битовое поле AA2, ширина 1 бит; данные AA2. */
Uint16 AA2:1; // 2 AA for Mailbox 2
/* Битовое поле AA3, ширина 1 бит; данные AA3. */
Uint16 AA3:1; // 3 AA for Mailbox 3
/* Битовое поле AA4, ширина 1 бит; данные AA4. */
Uint16 AA4:1; // 4 AA for Mailbox 4
/* Битовое поле AA5, ширина 1 бит; данные AA5. */
Uint16 AA5:1; // 5 AA for Mailbox 5
/* Битовое поле AA6, ширина 1 бит; данные AA6. */
Uint16 AA6:1; // 6 AA for Mailbox 6
/* Битовое поле AA7, ширина 1 бит; данные AA7. */
Uint16 AA7:1; // 7 AA for Mailbox 7
/* Битовое поле AA8, ширина 1 бит; данные AA8. */
Uint16 AA8:1; // 8 AA for Mailbox 8
/* Битовое поле AA9, ширина 1 бит; данные AA9. */
Uint16 AA9:1; // 9 AA for Mailbox 9
/* Битовое поле AA10, ширина 1 бит; данные AA10. */
Uint16 AA10:1; // 10 AA for Mailbox 10
/* Битовое поле AA11, ширина 1 бит; данные AA11. */
Uint16 AA11:1; // 11 AA for Mailbox 11
/* Битовое поле AA12, ширина 1 бит; данные AA12. */
Uint16 AA12:1; // 12 AA for Mailbox 12
/* Битовое поле AA13, ширина 1 бит; данные AA13. */
Uint16 AA13:1; // 13 AA for Mailbox 13
/* Битовое поле AA14, ширина 1 бит; данные AA14. */
Uint16 AA14:1; // 14 AA for Mailbox 14
/* Битовое поле AA15, ширина 1 бит; данные AA15. */
Uint16 AA15:1; // 15 AA for Mailbox 15
/* Битовое поле AA16, ширина 1 бит; данные AA16. */
Uint16 AA16:1; // 16 AA for Mailbox 16
/* Битовое поле AA17, ширина 1 бит; данные AA17. */
Uint16 AA17:1; // 17 AA for Mailbox 17
/* Битовое поле AA18, ширина 1 бит; данные AA18. */
Uint16 AA18:1; // 18 AA for Mailbox 18
/* Битовое поле AA19, ширина 1 бит; данные AA19. */
Uint16 AA19:1; // 19 AA for Mailbox 19
/* Битовое поле AA20, ширина 1 бит; данные AA20. */
Uint16 AA20:1; // 20 AA for Mailbox 20
/* Битовое поле AA21, ширина 1 бит; данные AA21. */
Uint16 AA21:1; // 21 AA for Mailbox 21
/* Битовое поле AA22, ширина 1 бит; данные AA22. */
Uint16 AA22:1; // 22 AA for Mailbox 22
/* Битовое поле AA23, ширина 1 бит; данные AA23. */
Uint16 AA23:1; // 23 AA for Mailbox 23
/* Битовое поле AA24, ширина 1 бит; данные AA24. */
Uint16 AA24:1; // 24 AA for Mailbox 24
/* Битовое поле AA25, ширина 1 бит; данные AA25. */
Uint16 AA25:1; // 25 AA for Mailbox 25
/* Битовое поле AA26, ширина 1 бит; данные AA26. */
Uint16 AA26:1; // 26 AA for Mailbox 26
/* Битовое поле AA27, ширина 1 бит; данные AA27. */
Uint16 AA27:1; // 27 AA for Mailbox 27
/* Битовое поле AA28, ширина 1 бит; данные AA28. */
Uint16 AA28:1; // 28 AA for Mailbox 28
/* Битовое поле AA29, ширина 1 бит; данные AA29. */
Uint16 AA29:1; // 29 AA for Mailbox 29
/* Битовое поле AA30, ширина 1 бит; данные AA30. */
Uint16 AA30:1; // 30 AA for Mailbox 30
/* Битовое поле AA31, ширина 1 бит; данные AA31. */
Uint16 AA31:1; // 31 AA for Mailbox 31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANAA_REG в одной области памяти. */
union CANAA_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANAA_BITS bit;; порядок полей определяет расположение данных. */
struct CANAA_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Received Message Pending register (CANRMP) bit definitions */
/* Описывает структуру CANRMP_BITS; порядок полей определяет расположение данных. */
struct CANRMP_BITS { // bit description
/* Битовое поле RMP0, ширина 1 бит; данные RMP0. */
Uint16 RMP0:1; // 0 RMP for Mailbox 0
/* Битовое поле RMP1, ширина 1 бит; данные RMP1. */
Uint16 RMP1:1; // 1 RMP for Mailbox 1
/* Битовое поле RMP2, ширина 1 бит; данные RMP2. */
Uint16 RMP2:1; // 2 RMP for Mailbox 2
/* Битовое поле RMP3, ширина 1 бит; данные RMP3. */
Uint16 RMP3:1; // 3 RMP for Mailbox 3
/* Битовое поле RMP4, ширина 1 бит; данные RMP4. */
Uint16 RMP4:1; // 4 RMP for Mailbox 4
/* Битовое поле RMP5, ширина 1 бит; данные RMP5. */
Uint16 RMP5:1; // 5 RMP for Mailbox 5
/* Битовое поле RMP6, ширина 1 бит; данные RMP6. */
Uint16 RMP6:1; // 6 RMP for Mailbox 6
/* Битовое поле RMP7, ширина 1 бит; данные RMP7. */
Uint16 RMP7:1; // 7 RMP for Mailbox 7
/* Битовое поле RMP8, ширина 1 бит; данные RMP8. */
Uint16 RMP8:1; // 8 RMP for Mailbox 8
/* Битовое поле RMP9, ширина 1 бит; данные RMP9. */
Uint16 RMP9:1; // 9 RMP for Mailbox 9
/* Битовое поле RMP10, ширина 1 бит; данные RMP10. */
Uint16 RMP10:1; // 10 RMP for Mailbox 10
/* Битовое поле RMP11, ширина 1 бит; данные RMP11. */
Uint16 RMP11:1; // 11 RMP for Mailbox 11
/* Битовое поле RMP12, ширина 1 бит; данные RMP12. */
Uint16 RMP12:1; // 12 RMP for Mailbox 12
/* Битовое поле RMP13, ширина 1 бит; данные RMP13. */
Uint16 RMP13:1; // 13 RMP for Mailbox 13
/* Битовое поле RMP14, ширина 1 бит; данные RMP14. */
Uint16 RMP14:1; // 14 RMP for Mailbox 14
/* Битовое поле RMP15, ширина 1 бит; данные RMP15. */
Uint16 RMP15:1; // 15 RMP for Mailbox 15
/* Битовое поле RMP16, ширина 1 бит; данные RMP16. */
Uint16 RMP16:1; // 16 RMP for Mailbox 16
/* Битовое поле RMP17, ширина 1 бит; данные RMP17. */
Uint16 RMP17:1; // 17 RMP for Mailbox 17
/* Битовое поле RMP18, ширина 1 бит; данные RMP18. */
Uint16 RMP18:1; // 18 RMP for Mailbox 18
/* Битовое поле RMP19, ширина 1 бит; данные RMP19. */
Uint16 RMP19:1; // 19 RMP for Mailbox 19
/* Битовое поле RMP20, ширина 1 бит; данные RMP20. */
Uint16 RMP20:1; // 20 RMP for Mailbox 20
/* Битовое поле RMP21, ширина 1 бит; данные RMP21. */
Uint16 RMP21:1; // 21 RMP for Mailbox 21
/* Битовое поле RMP22, ширина 1 бит; данные RMP22. */
Uint16 RMP22:1; // 22 RMP for Mailbox 22
/* Битовое поле RMP23, ширина 1 бит; данные RMP23. */
Uint16 RMP23:1; // 23 RMP for Mailbox 23
/* Битовое поле RMP24, ширина 1 бит; данные RMP24. */
Uint16 RMP24:1; // 24 RMP for Mailbox 24
/* Битовое поле RMP25, ширина 1 бит; данные RMP25. */
Uint16 RMP25:1; // 25 RMP for Mailbox 25
/* Битовое поле RMP26, ширина 1 бит; данные RMP26. */
Uint16 RMP26:1; // 26 RMP for Mailbox 26
/* Битовое поле RMP27, ширина 1 бит; данные RMP27. */
Uint16 RMP27:1; // 27 RMP for Mailbox 27
/* Битовое поле RMP28, ширина 1 бит; данные RMP28. */
Uint16 RMP28:1; // 28 RMP for Mailbox 28
/* Битовое поле RMP29, ширина 1 бит; данные RMP29. */
Uint16 RMP29:1; // 29 RMP for Mailbox 29
/* Битовое поле RMP30, ширина 1 бит; данные RMP30. */
Uint16 RMP30:1; // 30 RMP for Mailbox 30
/* Битовое поле RMP31, ширина 1 бит; данные RMP31. */
Uint16 RMP31:1; // 31 RMP for Mailbox 31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANRMP_REG в одной области памяти. */
union CANRMP_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANRMP_BITS bit;; порядок полей определяет расположение данных. */
struct CANRMP_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Received Message Lost register (CANRML) bit definitions */
/* Описывает структуру CANRML_BITS; порядок полей определяет расположение данных. */
struct CANRML_BITS { // bit description
/* Битовое поле RML0, ширина 1 бит; данные RML0. */
Uint16 RML0:1; // 0 RML for Mailbox 0
/* Битовое поле RML1, ширина 1 бит; данные RML1. */
Uint16 RML1:1; // 1 RML for Mailbox 1
/* Битовое поле RML2, ширина 1 бит; данные RML2. */
Uint16 RML2:1; // 2 RML for Mailbox 2
/* Битовое поле RML3, ширина 1 бит; данные RML3. */
Uint16 RML3:1; // 3 RML for Mailbox 3
/* Битовое поле RML4, ширина 1 бит; данные RML4. */
Uint16 RML4:1; // 4 RML for Mailbox 4
/* Битовое поле RML5, ширина 1 бит; данные RML5. */
Uint16 RML5:1; // 5 RML for Mailbox 5
/* Битовое поле RML6, ширина 1 бит; данные RML6. */
Uint16 RML6:1; // 6 RML for Mailbox 6
/* Битовое поле RML7, ширина 1 бит; данные RML7. */
Uint16 RML7:1; // 7 RML for Mailbox 7
/* Битовое поле RML8, ширина 1 бит; данные RML8. */
Uint16 RML8:1; // 8 RML for Mailbox 8
/* Битовое поле RML9, ширина 1 бит; данные RML9. */
Uint16 RML9:1; // 9 RML for Mailbox 9
/* Битовое поле RML10, ширина 1 бит; данные RML10. */
Uint16 RML10:1; // 10 RML for Mailbox 10
/* Битовое поле RML11, ширина 1 бит; данные RML11. */
Uint16 RML11:1; // 11 RML for Mailbox 11
/* Битовое поле RML12, ширина 1 бит; данные RML12. */
Uint16 RML12:1; // 12 RML for Mailbox 12
/* Битовое поле RML13, ширина 1 бит; данные RML13. */
Uint16 RML13:1; // 13 RML for Mailbox 13
/* Битовое поле RML14, ширина 1 бит; данные RML14. */
Uint16 RML14:1; // 14 RML for Mailbox 14
/* Битовое поле RML15, ширина 1 бит; данные RML15. */
Uint16 RML15:1; // 15 RML for Mailbox 15
/* Битовое поле RML16, ширина 1 бит; данные RML16. */
Uint16 RML16:1; // 16 RML for Mailbox 16
/* Битовое поле RML17, ширина 1 бит; данные RML17. */
Uint16 RML17:1; // 17 RML for Mailbox 17
/* Битовое поле RML18, ширина 1 бит; данные RML18. */
Uint16 RML18:1; // 18 RML for Mailbox 18
/* Битовое поле RML19, ширина 1 бит; данные RML19. */
Uint16 RML19:1; // 19 RML for Mailbox 19
/* Битовое поле RML20, ширина 1 бит; данные RML20. */
Uint16 RML20:1; // 20 RML for Mailbox 20
/* Битовое поле RML21, ширина 1 бит; данные RML21. */
Uint16 RML21:1; // 21 RML for Mailbox 21
/* Битовое поле RML22, ширина 1 бит; данные RML22. */
Uint16 RML22:1; // 22 RML for Mailbox 22
/* Битовое поле RML23, ширина 1 бит; данные RML23. */
Uint16 RML23:1; // 23 RML for Mailbox 23
/* Битовое поле RML24, ширина 1 бит; данные RML24. */
Uint16 RML24:1; // 24 RML for Mailbox 24
/* Битовое поле RML25, ширина 1 бит; данные RML25. */
Uint16 RML25:1; // 25 RML for Mailbox 25
/* Битовое поле RML26, ширина 1 бит; данные RML26. */
Uint16 RML26:1; // 26 RML for Mailbox 26
/* Битовое поле RML27, ширина 1 бит; данные RML27. */
Uint16 RML27:1; // 27 RML for Mailbox 27
/* Битовое поле RML28, ширина 1 бит; данные RML28. */
Uint16 RML28:1; // 28 RML for Mailbox 28
/* Битовое поле RML29, ширина 1 бит; данные RML29. */
Uint16 RML29:1; // 29 RML for Mailbox 29
/* Битовое поле RML30, ширина 1 бит; данные RML30. */
Uint16 RML30:1; // 30 RML for Mailbox 30
/* Битовое поле RML31, ширина 1 бит; данные RML31. */
Uint16 RML31:1; // 31 RML for Mailbox 31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANRML_REG в одной области памяти. */
union CANRML_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANRML_BITS bit;; порядок полей определяет расположение данных. */
struct CANRML_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Remote Frame Pending register (CANRFP) bit definitions */
/* Описывает структуру CANRFP_BITS; порядок полей определяет расположение данных. */
struct CANRFP_BITS { // bit description
/* Битовое поле RFP0, ширина 1 бит; данные RFP0. */
Uint16 RFP0:1; // 0 RFP for Mailbox 0
/* Битовое поле RFP1, ширина 1 бит; данные RFP1. */
Uint16 RFP1:1; // 1 RFP for Mailbox 1
/* Битовое поле RFP2, ширина 1 бит; данные RFP2. */
Uint16 RFP2:1; // 2 RFP for Mailbox 2
/* Битовое поле RFP3, ширина 1 бит; данные RFP3. */
Uint16 RFP3:1; // 3 RFP for Mailbox 3
/* Битовое поле RFP4, ширина 1 бит; данные RFP4. */
Uint16 RFP4:1; // 4 RFP for Mailbox 4
/* Битовое поле RFP5, ширина 1 бит; данные RFP5. */
Uint16 RFP5:1; // 5 RFP for Mailbox 5
/* Битовое поле RFP6, ширина 1 бит; данные RFP6. */
Uint16 RFP6:1; // 6 RFP for Mailbox 6
/* Битовое поле RFP7, ширина 1 бит; данные RFP7. */
Uint16 RFP7:1; // 7 RFP for Mailbox 7
/* Битовое поле RFP8, ширина 1 бит; данные RFP8. */
Uint16 RFP8:1; // 8 RFP for Mailbox 8
/* Битовое поле RFP9, ширина 1 бит; данные RFP9. */
Uint16 RFP9:1; // 9 RFP for Mailbox 9
/* Битовое поле RFP10, ширина 1 бит; данные RFP10. */
Uint16 RFP10:1; // 10 RFP for Mailbox 10
/* Битовое поле RFP11, ширина 1 бит; данные RFP11. */
Uint16 RFP11:1; // 11 RFP for Mailbox 11
/* Битовое поле RFP12, ширина 1 бит; данные RFP12. */
Uint16 RFP12:1; // 12 RFP for Mailbox 12
/* Битовое поле RFP13, ширина 1 бит; данные RFP13. */
Uint16 RFP13:1; // 13 RFP for Mailbox 13
/* Битовое поле RFP14, ширина 1 бит; данные RFP14. */
Uint16 RFP14:1; // 14 RFP for Mailbox 14
/* Битовое поле RFP15, ширина 1 бит; данные RFP15. */
Uint16 RFP15:1; // 15 RFP for Mailbox 15
/* Битовое поле RFP16, ширина 1 бит; данные RFP16. */
Uint16 RFP16:1; // 16 RFP for Mailbox 16
/* Битовое поле RFP17, ширина 1 бит; данные RFP17. */
Uint16 RFP17:1; // 17 RFP for Mailbox 17
/* Битовое поле RFP18, ширина 1 бит; данные RFP18. */
Uint16 RFP18:1; // 18 RFP for Mailbox 18
/* Битовое поле RFP19, ширина 1 бит; данные RFP19. */
Uint16 RFP19:1; // 19 RFP for Mailbox 19
/* Битовое поле RFP20, ширина 1 бит; данные RFP20. */
Uint16 RFP20:1; // 20 RFP for Mailbox 20
/* Битовое поле RFP21, ширина 1 бит; данные RFP21. */
Uint16 RFP21:1; // 21 RFP for Mailbox 21
/* Битовое поле RFP22, ширина 1 бит; данные RFP22. */
Uint16 RFP22:1; // 22 RFP for Mailbox 22
/* Битовое поле RFP23, ширина 1 бит; данные RFP23. */
Uint16 RFP23:1; // 23 RFP for Mailbox 23
/* Битовое поле RFP24, ширина 1 бит; данные RFP24. */
Uint16 RFP24:1; // 24 RFP for Mailbox 24
/* Битовое поле RFP25, ширина 1 бит; данные RFP25. */
Uint16 RFP25:1; // 25 RFP for Mailbox 25
/* Битовое поле RFP26, ширина 1 бит; данные RFP26. */
Uint16 RFP26:1; // 26 RFP for Mailbox 26
/* Битовое поле RFP27, ширина 1 бит; данные RFP27. */
Uint16 RFP27:1; // 27 RFP for Mailbox 27
/* Битовое поле RFP28, ширина 1 бит; данные RFP28. */
Uint16 RFP28:1; // 28 RFP for Mailbox 28
/* Битовое поле RFP29, ширина 1 бит; данные RFP29. */
Uint16 RFP29:1; // 29 RFP for Mailbox 29
/* Битовое поле RFP30, ширина 1 бит; данные RFP30. */
Uint16 RFP30:1; // 30 RFP for Mailbox 30
/* Битовое поле RFP31, ширина 1 бит; данные RFP31. */
Uint16 RFP31:1; // 31 RFP for Mailbox 31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANRFP_REG в одной области памяти. */
union CANRFP_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANRFP_BITS bit;; порядок полей определяет расположение данных. */
struct CANRFP_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Global Acceptance Mask register (CANGAM) bit definitions */
/* Описывает структуру CANGAM_BITS; порядок полей определяет расположение данных. */
struct CANGAM_BITS { // bits description
/* Битовое поле GAM150, ширина 16 бит; данные GAM150. */
Uint16 GAM150:16; // 15:0 Global acceptance mask bits 0-15
/* Битовое поле GAM2816, ширина 13 бит; данные GAM2816. */
Uint16 GAM2816:13; // 28:16 Global acceptance mask bits 16-28
/* Битовое поле rsvd, ширина 2 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:2; // 30:29 reserved
/* Битовое поле AMI, ширина 1 бит; данные AMI. */
Uint16 AMI:1; // 31 AMI bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANGAM_REG в одной области памяти. */
union CANGAM_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANGAM_BITS bit;; порядок полей определяет расположение данных. */
struct CANGAM_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Master Control register (CANMC) bit definitions */
/* Описывает структуру CANMC_BITS; порядок полей определяет расположение данных. */
struct CANMC_BITS { // bits description
/* Битовое поле MBNR, ширина 5 бит; данные MBNR. */
Uint16 MBNR:5; // 4:0 MBX # for CDR bit
/* Битовое поле SRES, ширина 1 бит; данные SRES. */
Uint16 SRES:1; // 5 Soft reset
/* Битовое поле STM, ширина 1 бит; данные STM. */
Uint16 STM:1; // 6 Self-test mode
/* Битовое поле ABO, ширина 1 бит; данные ABO. */
Uint16 ABO:1; // 7 Auto bus-on
/* Битовое поле CDR, ширина 1 бит; данные CDR. */
Uint16 CDR:1; // 8 Change data request
/* Битовое поле WUBA, ширина 1 бит; данные WUBA. */
Uint16 WUBA:1; // 9 Wake-up on bus activity
/* Битовое поле DBO, ширина 1 бит; данные DBO. */
Uint16 DBO:1; // 10 Data-byte order
/* Битовое поле PDR, ширина 1 бит; данные PDR. */
Uint16 PDR:1; // 11 Power-down mode request
/* Битовое поле CCR, ширина 1 бит; данные CCR. */
Uint16 CCR:1; // 12 Change configuration request
/* Битовое поле SCB, ширина 1 бит; данные SCB. */
Uint16 SCB:1; // 13 SCC compatibility bit
/* Битовое поле TCC, ширина 1 бит; данные TCC. */
Uint16 TCC:1; // 14 TSC MSB clear bit
/* Битовое поле MBCC, ширина 1 бит; данные MBCC. */
Uint16 MBCC:1; // 15 TSC clear bit thru mailbox 16
/* Битовое поле SUSP, ширина 1 бит; данные SUSP. */
Uint16 SUSP:1; // 16 SUSPEND free/soft bit
/* Битовое поле rsvd, ширина 15 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:15; // 31:17 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANMC_REG в одной области памяти. */
union CANMC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANMC_BITS bit;; порядок полей определяет расположение данных. */
struct CANMC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Bit -timing configuration register (CANBTC) bit definitions */
/* Описывает структуру CANBTC_BITS; порядок полей определяет расположение данных. */
struct CANBTC_BITS { // bits description
/* Битовое поле TSEG2REG, ширина 3 бит; данные TSEG2REG. */
Uint16 TSEG2REG:3; // 2:0 TSEG2 register value
/* Битовое поле TSEG1REG, ширина 4 бит; данные TSEG1REG. */
Uint16 TSEG1REG:4; // 6:3 TSEG1 register value
/* Битовое поле SAM, ширина 1 бит; данные SAM. */
Uint16 SAM:1; // 7 Sample-point setting
/* Битовое поле SJWREG, ширина 2 бит; данные SJWREG. */
Uint16 SJWREG:2; // 9:8 Synchroniztion Jump Width register value
/* Битовое поле rsvd1, ширина 6 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:6; // 15:10 reserved
/* Битовое поле BRPREG, ширина 8 бит; данные BRPREG. */
Uint16 BRPREG:8; // 23:16 Baudrate prescaler register value
/* Битовое поле rsvd2, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:8; // 31:24 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANBTC_REG в одной области памяти. */
union CANBTC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANBTC_BITS bit;; порядок полей определяет расположение данных. */
struct CANBTC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Error & Status register (CANES) bit definitions */
/* Описывает структуру CANES_BITS; порядок полей определяет расположение данных. */
struct CANES_BITS { // bits description
/* Битовое поле TM, ширина 1 бит; данные TM. */
Uint16 TM:1; // 0 Transmit Mode
/* Битовое поле RM, ширина 1 бит; данные RM. */
Uint16 RM:1; // 1 Receive Mode
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 2 reserved
/* Битовое поле PDA, ширина 1 бит; данные PDA. */
Uint16 PDA:1; // 3 Power-down acknowledge
/* Битовое поле CCE, ширина 1 бит; данные CCE. */
Uint16 CCE:1; // 4 Change Configuration Enable
/* Битовое поле SMA, ширина 1 бит; данные SMA. */
Uint16 SMA:1; // 5 Suspend Mode Acknowledge
/* Битовое поле rsvd2, ширина 10 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:10; // 15:6 reserved
/* Битовое поле EW, ширина 1 бит; данные EW. */
Uint16 EW:1; // 16 Warning status
/* Битовое поле EP, ширина 1 бит; данные EP. */
Uint16 EP:1; // 17 Error Passive status
/* Битовое поле BO, ширина 1 бит; данные BO. */
Uint16 BO:1; // 18 Bus-off status
/* Битовое поле ACKE, ширина 1 бит; данные ACKE. */
Uint16 ACKE:1; // 19 Acknowledge error
/* Битовое поле SE, ширина 1 бит; данные SE. */
Uint16 SE:1; // 20 Stuff error
/* Битовое поле CRCE, ширина 1 бит; данные CRCE. */
Uint16 CRCE:1; // 21 CRC error
/* Битовое поле SA1, ширина 1 бит; данные SA1. */
Uint16 SA1:1; // 22 Stuck at Dominant error
/* Битовое поле BE, ширина 1 бит; данные BE. */
Uint16 BE:1; // 23 Bit error
/* Битовое поле FE, ширина 1 бит; данные FE. */
Uint16 FE:1; // 24 Framing error
/* Битовое поле rsvd3, ширина 7 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3:7; // 31:25 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANES_REG в одной области памяти. */
union CANES_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANES_BITS bit;; порядок полей определяет расположение данных. */
struct CANES_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Transmit Error Counter register (CANTEC) bit definitions */
/* Описывает структуру CANTEC_BITS; порядок полей определяет расположение данных. */
struct CANTEC_BITS { // bits description
/* Битовое поле TEC, ширина 8 бит; данные TEC. */
Uint16 TEC:8; // 7:0 TEC
/* Битовое поле rsvd1, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:8; // 15:8 reserved
/* Битовое поле rsvd2, ширина 16 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:16; // 31:16 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANTEC_REG в одной области памяти. */
union CANTEC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANTEC_BITS bit;; порядок полей определяет расположение данных. */
struct CANTEC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Receive Error Counter register (CANREC) bit definitions */
/* Описывает структуру CANREC_BITS; порядок полей определяет расположение данных. */
struct CANREC_BITS { // bits description
/* Битовое поле REC, ширина 8 бит; данные REC. */
Uint16 REC:8; // 7:0 REC
/* Битовое поле rsvd1, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:8; // 15:8 reserved
/* Битовое поле rsvd2, ширина 16 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:16; // 31:16 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANREC_REG в одной области памяти. */
union CANREC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANREC_BITS bit;; порядок полей определяет расположение данных. */
struct CANREC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Global Interrupt Flag 0 (CANGIF0) bit definitions */
/* Описывает структуру CANGIF0_BITS; порядок полей определяет расположение данных. */
struct CANGIF0_BITS { // bits description
/* Битовое поле MIV0, ширина 5 бит; данные MIV0. */
Uint16 MIV0:5; // 4:0 Mailbox Interrupt Vector
/* Битовое поле rsvd1, ширина 3 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:3; // 7:5 reserved
/* Битовое поле WLIF0, ширина 1 бит; данные WLIF0. */
Uint16 WLIF0:1; // 8 Warning level interrupt flag
/* Битовое поле EPIF0, ширина 1 бит; данные EPIF0. */
Uint16 EPIF0:1; // 9 Error-passive interrupt flag
/* Битовое поле BOIF0, ширина 1 бит; данные BOIF0. */
Uint16 BOIF0:1; // 10 Bus-off interrupt flag
/* Битовое поле RMLIF0, ширина 1 бит; данные RMLIF0. */
Uint16 RMLIF0:1; // 11 Received message lost interrupt flag
/* Битовое поле WUIF0, ширина 1 бит; данные WUIF0. */
Uint16 WUIF0:1; // 12 Wakeup interrupt flag
/* Битовое поле WDIF0, ширина 1 бит; данные WDIF0. */
Uint16 WDIF0:1; // 13 Write denied interrupt flag
/* Битовое поле AAIF0, ширина 1 бит; данные AAIF0. */
Uint16 AAIF0:1; // 14 Abort Ack interrupt flag
/* Битовое поле GMIF0, ширина 1 бит; данные GMIF0. */
Uint16 GMIF0:1; // 15 Global MBX interrupt flag
/* Битовое поле TCOF0, ширина 1 бит; данные TCOF0. */
Uint16 TCOF0:1; // 16 TSC Overflow flag
/* Битовое поле MTOF0, ширина 1 бит; данные MTOF0. */
Uint16 MTOF0:1; // 17 Mailbox Timeout flag
/* Битовое поле rsvd2, ширина 14 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:14; // 31:18 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANGIF0_REG в одной области памяти. */
union CANGIF0_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANGIF0_BITS bit;; порядок полей определяет расположение данных. */
struct CANGIF0_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Global Interrupt Mask register (CANGIM) bit definitions */
/* Описывает структуру CANGIM_BITS; порядок полей определяет расположение данных. */
struct CANGIM_BITS { // bits description
/* Битовое поле I0EN, ширина 1 бит; данные I0EN. */
Uint16 I0EN:1; // 0 Interrupt 0 enable
/* Битовое поле I1EN, ширина 1 бит; данные I1EN. */
Uint16 I1EN:1; // 1 Interrupt 1 enable
/* Битовое поле GIL, ширина 1 бит; данные GIL. */
Uint16 GIL:1; // 2 Global Interrupt Level
/* Битовое поле rsvd1, ширина 5 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:5; // 7:3 reserved
/* Битовое поле WLIM, ширина 1 бит; данные WLIM. */
Uint16 WLIM:1; // 8 Warning level interrupt mask
/* Битовое поле EPIM, ширина 1 бит; данные EPIM. */
Uint16 EPIM:1; // 9 Error-passive interrupt mask
/* Битовое поле BOIM, ширина 1 бит; данные BOIM. */
Uint16 BOIM:1; // 10 Bus-off interrupt mask
/* Битовое поле RMLIM, ширина 1 бит; данные RMLIM. */
Uint16 RMLIM:1; // 11 Received message lost interrupt mask
/* Битовое поле WUIM, ширина 1 бит; данные WUIM. */
Uint16 WUIM:1; // 12 Wakeup interrupt mask
/* Битовое поле WDIM, ширина 1 бит; данные WDIM. */
Uint16 WDIM:1; // 13 Write denied interrupt mask
/* Битовое поле AAIM, ширина 1 бит; данные AAIM. */
Uint16 AAIM:1; // 14 Abort Ack interrupt mask
/* Битовое поле rsvd2, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:1; // 15 reserved
/* Битовое поле TCOM, ширина 1 бит; данные TCOM. */
Uint16 TCOM:1; // 16 TSC overflow interrupt mask
/* Битовое поле MTOM, ширина 1 бит; данные MTOM. */
Uint16 MTOM:1; // 17 MBX Timeout interrupt mask
/* Битовое поле rsvd3, ширина 14 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3:14; // 31:18 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANGIM_REG в одной области памяти. */
union CANGIM_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANGIM_BITS bit;; порядок полей определяет расположение данных. */
struct CANGIM_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Global Interrupt Flag 1 (eCANGIF1) bit definitions */
/* Описывает структуру CANGIF1_BITS; порядок полей определяет расположение данных. */
struct CANGIF1_BITS { // bits description
/* Битовое поле MIV1, ширина 5 бит; данные MIV1. */
Uint16 MIV1:5; // 4:0 Mailbox Interrupt Vector
/* Битовое поле rsvd1, ширина 3 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:3; // 7:5 reserved
/* Битовое поле WLIF1, ширина 1 бит; данные WLIF1. */
Uint16 WLIF1:1; // 8 Warning level interrupt flag
/* Битовое поле EPIF1, ширина 1 бит; данные EPIF1. */
Uint16 EPIF1:1; // 9 Error-passive interrupt flag
/* Битовое поле BOIF1, ширина 1 бит; данные BOIF1. */
Uint16 BOIF1:1; // 10 Bus-off interrupt flag
/* Битовое поле RMLIF1, ширина 1 бит; данные RMLIF1. */
Uint16 RMLIF1:1; // 11 Received message lost interrupt flag
/* Битовое поле WUIF1, ширина 1 бит; данные WUIF1. */
Uint16 WUIF1:1; // 12 Wakeup interrupt flag
/* Битовое поле WDIF1, ширина 1 бит; данные WDIF1. */
Uint16 WDIF1:1; // 13 Write denied interrupt flag
/* Битовое поле AAIF1, ширина 1 бит; данные AAIF1. */
Uint16 AAIF1:1; // 14 Abort Ack interrupt flag
/* Битовое поле GMIF1, ширина 1 бит; данные GMIF1. */
Uint16 GMIF1:1; // 15 Global MBX interrupt flag
/* Битовое поле TCOF1, ширина 1 бит; данные TCOF1. */
Uint16 TCOF1:1; // 16 TSC Overflow flag
/* Битовое поле MTOF1, ширина 1 бит; данные MTOF1. */
Uint16 MTOF1:1; // 17 Mailbox Timeout flag
/* Битовое поле rsvd2, ширина 14 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:14; // 31:18 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANGIF1_REG в одной области памяти. */
union CANGIF1_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANGIF1_BITS bit;; порядок полей определяет расположение данных. */
struct CANGIF1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Mailbox Interrupt Mask register (CANMIM) bit definitions */
/* Описывает структуру CANMIM_BITS; порядок полей определяет расположение данных. */
struct CANMIM_BITS { // bit description
/* Битовое поле MIM0, ширина 1 бит; данные MIM0. */
Uint16 MIM0:1; // 0 MIM for Mailbox 0
/* Битовое поле MIM1, ширина 1 бит; данные MIM1. */
Uint16 MIM1:1; // 1 MIM for Mailbox 1
/* Битовое поле MIM2, ширина 1 бит; данные MIM2. */
Uint16 MIM2:1; // 2 MIM for Mailbox 2
/* Битовое поле MIM3, ширина 1 бит; данные MIM3. */
Uint16 MIM3:1; // 3 MIM for Mailbox 3
/* Битовое поле MIM4, ширина 1 бит; данные MIM4. */
Uint16 MIM4:1; // 4 MIM for Mailbox 4
/* Битовое поле MIM5, ширина 1 бит; данные MIM5. */
Uint16 MIM5:1; // 5 MIM for Mailbox 5
/* Битовое поле MIM6, ширина 1 бит; данные MIM6. */
Uint16 MIM6:1; // 6 MIM for Mailbox 6
/* Битовое поле MIM7, ширина 1 бит; данные MIM7. */
Uint16 MIM7:1; // 7 MIM for Mailbox 7
/* Битовое поле MIM8, ширина 1 бит; данные MIM8. */
Uint16 MIM8:1; // 8 MIM for Mailbox 8
/* Битовое поле MIM9, ширина 1 бит; данные MIM9. */
Uint16 MIM9:1; // 9 MIM for Mailbox 9
/* Битовое поле MIM10, ширина 1 бит; данные MIM10. */
Uint16 MIM10:1; // 10 MIM for Mailbox 10
/* Битовое поле MIM11, ширина 1 бит; данные MIM11. */
Uint16 MIM11:1; // 11 MIM for Mailbox 11
/* Битовое поле MIM12, ширина 1 бит; данные MIM12. */
Uint16 MIM12:1; // 12 MIM for Mailbox 12
/* Битовое поле MIM13, ширина 1 бит; данные MIM13. */
Uint16 MIM13:1; // 13 MIM for Mailbox 13
/* Битовое поле MIM14, ширина 1 бит; данные MIM14. */
Uint16 MIM14:1; // 14 MIM for Mailbox 14
/* Битовое поле MIM15, ширина 1 бит; данные MIM15. */
Uint16 MIM15:1; // 15 MIM for Mailbox 15
/* Битовое поле MIM16, ширина 1 бит; данные MIM16. */
Uint16 MIM16:1; // 16 MIM for Mailbox 16
/* Битовое поле MIM17, ширина 1 бит; данные MIM17. */
Uint16 MIM17:1; // 17 MIM for Mailbox 17
/* Битовое поле MIM18, ширина 1 бит; данные MIM18. */
Uint16 MIM18:1; // 18 MIM for Mailbox 18
/* Битовое поле MIM19, ширина 1 бит; данные MIM19. */
Uint16 MIM19:1; // 19 MIM for Mailbox 19
/* Битовое поле MIM20, ширина 1 бит; данные MIM20. */
Uint16 MIM20:1; // 20 MIM for Mailbox 20
/* Битовое поле MIM21, ширина 1 бит; данные MIM21. */
Uint16 MIM21:1; // 21 MIM for Mailbox 21
/* Битовое поле MIM22, ширина 1 бит; данные MIM22. */
Uint16 MIM22:1; // 22 MIM for Mailbox 22
/* Битовое поле MIM23, ширина 1 бит; данные MIM23. */
Uint16 MIM23:1; // 23 MIM for Mailbox 23
/* Битовое поле MIM24, ширина 1 бит; данные MIM24. */
Uint16 MIM24:1; // 24 MIM for Mailbox 24
/* Битовое поле MIM25, ширина 1 бит; данные MIM25. */
Uint16 MIM25:1; // 25 MIM for Mailbox 25
/* Битовое поле MIM26, ширина 1 бит; данные MIM26. */
Uint16 MIM26:1; // 26 MIM for Mailbox 26
/* Битовое поле MIM27, ширина 1 бит; данные MIM27. */
Uint16 MIM27:1; // 27 MIM for Mailbox 27
/* Битовое поле MIM28, ширина 1 бит; данные MIM28. */
Uint16 MIM28:1; // 28 MIM for Mailbox 28
/* Битовое поле MIM29, ширина 1 бит; данные MIM29. */
Uint16 MIM29:1; // 29 MIM for Mailbox 29
/* Битовое поле MIM30, ширина 1 бит; данные MIM30. */
Uint16 MIM30:1; // 30 MIM for Mailbox 30
/* Битовое поле MIM31, ширина 1 бит; данные MIM31. */
Uint16 MIM31:1; // 31 MIM for Mailbox 31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANMIM_REG в одной области памяти. */
union CANMIM_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANMIM_BITS bit;; порядок полей определяет расположение данных. */
struct CANMIM_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Mailbox Interrupt Level register (CANMIL) bit definitions */
/* Описывает структуру CANMIL_BITS; порядок полей определяет расположение данных. */
struct CANMIL_BITS { // bit description
/* Битовое поле MIL0, ширина 1 бит; данные MIL0. */
Uint16 MIL0:1; // 0 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL1, ширина 1 бит; данные MIL1. */
Uint16 MIL1:1; // 1 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL2, ширина 1 бит; данные MIL2. */
Uint16 MIL2:1; // 2 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL3, ширина 1 бит; данные MIL3. */
Uint16 MIL3:1; // 3 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL4, ширина 1 бит; данные MIL4. */
Uint16 MIL4:1; // 4 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL5, ширина 1 бит; данные MIL5. */
Uint16 MIL5:1; // 5 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL6, ширина 1 бит; данные MIL6. */
Uint16 MIL6:1; // 6 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL7, ширина 1 бит; данные MIL7. */
Uint16 MIL7:1; // 7 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL8, ширина 1 бит; данные MIL8. */
Uint16 MIL8:1; // 8 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL9, ширина 1 бит; данные MIL9. */
Uint16 MIL9:1; // 9 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL10, ширина 1 бит; данные MIL10. */
Uint16 MIL10:1; // 10 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL11, ширина 1 бит; данные MIL11. */
Uint16 MIL11:1; // 11 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL12, ширина 1 бит; данные MIL12. */
Uint16 MIL12:1; // 12 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL13, ширина 1 бит; данные MIL13. */
Uint16 MIL13:1; // 13 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL14, ширина 1 бит; данные MIL14. */
Uint16 MIL14:1; // 14 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL15, ширина 1 бит; данные MIL15. */
Uint16 MIL15:1; // 15 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL16, ширина 1 бит; данные MIL16. */
Uint16 MIL16:1; // 16 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL17, ширина 1 бит; данные MIL17. */
Uint16 MIL17:1; // 17 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL18, ширина 1 бит; данные MIL18. */
Uint16 MIL18:1; // 18 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL19, ширина 1 бит; данные MIL19. */
Uint16 MIL19:1; // 19 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL20, ширина 1 бит; данные MIL20. */
Uint16 MIL20:1; // 20 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL21, ширина 1 бит; данные MIL21. */
Uint16 MIL21:1; // 21 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL22, ширина 1 бит; данные MIL22. */
Uint16 MIL22:1; // 22 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL23, ширина 1 бит; данные MIL23. */
Uint16 MIL23:1; // 23 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL24, ширина 1 бит; данные MIL24. */
Uint16 MIL24:1; // 24 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL25, ширина 1 бит; данные MIL25. */
Uint16 MIL25:1; // 25 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL26, ширина 1 бит; данные MIL26. */
Uint16 MIL26:1; // 26 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL27, ширина 1 бит; данные MIL27. */
Uint16 MIL27:1; // 27 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL28, ширина 1 бит; данные MIL28. */
Uint16 MIL28:1; // 28 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL29, ширина 1 бит; данные MIL29. */
Uint16 MIL29:1; // 29 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL30, ширина 1 бит; данные MIL30. */
Uint16 MIL30:1; // 30 0 -> Int 9.5 1 -> Int 9.6
/* Битовое поле MIL31, ширина 1 бит; данные MIL31. */
Uint16 MIL31:1; // 31 0 -> Int 9.5 1 -> Int 9.6
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANMIL_REG в одной области памяти. */
union CANMIL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANMIL_BITS bit;; порядок полей определяет расположение данных. */
struct CANMIL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Overwrite Protection Control register (CANOPC) bit definitions */
/* Описывает структуру CANOPC_BITS; порядок полей определяет расположение данных. */
struct CANOPC_BITS { // bit description
/* Битовое поле OPC0, ширина 1 бит; данные OPC0. */
Uint16 OPC0:1; // 0 OPC for Mailbox 0
/* Битовое поле OPC1, ширина 1 бит; данные OPC1. */
Uint16 OPC1:1; // 1 OPC for Mailbox 1
/* Битовое поле OPC2, ширина 1 бит; данные OPC2. */
Uint16 OPC2:1; // 2 OPC for Mailbox 2
/* Битовое поле OPC3, ширина 1 бит; данные OPC3. */
Uint16 OPC3:1; // 3 OPC for Mailbox 3
/* Битовое поле OPC4, ширина 1 бит; данные OPC4. */
Uint16 OPC4:1; // 4 OPC for Mailbox 4
/* Битовое поле OPC5, ширина 1 бит; данные OPC5. */
Uint16 OPC5:1; // 5 OPC for Mailbox 5
/* Битовое поле OPC6, ширина 1 бит; данные OPC6. */
Uint16 OPC6:1; // 6 OPC for Mailbox 6
/* Битовое поле OPC7, ширина 1 бит; данные OPC7. */
Uint16 OPC7:1; // 7 OPC for Mailbox 7
/* Битовое поле OPC8, ширина 1 бит; данные OPC8. */
Uint16 OPC8:1; // 8 OPC for Mailbox 8
/* Битовое поле OPC9, ширина 1 бит; данные OPC9. */
Uint16 OPC9:1; // 9 OPC for Mailbox 9
/* Битовое поле OPC10, ширина 1 бит; данные OPC10. */
Uint16 OPC10:1; // 10 OPC for Mailbox 10
/* Битовое поле OPC11, ширина 1 бит; данные OPC11. */
Uint16 OPC11:1; // 11 OPC for Mailbox 11
/* Битовое поле OPC12, ширина 1 бит; данные OPC12. */
Uint16 OPC12:1; // 12 OPC for Mailbox 12
/* Битовое поле OPC13, ширина 1 бит; данные OPC13. */
Uint16 OPC13:1; // 13 OPC for Mailbox 13
/* Битовое поле OPC14, ширина 1 бит; данные OPC14. */
Uint16 OPC14:1; // 14 OPC for Mailbox 14
/* Битовое поле OPC15, ширина 1 бит; данные OPC15. */
Uint16 OPC15:1; // 15 OPC for Mailbox 15
/* Битовое поле OPC16, ширина 1 бит; данные OPC16. */
Uint16 OPC16:1; // 16 OPC for Mailbox 16
/* Битовое поле OPC17, ширина 1 бит; данные OPC17. */
Uint16 OPC17:1; // 17 OPC for Mailbox 17
/* Битовое поле OPC18, ширина 1 бит; данные OPC18. */
Uint16 OPC18:1; // 18 OPC for Mailbox 18
/* Битовое поле OPC19, ширина 1 бит; данные OPC19. */
Uint16 OPC19:1; // 19 OPC for Mailbox 19
/* Битовое поле OPC20, ширина 1 бит; данные OPC20. */
Uint16 OPC20:1; // 20 OPC for Mailbox 20
/* Битовое поле OPC21, ширина 1 бит; данные OPC21. */
Uint16 OPC21:1; // 21 OPC for Mailbox 21
/* Битовое поле OPC22, ширина 1 бит; данные OPC22. */
Uint16 OPC22:1; // 22 OPC for Mailbox 22
/* Битовое поле OPC23, ширина 1 бит; данные OPC23. */
Uint16 OPC23:1; // 23 OPC for Mailbox 23
/* Битовое поле OPC24, ширина 1 бит; данные OPC24. */
Uint16 OPC24:1; // 24 OPC for Mailbox 24
/* Битовое поле OPC25, ширина 1 бит; данные OPC25. */
Uint16 OPC25:1; // 25 OPC for Mailbox 25
/* Битовое поле OPC26, ширина 1 бит; данные OPC26. */
Uint16 OPC26:1; // 26 OPC for Mailbox 26
/* Битовое поле OPC27, ширина 1 бит; данные OPC27. */
Uint16 OPC27:1; // 27 OPC for Mailbox 27
/* Битовое поле OPC28, ширина 1 бит; данные OPC28. */
Uint16 OPC28:1; // 28 OPC for Mailbox 28
/* Битовое поле OPC29, ширина 1 бит; данные OPC29. */
Uint16 OPC29:1; // 29 OPC for Mailbox 29
/* Битовое поле OPC30, ширина 1 бит; данные OPC30. */
Uint16 OPC30:1; // 30 OPC for Mailbox 30
/* Битовое поле OPC31, ширина 1 бит; данные OPC31. */
Uint16 OPC31:1; // 31 OPC for Mailbox 31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANOPC_REG в одной области памяти. */
union CANOPC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANOPC_BITS bit;; порядок полей определяет расположение данных. */
struct CANOPC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN TX I/O Control Register (CANTIOC) bit definitions */
/* Описывает структуру CANTIOC_BITS; порядок полей определяет расположение данных. */
struct CANTIOC_BITS { // bits description
/* Битовое поле rsvd1, ширина 3 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:3; // 2:0 reserved
/* Битовое поле TXFUNC, ширина 1 бит; данные TXFUNC. */
Uint16 TXFUNC:1; // 3 TXFUNC
/* Битовое поле rsvd2, ширина 12 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:12; // 15:4 reserved
/* Битовое поле rsvd3, ширина 16 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3:16; // 31:16 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANTIOC_REG в одной области памяти. */
union CANTIOC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANTIOC_BITS bit;; порядок полей определяет расположение данных. */
struct CANTIOC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN RX I/O Control Register (CANRIOC) bit definitions */
/* Описывает структуру CANRIOC_BITS; порядок полей определяет расположение данных. */
struct CANRIOC_BITS { // bits description
/* Битовое поле rsvd1, ширина 3 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:3; // 2:0 reserved
/* Битовое поле RXFUNC, ширина 1 бит; данные RXFUNC. */
Uint16 RXFUNC:1; // 3 RXFUNC
/* Битовое поле rsvd2, ширина 12 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:12; // 15:4 reserved
/* Битовое поле rsvd3, ширина 16 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3:16; // 31:16 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANRIOC_REG в одной области памяти. */
union CANRIOC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANRIOC_BITS bit;; порядок полей определяет расположение данных. */
struct CANRIOC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Time-out Control register (CANTOC) bit definitions */
/* Описывает структуру CANTOC_BITS; порядок полей определяет расположение данных. */
struct CANTOC_BITS { // bit description
/* Битовое поле TOC0, ширина 1 бит; данные TOC0. */
Uint16 TOC0:1; // 0 TOC for Mailbox 0
/* Битовое поле TOC1, ширина 1 бит; данные TOC1. */
Uint16 TOC1:1; // 1 TOC for Mailbox 1
/* Битовое поле TOC2, ширина 1 бит; данные TOC2. */
Uint16 TOC2:1; // 2 TOC for Mailbox 2
/* Битовое поле TOC3, ширина 1 бит; данные TOC3. */
Uint16 TOC3:1; // 3 TOC for Mailbox 3
/* Битовое поле TOC4, ширина 1 бит; данные TOC4. */
Uint16 TOC4:1; // 4 TOC for Mailbox 4
/* Битовое поле TOC5, ширина 1 бит; данные TOC5. */
Uint16 TOC5:1; // 5 TOC for Mailbox 5
/* Битовое поле TOC6, ширина 1 бит; данные TOC6. */
Uint16 TOC6:1; // 6 TOC for Mailbox 6
/* Битовое поле TOC7, ширина 1 бит; данные TOC7. */
Uint16 TOC7:1; // 7 TOC for Mailbox 7
/* Битовое поле TOC8, ширина 1 бит; данные TOC8. */
Uint16 TOC8:1; // 8 TOC for Mailbox 8
/* Битовое поле TOC9, ширина 1 бит; данные TOC9. */
Uint16 TOC9:1; // 9 TOC for Mailbox 9
/* Битовое поле TOC10, ширина 1 бит; данные TOC10. */
Uint16 TOC10:1; // 10 TOC for Mailbox 10
/* Битовое поле TOC11, ширина 1 бит; данные TOC11. */
Uint16 TOC11:1; // 11 TOC for Mailbox 11
/* Битовое поле TOC12, ширина 1 бит; данные TOC12. */
Uint16 TOC12:1; // 12 TOC for Mailbox 12
/* Битовое поле TOC13, ширина 1 бит; данные TOC13. */
Uint16 TOC13:1; // 13 TOC for Mailbox 13
/* Битовое поле TOC14, ширина 1 бит; данные TOC14. */
Uint16 TOC14:1; // 14 TOC for Mailbox 14
/* Битовое поле TOC15, ширина 1 бит; данные TOC15. */
Uint16 TOC15:1; // 15 TOC for Mailbox 15
/* Битовое поле TOC16, ширина 1 бит; данные TOC16. */
Uint16 TOC16:1; // 16 TOC for Mailbox 16
/* Битовое поле TOC17, ширина 1 бит; данные TOC17. */
Uint16 TOC17:1; // 17 TOC for Mailbox 17
/* Битовое поле TOC18, ширина 1 бит; данные TOC18. */
Uint16 TOC18:1; // 18 TOC for Mailbox 18
/* Битовое поле TOC19, ширина 1 бит; данные TOC19. */
Uint16 TOC19:1; // 19 TOC for Mailbox 19
/* Битовое поле TOC20, ширина 1 бит; данные TOC20. */
Uint16 TOC20:1; // 20 TOC for Mailbox 20
/* Битовое поле TOC21, ширина 1 бит; данные TOC21. */
Uint16 TOC21:1; // 21 TOC for Mailbox 21
/* Битовое поле TOC22, ширина 1 бит; данные TOC22. */
Uint16 TOC22:1; // 22 TOC for Mailbox 22
/* Битовое поле TOC23, ширина 1 бит; данные TOC23. */
Uint16 TOC23:1; // 23 TOC for Mailbox 23
/* Битовое поле TOC24, ширина 1 бит; данные TOC24. */
Uint16 TOC24:1; // 24 TOC for Mailbox 24
/* Битовое поле TOC25, ширина 1 бит; данные TOC25. */
Uint16 TOC25:1; // 25 TOC for Mailbox 25
/* Битовое поле TOC26, ширина 1 бит; данные TOC26. */
Uint16 TOC26:1; // 26 TOC for Mailbox 26
/* Битовое поле TOC27, ширина 1 бит; данные TOC27. */
Uint16 TOC27:1; // 27 TOC for Mailbox 27
/* Битовое поле TOC28, ширина 1 бит; данные TOC28. */
Uint16 TOC28:1; // 28 TOC for Mailbox 28
/* Битовое поле TOC29, ширина 1 бит; данные TOC29. */
Uint16 TOC29:1; // 29 TOC for Mailbox 29
/* Битовое поле TOC30, ширина 1 бит; данные TOC30. */
Uint16 TOC30:1; // 30 TOC for Mailbox 30
/* Битовое поле TOC31, ширина 1 бит; данные TOC31. */
Uint16 TOC31:1; // 31 TOC for Mailbox 31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANTOC_REG в одной области памяти. */
union CANTOC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANTOC_BITS bit;; порядок полей определяет расположение данных. */
struct CANTOC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Time-out Status register (CANTOS) bit definitions */
/* Описывает структуру CANTOS_BITS; порядок полей определяет расположение данных. */
struct CANTOS_BITS { // bit description
/* Битовое поле TOS0, ширина 1 бит; данные TOS0. */
Uint16 TOS0:1; // 0 TOS for Mailbox 0
/* Битовое поле TOS1, ширина 1 бит; данные TOS1. */
Uint16 TOS1:1; // 1 TOS for Mailbox 1
/* Битовое поле TOS2, ширина 1 бит; данные TOS2. */
Uint16 TOS2:1; // 2 TOS for Mailbox 2
/* Битовое поле TOS3, ширина 1 бит; данные TOS3. */
Uint16 TOS3:1; // 3 TOS for Mailbox 3
/* Битовое поле TOS4, ширина 1 бит; данные TOS4. */
Uint16 TOS4:1; // 4 TOS for Mailbox 4
/* Битовое поле TOS5, ширина 1 бит; данные TOS5. */
Uint16 TOS5:1; // 5 TOS for Mailbox 5
/* Битовое поле TOS6, ширина 1 бит; данные TOS6. */
Uint16 TOS6:1; // 6 TOS for Mailbox 6
/* Битовое поле TOS7, ширина 1 бит; данные TOS7. */
Uint16 TOS7:1; // 7 TOS for Mailbox 7
/* Битовое поле TOS8, ширина 1 бит; данные TOS8. */
Uint16 TOS8:1; // 8 TOS for Mailbox 8
/* Битовое поле TOS9, ширина 1 бит; данные TOS9. */
Uint16 TOS9:1; // 9 TOS for Mailbox 9
/* Битовое поле TOS10, ширина 1 бит; данные TOS10. */
Uint16 TOS10:1; // 10 TOS for Mailbox 10
/* Битовое поле TOS11, ширина 1 бит; данные TOS11. */
Uint16 TOS11:1; // 11 TOS for Mailbox 11
/* Битовое поле TOS12, ширина 1 бит; данные TOS12. */
Uint16 TOS12:1; // 12 TOS for Mailbox 12
/* Битовое поле TOS13, ширина 1 бит; данные TOS13. */
Uint16 TOS13:1; // 13 TOS for Mailbox 13
/* Битовое поле TOS14, ширина 1 бит; данные TOS14. */
Uint16 TOS14:1; // 14 TOS for Mailbox 14
/* Битовое поле TOS15, ширина 1 бит; данные TOS15. */
Uint16 TOS15:1; // 15 TOS for Mailbox 15
/* Битовое поле TOS16, ширина 1 бит; данные TOS16. */
Uint16 TOS16:1; // 16 TOS for Mailbox 16
/* Битовое поле TOS17, ширина 1 бит; данные TOS17. */
Uint16 TOS17:1; // 17 TOS for Mailbox 17
/* Битовое поле TOS18, ширина 1 бит; данные TOS18. */
Uint16 TOS18:1; // 18 TOS for Mailbox 18
/* Битовое поле TOS19, ширина 1 бит; данные TOS19. */
Uint16 TOS19:1; // 19 TOS for Mailbox 19
/* Битовое поле TOS20, ширина 1 бит; данные TOS20. */
Uint16 TOS20:1; // 20 TOS for Mailbox 20
/* Битовое поле TOS21, ширина 1 бит; данные TOS21. */
Uint16 TOS21:1; // 21 TOS for Mailbox 21
/* Битовое поле TOS22, ширина 1 бит; данные TOS22. */
Uint16 TOS22:1; // 22 TOS for Mailbox 22
/* Битовое поле TOS23, ширина 1 бит; данные TOS23. */
Uint16 TOS23:1; // 23 TOS for Mailbox 23
/* Битовое поле TOS24, ширина 1 бит; данные TOS24. */
Uint16 TOS24:1; // 24 TOS for Mailbox 24
/* Битовое поле TOS25, ширина 1 бит; данные TOS25. */
Uint16 TOS25:1; // 25 TOS for Mailbox 25
/* Битовое поле TOS26, ширина 1 бит; данные TOS26. */
Uint16 TOS26:1; // 26 TOS for Mailbox 26
/* Битовое поле TOS27, ширина 1 бит; данные TOS27. */
Uint16 TOS27:1; // 27 TOS for Mailbox 27
/* Битовое поле TOS28, ширина 1 бит; данные TOS28. */
Uint16 TOS28:1; // 28 TOS for Mailbox 28
/* Битовое поле TOS29, ширина 1 бит; данные TOS29. */
Uint16 TOS29:1; // 29 TOS for Mailbox 29
/* Битовое поле TOS30, ширина 1 бит; данные TOS30. */
Uint16 TOS30:1; // 30 TOS for Mailbox 30
/* Битовое поле TOS31, ширина 1 бит; данные TOS31. */
Uint16 TOS31:1; // 31 TOS for Mailbox 31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANTOS_REG в одной области памяти. */
union CANTOS_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANTOS_BITS bit;; порядок полей определяет расположение данных. */
struct CANTOS_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/**************************************/
/* eCAN Control & Status register file */
/**************************************/
/* Описывает структуру ECAN_REGS; порядок полей определяет расположение данных. */
struct ECAN_REGS {
/* Объединяет несколько представлений CANME_REG CANME; в одной области памяти. */
union CANME_REG CANME; // Mailbox Enable
/* Объединяет несколько представлений CANMD_REG CANMD; в одной области памяти. */
union CANMD_REG CANMD; // Mailbox Direction
/* Объединяет несколько представлений CANTRS_REG CANTRS; в одной области памяти. */
union CANTRS_REG CANTRS; // Transmit Request Set
/* Объединяет несколько представлений CANTRR_REG CANTRR; в одной области памяти. */
union CANTRR_REG CANTRR; // Transmit Request Reset
/* Объединяет несколько представлений CANTA_REG CANTA; в одной области памяти. */
union CANTA_REG CANTA; // Transmit Acknowledge
/* Объединяет несколько представлений CANAA_REG CANAA; в одной области памяти. */
union CANAA_REG CANAA; // Abort Acknowledge
/* Объединяет несколько представлений CANRMP_REG CANRMP; в одной области памяти. */
union CANRMP_REG CANRMP; // Received Message Pending
/* Объединяет несколько представлений CANRML_REG CANRML; в одной области памяти. */
union CANRML_REG CANRML; // Received Message Lost
/* Объединяет несколько представлений CANRFP_REG CANRFP; в одной области памяти. */
union CANRFP_REG CANRFP; // Remote Frame Pending
/* Объединяет несколько представлений CANGAM_REG CANGAM; в одной области памяти. */
union CANGAM_REG CANGAM; // Global Acceptance Mask
/* Объединяет несколько представлений CANMC_REG CANMC; в одной области памяти. */
union CANMC_REG CANMC; // Master Control
/* Объединяет несколько представлений CANBTC_REG CANBTC; в одной области памяти. */
union CANBTC_REG CANBTC; // Bit Timing
/* Объединяет несколько представлений CANES_REG CANES; в одной области памяти. */
union CANES_REG CANES; // Error Status
/* Объединяет несколько представлений CANTEC_REG CANTEC; в одной области памяти. */
union CANTEC_REG CANTEC; // Transmit Error Counter
/* Объединяет несколько представлений CANREC_REG CANREC; в одной области памяти. */
union CANREC_REG CANREC; // Receive Error Counter
/* Объединяет несколько представлений CANGIF0_REG CANGIF0; в одной области памяти. */
union CANGIF0_REG CANGIF0; // Global Interrupt Flag 0
/* Объединяет несколько представлений CANGIM_REG CANGIM; в одной области памяти. */
union CANGIM_REG CANGIM; // Global Interrupt Mask 0
/* Объединяет несколько представлений CANGIF1_REG CANGIF1; в одной области памяти. */
union CANGIF1_REG CANGIF1; // Global Interrupt Flag 1
/* Объединяет несколько представлений CANMIM_REG CANMIM; в одной области памяти. */
union CANMIM_REG CANMIM; // Mailbox Interrupt Mask
/* Объединяет несколько представлений CANMIL_REG CANMIL; в одной области памяти. */
union CANMIL_REG CANMIL; // Mailbox Interrupt Level
/* Объединяет несколько представлений CANOPC_REG CANOPC; в одной области памяти. */
union CANOPC_REG CANOPC; // Overwrite Protection Control
/* Объединяет несколько представлений CANTIOC_REG CANTIOC; в одной области памяти. */
union CANTIOC_REG CANTIOC; // TX I/O Control
/* Объединяет несколько представлений CANRIOC_REG CANRIOC; в одной области памяти. */
union CANRIOC_REG CANRIOC; // RX I/O Control
/* Объявляет CANTSC — данные CANTSC. */
Uint32 CANTSC; // Time-stamp counter
/* Объединяет несколько представлений CANTOC_REG CANTOC; в одной области памяти. */
union CANTOC_REG CANTOC; // Time-out Control
/* Объединяет несколько представлений CANTOS_REG CANTOS; в одной области памяти. */
union CANTOS_REG CANTOS; // Time-out Status
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* --------------------------------------------------- */
@@ -880,143 +1609,247 @@ struct ECAN_REGS {
/* ----------------------------------------------------*/
/* eCAN Message ID (MSGID) bit definitions */
/* Описывает структуру CANMSGID_BITS; порядок полей определяет расположение данных. */
struct CANMSGID_BITS { // bits description
/* Битовое поле EXTMSGID_L, ширина 16 бит; данные EXTMSGID_L. */
Uint16 EXTMSGID_L:16; // 0:15
/* Битовое поле EXTMSGID_H, ширина 2 бит; данные EXTMSGID_H. */
Uint16 EXTMSGID_H:2; // 16:17
/* Битовое поле STDMSGID, ширина 11 бит; данные STDMSGID. */
Uint16 STDMSGID:11; // 18:28
/* Битовое поле AAM, ширина 1 бит; данные AAM. */
Uint16 AAM:1; // 29
/* Битовое поле AME, ширина 1 бит; данные AME. */
Uint16 AME:1; // 30
/* Битовое поле IDE, ширина 1 бит; данные IDE. */
Uint16 IDE:1; // 31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANMSGID_REG в одной области памяти. */
union CANMSGID_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANMSGID_BITS bit;; порядок полей определяет расположение данных. */
struct CANMSGID_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Message Control Register (MSGCTRL) bit definitions */
/* Описывает структуру CANMSGCTRL_BITS; порядок полей определяет расположение данных. */
struct CANMSGCTRL_BITS { // bits description
/* Битовое поле DLC, ширина 4 бит; данные DLC. */
Uint16 DLC:4; // 0:3
/* Битовое поле RTR, ширина 1 бит; данные RTR. */
Uint16 RTR:1; // 4
/* Битовое поле rsvd1, ширина 3 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:3; // 7:5 reserved
/* Битовое поле TPL, ширина 5 бит; данные TPL. */
Uint16 TPL:5; // 12:8
/* Битовое поле rsvd2, ширина 3 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:3; // 15:13 reserved
/* Битовое поле rsvd3, ширина 16 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3:16; // 31:16 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANMSGCTRL_REG в одной области памяти. */
union CANMSGCTRL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANMSGCTRL_BITS bit;; порядок полей определяет расположение данных. */
struct CANMSGCTRL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Message Data Register low (MDR_L) word definitions */
/* Описывает структуру CANMDL_WORDS; порядок полей определяет расположение данных. */
struct CANMDL_WORDS { // bits description
/* Битовое поле LOW_WORD, ширина 16 бит; LOW слово. */
Uint16 LOW_WORD:16; // 0:15
/* Битовое поле HI_WORD, ширина 16 бит; HI слово. */
Uint16 HI_WORD:16; // 31:16
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Message Data Register low (MDR_L) byte definitions */
/* Описывает структуру CANMDL_BYTES; порядок полей определяет расположение данных. */
struct CANMDL_BYTES { // bits description
/* Битовое поле BYTE3, ширина 8 бит; данные BYTE3. */
Uint16 BYTE3:8; // 31:24
/* Битовое поле BYTE2, ширина 8 бит; данные BYTE2. */
Uint16 BYTE2:8; // 23:16
/* Битовое поле BYTE1, ширина 8 бит; данные BYTE1. */
Uint16 BYTE1:8; // 15:8
/* Битовое поле BYTE0, ширина 8 бит; данные BYTE0. */
Uint16 BYTE0:8; // 7:0
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANMDL_REG в одной области памяти. */
union CANMDL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANMDL_WORDS word;; порядок полей определяет расположение данных. */
struct CANMDL_WORDS word;
/* Описывает структуру CANMDL_BYTES byte;; порядок полей определяет расположение данных. */
struct CANMDL_BYTES byte;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Message Data Register high (MDR_H) word definitions */
/* Описывает структуру CANMDH_WORDS; порядок полей определяет расположение данных. */
struct CANMDH_WORDS { // bits description
/* Битовое поле LOW_WORD, ширина 16 бит; LOW слово. */
Uint16 LOW_WORD:16; // 0:15
/* Битовое поле HI_WORD, ширина 16 бит; HI слово. */
Uint16 HI_WORD:16; // 31:16
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Message Data Register low (MDR_H) byte definitions */
/* Описывает структуру CANMDH_BYTES; порядок полей определяет расположение данных. */
struct CANMDH_BYTES { // bits description
/* Битовое поле BYTE7, ширина 8 бит; данные BYTE7. */
Uint16 BYTE7:8; // 63:56
/* Битовое поле BYTE6, ширина 8 бит; данные BYTE6. */
Uint16 BYTE6:8; // 55:48
/* Битовое поле BYTE5, ширина 8 бит; данные BYTE5. */
Uint16 BYTE5:8; // 47:40
/* Битовое поле BYTE4, ширина 8 бит; данные BYTE4. */
Uint16 BYTE4:8; // 39:32
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANMDH_REG в одной области памяти. */
union CANMDH_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANMDH_WORDS word;; порядок полей определяет расположение данных. */
struct CANMDH_WORDS word;
/* Описывает структуру CANMDH_BYTES byte;; порядок полей определяет расположение данных. */
struct CANMDH_BYTES byte;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру MBOX; порядок полей определяет расположение данных. */
struct MBOX {
/* Объединяет несколько представлений CANMSGID_REG MSGID; в одной области памяти. */
union CANMSGID_REG MSGID;
/* Объединяет несколько представлений CANMSGCTRL_REG MSGCTRL; в одной области памяти. */
union CANMSGCTRL_REG MSGCTRL;
/* Объединяет несколько представлений CANMDL_REG MDL; в одной области памяти. */
union CANMDL_REG MDL;
/* Объединяет несколько представлений CANMDH_REG MDH; в одной области памяти. */
union CANMDH_REG MDH;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/**************************************/
/* eCAN Mailboxes */
/**************************************/
/* Описывает структуру ECAN_MBOXES; порядок полей определяет расположение данных. */
struct ECAN_MBOXES {
/* Описывает структуру MBOX MBOX0;; порядок полей определяет расположение данных. */
struct MBOX MBOX0;
/* Описывает структуру MBOX MBOX1;; порядок полей определяет расположение данных. */
struct MBOX MBOX1;
/* Описывает структуру MBOX MBOX2;; порядок полей определяет расположение данных. */
struct MBOX MBOX2;
/* Описывает структуру MBOX MBOX3;; порядок полей определяет расположение данных. */
struct MBOX MBOX3;
/* Описывает структуру MBOX MBOX4;; порядок полей определяет расположение данных. */
struct MBOX MBOX4;
/* Описывает структуру MBOX MBOX5;; порядок полей определяет расположение данных. */
struct MBOX MBOX5;
/* Описывает структуру MBOX MBOX6;; порядок полей определяет расположение данных. */
struct MBOX MBOX6;
/* Описывает структуру MBOX MBOX7;; порядок полей определяет расположение данных. */
struct MBOX MBOX7;
/* Описывает структуру MBOX MBOX8;; порядок полей определяет расположение данных. */
struct MBOX MBOX8;
/* Описывает структуру MBOX MBOX9;; порядок полей определяет расположение данных. */
struct MBOX MBOX9;
/* Описывает структуру MBOX MBOX10;; порядок полей определяет расположение данных. */
struct MBOX MBOX10;
/* Описывает структуру MBOX MBOX11;; порядок полей определяет расположение данных. */
struct MBOX MBOX11;
/* Описывает структуру MBOX MBOX12;; порядок полей определяет расположение данных. */
struct MBOX MBOX12;
/* Описывает структуру MBOX MBOX13;; порядок полей определяет расположение данных. */
struct MBOX MBOX13;
/* Описывает структуру MBOX MBOX14;; порядок полей определяет расположение данных. */
struct MBOX MBOX14;
/* Описывает структуру MBOX MBOX15;; порядок полей определяет расположение данных. */
struct MBOX MBOX15;
/* Описывает структуру MBOX MBOX16;; порядок полей определяет расположение данных. */
struct MBOX MBOX16;
/* Описывает структуру MBOX MBOX17;; порядок полей определяет расположение данных. */
struct MBOX MBOX17;
/* Описывает структуру MBOX MBOX18;; порядок полей определяет расположение данных. */
struct MBOX MBOX18;
/* Описывает структуру MBOX MBOX19;; порядок полей определяет расположение данных. */
struct MBOX MBOX19;
/* Описывает структуру MBOX MBOX20;; порядок полей определяет расположение данных. */
struct MBOX MBOX20;
/* Описывает структуру MBOX MBOX21;; порядок полей определяет расположение данных. */
struct MBOX MBOX21;
/* Описывает структуру MBOX MBOX22;; порядок полей определяет расположение данных. */
struct MBOX MBOX22;
/* Описывает структуру MBOX MBOX23;; порядок полей определяет расположение данных. */
struct MBOX MBOX23;
/* Описывает структуру MBOX MBOX24;; порядок полей определяет расположение данных. */
struct MBOX MBOX24;
/* Описывает структуру MBOX MBOX25;; порядок полей определяет расположение данных. */
struct MBOX MBOX25;
/* Описывает структуру MBOX MBOX26;; порядок полей определяет расположение данных. */
struct MBOX MBOX26;
/* Описывает структуру MBOX MBOX27;; порядок полей определяет расположение данных. */
struct MBOX MBOX27;
/* Описывает структуру MBOX MBOX28;; порядок полей определяет расположение данных. */
struct MBOX MBOX28;
/* Описывает структуру MBOX MBOX29;; порядок полей определяет расположение данных. */
struct MBOX MBOX29;
/* Описывает структуру MBOX MBOX30;; порядок полей определяет расположение данных. */
struct MBOX MBOX30;
/* Описывает структуру MBOX MBOX31;; порядок полей определяет расположение данных. */
struct MBOX MBOX31;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* eCAN Local Acceptance Mask (LAM) bit definitions */
/* Описывает структуру CANLAM_BITS; порядок полей определяет расположение данных. */
struct CANLAM_BITS { // bits description
/* Битовое поле LAM_L, ширина 16 бит; данные LAM_L. */
Uint16 LAM_L:16; // 0:15
/* Битовое поле LAM_H, ширина 13 бит; данные LAM_H. */
Uint16 LAM_H:13; // 16:28
/* Битовое поле rsvd1, ширина 2 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:2; // 29:30 reserved
/* Битовое поле LAMI, ширина 1 бит; данные LAMI. */
Uint16 LAMI:1; // 31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CANLAM_REG в одной области памяти. */
union CANLAM_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CANLAM_BITS bit;; порядок полей определяет расположение данных. */
struct CANLAM_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
@@ -1025,135 +1858,250 @@ union CANLAM_REG {
/**************************************/
/* eCAN LAM File */
/* Описывает структуру LAM_REGS; порядок полей определяет расположение данных. */
struct LAM_REGS {
/* Объединяет несколько представлений CANLAM_REG LAM0; в одной области памяти. */
union CANLAM_REG LAM0;
/* Объединяет несколько представлений CANLAM_REG LAM1; в одной области памяти. */
union CANLAM_REG LAM1;
/* Объединяет несколько представлений CANLAM_REG LAM2; в одной области памяти. */
union CANLAM_REG LAM2;
/* Объединяет несколько представлений CANLAM_REG LAM3; в одной области памяти. */
union CANLAM_REG LAM3;
/* Объединяет несколько представлений CANLAM_REG LAM4; в одной области памяти. */
union CANLAM_REG LAM4;
/* Объединяет несколько представлений CANLAM_REG LAM5; в одной области памяти. */
union CANLAM_REG LAM5;
/* Объединяет несколько представлений CANLAM_REG LAM6; в одной области памяти. */
union CANLAM_REG LAM6;
/* Объединяет несколько представлений CANLAM_REG LAM7; в одной области памяти. */
union CANLAM_REG LAM7;
/* Объединяет несколько представлений CANLAM_REG LAM8; в одной области памяти. */
union CANLAM_REG LAM8;
/* Объединяет несколько представлений CANLAM_REG LAM9; в одной области памяти. */
union CANLAM_REG LAM9;
/* Объединяет несколько представлений CANLAM_REG LAM10; в одной области памяти. */
union CANLAM_REG LAM10;
/* Объединяет несколько представлений CANLAM_REG LAM11; в одной области памяти. */
union CANLAM_REG LAM11;
/* Объединяет несколько представлений CANLAM_REG LAM12; в одной области памяти. */
union CANLAM_REG LAM12;
/* Объединяет несколько представлений CANLAM_REG LAM13; в одной области памяти. */
union CANLAM_REG LAM13;
/* Объединяет несколько представлений CANLAM_REG LAM14; в одной области памяти. */
union CANLAM_REG LAM14;
/* Объединяет несколько представлений CANLAM_REG LAM15; в одной области памяти. */
union CANLAM_REG LAM15;
/* Объединяет несколько представлений CANLAM_REG LAM16; в одной области памяти. */
union CANLAM_REG LAM16;
/* Объединяет несколько представлений CANLAM_REG LAM17; в одной области памяти. */
union CANLAM_REG LAM17;
/* Объединяет несколько представлений CANLAM_REG LAM18; в одной области памяти. */
union CANLAM_REG LAM18;
/* Объединяет несколько представлений CANLAM_REG LAM19; в одной области памяти. */
union CANLAM_REG LAM19;
/* Объединяет несколько представлений CANLAM_REG LAM20; в одной области памяти. */
union CANLAM_REG LAM20;
/* Объединяет несколько представлений CANLAM_REG LAM21; в одной области памяти. */
union CANLAM_REG LAM21;
/* Объединяет несколько представлений CANLAM_REG LAM22; в одной области памяти. */
union CANLAM_REG LAM22;
/* Объединяет несколько представлений CANLAM_REG LAM23; в одной области памяти. */
union CANLAM_REG LAM23;
/* Объединяет несколько представлений CANLAM_REG LAM24; в одной области памяти. */
union CANLAM_REG LAM24;
/* Объединяет несколько представлений CANLAM_REG LAM25; в одной области памяти. */
union CANLAM_REG LAM25;
/* Объединяет несколько представлений CANLAM_REG LAM26; в одной области памяти. */
union CANLAM_REG LAM26;
/* Объединяет несколько представлений CANLAM_REG LAM27; в одной области памяти. */
union CANLAM_REG LAM27;
/* Объединяет несколько представлений CANLAM_REG LAM28; в одной области памяти. */
union CANLAM_REG LAM28;
/* Объединяет несколько представлений CANLAM_REG LAM29; в одной области памяти. */
union CANLAM_REG LAM29;
/* Объединяет несколько представлений CANLAM_REG LAM30; в одной области памяти. */
union CANLAM_REG LAM30;
/* Объединяет несколько представлений CANLAM_REG LAM31; в одной области памяти. */
union CANLAM_REG LAM31;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Mailbox MOTS File */
/* Описывает структуру MOTS_REGS; порядок полей определяет расположение данных. */
struct MOTS_REGS {
/* Объявляет MOTS0 — данные MOTS0. */
Uint32 MOTS0;
/* Объявляет MOTS1 — данные MOTS1. */
Uint32 MOTS1;
/* Объявляет MOTS2 — данные MOTS2. */
Uint32 MOTS2;
/* Объявляет MOTS3 — данные MOTS3. */
Uint32 MOTS3;
/* Объявляет MOTS4 — данные MOTS4. */
Uint32 MOTS4;
/* Объявляет MOTS5 — данные MOTS5. */
Uint32 MOTS5;
/* Объявляет MOTS6 — данные MOTS6. */
Uint32 MOTS6;
/* Объявляет MOTS7 — данные MOTS7. */
Uint32 MOTS7;
/* Объявляет MOTS8 — данные MOTS8. */
Uint32 MOTS8;
/* Объявляет MOTS9 — данные MOTS9. */
Uint32 MOTS9;
/* Объявляет MOTS10 — данные MOTS10. */
Uint32 MOTS10;
/* Объявляет MOTS11 — данные MOTS11. */
Uint32 MOTS11;
/* Объявляет MOTS12 — данные MOTS12. */
Uint32 MOTS12;
/* Объявляет MOTS13 — данные MOTS13. */
Uint32 MOTS13;
/* Объявляет MOTS14 — данные MOTS14. */
Uint32 MOTS14;
/* Объявляет MOTS15 — данные MOTS15. */
Uint32 MOTS15;
/* Объявляет MOTS16 — данные MOTS16. */
Uint32 MOTS16;
/* Объявляет MOTS17 — данные MOTS17. */
Uint32 MOTS17;
/* Объявляет MOTS18 — данные MOTS18. */
Uint32 MOTS18;
/* Объявляет MOTS19 — данные MOTS19. */
Uint32 MOTS19;
/* Объявляет MOTS20 — данные MOTS20. */
Uint32 MOTS20;
/* Объявляет MOTS21 — данные MOTS21. */
Uint32 MOTS21;
/* Объявляет MOTS22 — данные MOTS22. */
Uint32 MOTS22;
/* Объявляет MOTS23 — данные MOTS23. */
Uint32 MOTS23;
/* Объявляет MOTS24 — данные MOTS24. */
Uint32 MOTS24;
/* Объявляет MOTS25 — данные MOTS25. */
Uint32 MOTS25;
/* Объявляет MOTS26 — данные MOTS26. */
Uint32 MOTS26;
/* Объявляет MOTS27 — данные MOTS27. */
Uint32 MOTS27;
/* Объявляет MOTS28 — данные MOTS28. */
Uint32 MOTS28;
/* Объявляет MOTS29 — данные MOTS29. */
Uint32 MOTS29;
/* Объявляет MOTS30 — данные MOTS30. */
Uint32 MOTS30;
/* Объявляет MOTS31 — данные MOTS31. */
Uint32 MOTS31;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Mailbox MOTO File */
/* Описывает структуру MOTO_REGS; порядок полей определяет расположение данных. */
struct MOTO_REGS {
/* Объявляет MOTO0 — данные MOTO0. */
Uint32 MOTO0;
/* Объявляет MOTO1 — данные MOTO1. */
Uint32 MOTO1;
/* Объявляет MOTO2 — данные MOTO2. */
Uint32 MOTO2;
/* Объявляет MOTO3 — данные MOTO3. */
Uint32 MOTO3;
/* Объявляет MOTO4 — данные MOTO4. */
Uint32 MOTO4;
/* Объявляет MOTO5 — данные MOTO5. */
Uint32 MOTO5;
/* Объявляет MOTO6 — данные MOTO6. */
Uint32 MOTO6;
/* Объявляет MOTO7 — данные MOTO7. */
Uint32 MOTO7;
/* Объявляет MOTO8 — данные MOTO8. */
Uint32 MOTO8;
/* Объявляет MOTO9 — данные MOTO9. */
Uint32 MOTO9;
/* Объявляет MOTO10 — данные MOTO10. */
Uint32 MOTO10;
/* Объявляет MOTO11 — данные MOTO11. */
Uint32 MOTO11;
/* Объявляет MOTO12 — данные MOTO12. */
Uint32 MOTO12;
/* Объявляет MOTO13 — данные MOTO13. */
Uint32 MOTO13;
/* Объявляет MOTO14 — данные MOTO14. */
Uint32 MOTO14;
/* Объявляет MOTO15 — данные MOTO15. */
Uint32 MOTO15;
/* Объявляет MOTO16 — данные MOTO16. */
Uint32 MOTO16;
/* Объявляет MOTO17 — данные MOTO17. */
Uint32 MOTO17;
/* Объявляет MOTO18 — данные MOTO18. */
Uint32 MOTO18;
/* Объявляет MOTO19 — данные MOTO19. */
Uint32 MOTO19;
/* Объявляет MOTO20 — данные MOTO20. */
Uint32 MOTO20;
/* Объявляет MOTO21 — данные MOTO21. */
Uint32 MOTO21;
/* Объявляет MOTO22 — данные MOTO22. */
Uint32 MOTO22;
/* Объявляет MOTO23 — данные MOTO23. */
Uint32 MOTO23;
/* Объявляет MOTO24 — данные MOTO24. */
Uint32 MOTO24;
/* Объявляет MOTO25 — данные MOTO25. */
Uint32 MOTO25;
/* Объявляет MOTO26 — данные MOTO26. */
Uint32 MOTO26;
/* Объявляет MOTO27 — данные MOTO27. */
Uint32 MOTO27;
/* Объявляет MOTO28 — данные MOTO28. */
Uint32 MOTO28;
/* Объявляет MOTO29 — данные MOTO29. */
Uint32 MOTO29;
/* Объявляет MOTO30 — данные MOTO30. */
Uint32 MOTO30;
/* Объявляет MOTO31 — данные MOTO31. */
Uint32 MOTO31;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// eCAN External References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern volatile struct ECAN_REGS ECanaRegs;; порядок элементов сохраняется. */
extern volatile struct ECAN_REGS ECanaRegs;
/* Продолжает список аргументов, полей или выражение extern volatile struct ECAN_MBOXES ECanaMboxes;; порядок элементов сохраняется. */
extern volatile struct ECAN_MBOXES ECanaMboxes;
/* Продолжает список аргументов, полей или выражение extern volatile struct LAM_REGS ECanaLAMRegs;; порядок элементов сохраняется. */
extern volatile struct LAM_REGS ECanaLAMRegs;
/* Продолжает список аргументов, полей или выражение extern volatile struct MOTO_REGS ECanaMOTORegs;; порядок элементов сохраняется. */
extern volatile struct MOTO_REGS ECanaMOTORegs;
/* Продолжает список аргументов, полей или выражение extern volatile struct MOTS_REGS ECanaMOTSRegs;; порядок элементов сохраняется. */
extern volatile struct MOTS_REGS ECanaMOTSRegs;
/* Продолжает список аргументов, полей или выражение extern volatile struct ECAN_REGS ECanbRegs;; порядок элементов сохраняется. */
extern volatile struct ECAN_REGS ECanbRegs;
/* Продолжает список аргументов, полей или выражение extern volatile struct ECAN_MBOXES ECanbMboxes;; порядок элементов сохраняется. */
extern volatile struct ECAN_MBOXES ECanbMboxes;
/* Продолжает список аргументов, полей или выражение extern volatile struct LAM_REGS ECanbLAMRegs;; порядок элементов сохраняется. */
extern volatile struct LAM_REGS ECanbLAMRegs;
/* Продолжает список аргументов, полей или выражение extern volatile struct MOTO_REGS ECanbMOTORegs;; порядок элементов сохраняется. */
extern volatile struct MOTO_REGS ECanbMOTORegs;
/* Продолжает список аргументов, полей или выражение extern volatile struct MOTS_REGS ECanbMOTSRegs;; порядок элементов сохраняется. */
extern volatile struct MOTS_REGS ECanbMOTSRegs;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_ECAN.H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание ECap для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/1 $
// Checkin $Date: August 18, 2006 13:52:07 $
//###########################################################################
@@ -11,33 +12,55 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_ECAP_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_ECAP_H
/* Определяет защитный символ или переключатель DSP2833x_ECAP_H для последующей компиляции. */
#define DSP2833x_ECAP_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
//----------------------------------------------------
// Capture control register 1 bit definitions */
/* Описывает структуру ECCTL1_BITS; порядок полей определяет расположение данных. */
struct ECCTL1_BITS { // bits description
/* Битовое поле CAP1POL, ширина 1 бит; данные CAP1POL. */
Uint16 CAP1POL:1; // 0 Capture Event 1 Polarity select
/* Битовое поле CTRRST1, ширина 1 бит; данные CTRRST1. */
Uint16 CTRRST1:1; // 1 Counter Reset on Capture Event 1
/* Битовое поле CAP2POL, ширина 1 бит; данные CAP2POL. */
Uint16 CAP2POL:1; // 2 Capture Event 2 Polarity select
/* Битовое поле CTRRST2, ширина 1 бит; данные CTRRST2. */
Uint16 CTRRST2:1; // 3 Counter Reset on Capture Event 2
/* Битовое поле CAP3POL, ширина 1 бит; данные CAP3POL. */
Uint16 CAP3POL:1; // 4 Capture Event 3 Polarity select
/* Битовое поле CTRRST3, ширина 1 бит; данные CTRRST3. */
Uint16 CTRRST3:1; // 5 Counter Reset on Capture Event 3
/* Битовое поле CAP4POL, ширина 1 бит; данные CAP4POL. */
Uint16 CAP4POL:1; // 6 Capture Event 4 Polarity select
/* Битовое поле CTRRST4, ширина 1 бит; данные CTRRST4. */
Uint16 CTRRST4:1; // 7 Counter Reset on Capture Event 4
/* Битовое поле CAPLDEN, ширина 1 бит; данные CAPLDEN. */
Uint16 CAPLDEN:1; // 8 Enable Loading CAP1-4 regs on a Cap Event
/* Битовое поле PRESCALE, ширина 5 бит; предделитель. */
Uint16 PRESCALE:5; // 13:9 Event Filter prescale select
/* Битовое поле FREE_SOFT, ширина 2 бит; данные FREE_SOFT. */
Uint16 FREE_SOFT:2; // 15:14 Emulation mode
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ECCTL1_REG в одной области памяти. */
union ECCTL1_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ECCTL1_BITS bit;; порядок полей определяет расположение данных. */
struct ECCTL1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
@@ -46,84 +69,146 @@ union ECCTL1_REG {
// F2833x Rev 0 to Rev A.
//----------------------------------------------------
// Capture control register 2 bit definitions */
/* Описывает структуру ECCTL2_BITS; порядок полей определяет расположение данных. */
struct ECCTL2_BITS { // bits description
/* Битовое поле CONT_ONESHT, ширина 1 бит; данные CONT_ONESHT. */
Uint16 CONT_ONESHT:1; // 0 Continuous or one-shot
/* Битовое поле STOP_WRAP, ширина 2 бит; данные STOP_WRAP. */
Uint16 STOP_WRAP:2; // 2:1 Stop value for one-shot, Wrap for continuous
/* Битовое поле REARM, ширина 1 бит; данные REARM. */
Uint16 REARM:1; // 3 One-shot re-arm
/* Битовое поле TSCTRSTOP, ширина 1 бит; данные TSCTRSTOP. */
Uint16 TSCTRSTOP:1; // 4 TSCNT counter stop
/* Битовое поле SYNCI_EN, ширина 1 бит; данные SYNCI_EN. */
Uint16 SYNCI_EN:1; // 5 Counter sync-in select
/* Битовое поле SYNCO_SEL, ширина 2 бит; данные SYNCO_SEL. */
Uint16 SYNCO_SEL:2; // 7:6 Sync-out mode
/* Битовое поле SWSYNC, ширина 1 бит; данные SWSYNC. */
Uint16 SWSYNC:1; // 8 SW forced counter sync
/* Битовое поле CAP_APWM, ширина 1 бит; данные CAP_APWM. */
Uint16 CAP_APWM:1; // 9 CAP/APWM operating mode select
/* Битовое поле APWMPOL, ширина 1 бит; данные APWMPOL. */
Uint16 APWMPOL:1; // 10 APWM output polarity select
/* Битовое поле rsvd1, ширина 5 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:5; // 15:11
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ECCTL2_REG в одной области памяти. */
union ECCTL2_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ECCTL2_BITS bit;; порядок полей определяет расположение данных. */
struct ECCTL2_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// ECAP interrupt enable register bit definitions */
/* Описывает структуру ECEINT_BITS; порядок полей определяет расположение данных. */
struct ECEINT_BITS { // bits description
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 0 reserved
/* Битовое поле CEVT1, ширина 1 бит; данные CEVT1. */
Uint16 CEVT1:1; // 1 Capture Event 1 Interrupt Enable
/* Битовое поле CEVT2, ширина 1 бит; данные CEVT2. */
Uint16 CEVT2:1; // 2 Capture Event 2 Interrupt Enable
/* Битовое поле CEVT3, ширина 1 бит; данные CEVT3. */
Uint16 CEVT3:1; // 3 Capture Event 3 Interrupt Enable
/* Битовое поле CEVT4, ширина 1 бит; данные CEVT4. */
Uint16 CEVT4:1; // 4 Capture Event 4 Interrupt Enable
/* Битовое поле CTROVF, ширина 1 бит; данные CTROVF. */
Uint16 CTROVF:1; // 5 Counter Overflow Interrupt Enable
/* Битовое поле CTR_EQ_PRD, ширина 1 бит; данные CTR_EQ_PRD. */
Uint16 CTR_EQ_PRD:1; // 6 Period Equal Interrupt Enable
/* Битовое поле CTR_EQ_CMP, ширина 1 бит; данные CTR_EQ_CMP. */
Uint16 CTR_EQ_CMP:1; // 7 Compare Equal Interrupt Enable
/* Битовое поле rsvd2, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:8; // 15:8 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ECEINT_REG в одной области памяти. */
union ECEINT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ECEINT_BITS bit;; порядок полей определяет расположение данных. */
struct ECEINT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// ECAP interrupt flag register bit definitions */
/* Описывает структуру ECFLG_BITS; порядок полей определяет расположение данных. */
struct ECFLG_BITS { // bits description
/* Битовое поле INT, ширина 1 бит; данные INT. */
Uint16 INT:1; // 0 Global Flag
/* Битовое поле CEVT1, ширина 1 бит; данные CEVT1. */
Uint16 CEVT1:1; // 1 Capture Event 1 Interrupt Flag
/* Битовое поле CEVT2, ширина 1 бит; данные CEVT2. */
Uint16 CEVT2:1; // 2 Capture Event 2 Interrupt Flag
/* Битовое поле CEVT3, ширина 1 бит; данные CEVT3. */
Uint16 CEVT3:1; // 3 Capture Event 3 Interrupt Flag
/* Битовое поле CEVT4, ширина 1 бит; данные CEVT4. */
Uint16 CEVT4:1; // 4 Capture Event 4 Interrupt Flag
/* Битовое поле CTROVF, ширина 1 бит; данные CTROVF. */
Uint16 CTROVF:1; // 5 Counter Overflow Interrupt Flag
/* Битовое поле CTR_EQ_PRD, ширина 1 бит; данные CTR_EQ_PRD. */
Uint16 CTR_EQ_PRD:1; // 6 Period Equal Interrupt Flag
/* Битовое поле CTR_EQ_CMP, ширина 1 бит; данные CTR_EQ_CMP. */
Uint16 CTR_EQ_CMP:1; // 7 Compare Equal Interrupt Flag
/* Битовое поле rsvd2, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:8; // 15:8 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ECFLG_REG в одной области памяти. */
union ECFLG_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ECFLG_BITS bit;; порядок полей определяет расположение данных. */
struct ECFLG_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
/* Описывает структуру ECAP_REGS; порядок полей определяет расположение данных. */
struct ECAP_REGS {
/* Объявляет TSCTR — данные TSCTR. */
Uint32 TSCTR; // Time stamp counter
/* Объявляет CTRPHS — данные CTRPHS. */
Uint32 CTRPHS; // Counter phase
/* Объявляет CAP1 — данные CAP1. */
Uint32 CAP1; // Capture 1
/* Объявляет CAP2 — данные CAP2. */
Uint32 CAP2; // Capture 2
/* Объявляет CAP3 — данные CAP3. */
Uint32 CAP3; // Capture 3
/* Объявляет CAP4 — данные CAP4. */
Uint32 CAP4; // Capture 4
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1[8]; // reserved
/* Объединяет несколько представлений ECCTL1_REG ECCTL1; в одной области памяти. */
union ECCTL1_REG ECCTL1; // Capture Control Reg 1
/* Объединяет несколько представлений ECCTL2_REG ECCTL2; в одной области памяти. */
union ECCTL2_REG ECCTL2; // Capture Control Reg 2
/* Объединяет несколько представлений ECEINT_REG ECEINT; в одной области памяти. */
union ECEINT_REG ECEINT; // ECAP interrupt enable
/* Объединяет несколько представлений ECFLG_REG ECFLG; в одной области памяти. */
union ECFLG_REG ECFLG; // ECAP interrupt flags
/* Объединяет несколько представлений ECFLG_REG ECCLR; в одной области памяти. */
union ECFLG_REG ECCLR; // ECAP interrupt clear
/* Объединяет несколько представлений ECEINT_REG ECFRC; в одной области памяти. */
union ECEINT_REG ECFRC; // ECAP interrupt force
/* Объявляет rsvd2 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2[6]; // reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
@@ -132,18 +217,27 @@ struct ECAP_REGS {
//---------------------------------------------------------------------------
// GPI/O External References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern volatile struct ECAP_REGS ECap1Regs;; порядок элементов сохраняется. */
extern volatile struct ECAP_REGS ECap1Regs;
/* Продолжает список аргументов, полей или выражение extern volatile struct ECAP_REGS ECap2Regs;; порядок элементов сохраняется. */
extern volatile struct ECAP_REGS ECap2Regs;
/* Продолжает список аргументов, полей или выражение extern volatile struct ECAP_REGS ECap3Regs;; порядок элементов сохраняется. */
extern volatile struct ECAP_REGS ECap3Regs;
/* Продолжает список аргументов, полей или выражение extern volatile struct ECAP_REGS ECap4Regs;; порядок элементов сохраняется. */
extern volatile struct ECAP_REGS ECap4Regs;
/* Продолжает список аргументов, полей или выражение extern volatile struct ECAP_REGS ECap5Regs;; порядок элементов сохраняется. */
extern volatile struct ECAP_REGS ECap5Regs;
/* Продолжает список аргументов, полей или выражение extern volatile struct ECAP_REGS ECap6Regs;; порядок элементов сохраняется. */
extern volatile struct ECAP_REGS ECap6Regs;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_ECAP_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание EPwm для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/1 $
// Checkin $Date: August 18, 2006 13:52:10 $
//###########################################################################
@@ -11,111 +12,190 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_EPWM_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_EPWM_H
/* Определяет защитный символ или переключатель DSP2833x_EPWM_H для последующей компиляции. */
#define DSP2833x_EPWM_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
//----------------------------------------------------
// Time base control register bit definitions */
/* Описывает структуру TBCTL_BITS; порядок полей определяет расположение данных. */
struct TBCTL_BITS { // bits description
/* Битовое поле CTRMODE, ширина 2 бит; данные CTRMODE. */
Uint16 CTRMODE:2; // 1:0 Counter Mode
/* Битовое поле PHSEN, ширина 1 бит; данные PHSEN. */
Uint16 PHSEN:1; // 2 Phase load enable
/* Битовое поле PRDLD, ширина 1 бит; данные PRDLD. */
Uint16 PRDLD:1; // 3 Active period load
/* Битовое поле SYNCOSEL, ширина 2 бит; данные SYNCOSEL. */
Uint16 SYNCOSEL:2; // 5:4 Sync output select
/* Битовое поле SWFSYNC, ширина 1 бит; данные SWFSYNC. */
Uint16 SWFSYNC:1; // 6 Software force sync pulse
/* Битовое поле HSPCLKDIV, ширина 3 бит; данные HSPCLKDIV. */
Uint16 HSPCLKDIV:3; // 9:7 High speed time pre-scale
/* Битовое поле CLKDIV, ширина 3 бит; данные CLKDIV. */
Uint16 CLKDIV:3; // 12:10 Timebase clock pre-scale
/* Битовое поле PHSDIR, ширина 1 бит; данные PHSDIR. */
Uint16 PHSDIR:1; // 13 Phase Direction
/* Битовое поле FREE_SOFT, ширина 2 бит; данные FREE_SOFT. */
Uint16 FREE_SOFT:2; // 15:14 Emulation mode
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений TBCTL_REG в одной области памяти. */
union TBCTL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру TBCTL_BITS bit;; порядок полей определяет расположение данных. */
struct TBCTL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Time base status register bit definitions */
/* Описывает структуру TBSTS_BITS; порядок полей определяет расположение данных. */
struct TBSTS_BITS { // bits description
/* Битовое поле CTRDIR, ширина 1 бит; данные CTRDIR. */
Uint16 CTRDIR:1; // 0 Counter direction status
/* Битовое поле SYNCI, ширина 1 бит; данные SYNCI. */
Uint16 SYNCI:1; // 1 External input sync status
/* Битовое поле CTRMAX, ширина 1 бит; данные CTRMAX. */
Uint16 CTRMAX:1; // 2 Counter max latched status
/* Битовое поле rsvd1, ширина 13 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:13; // 15:3 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений TBSTS_REG в одной области памяти. */
union TBSTS_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру TBSTS_BITS bit;; порядок полей определяет расположение данных. */
struct TBSTS_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Compare control register bit definitions */
/* Описывает структуру CMPCTL_BITS; порядок полей определяет расположение данных. */
struct CMPCTL_BITS { // bits description
/* Битовое поле LOADAMODE, ширина 2 бит; данные LOADAMODE. */
Uint16 LOADAMODE:2; // 0:1 Active compare A
/* Битовое поле LOADBMODE, ширина 2 бит; данные LOADBMODE. */
Uint16 LOADBMODE:2; // 3:2 Active compare B
/* Битовое поле SHDWAMODE, ширина 1 бит; данные SHDWAMODE. */
Uint16 SHDWAMODE:1; // 4 Compare A block operating mode
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 5 reserved
/* Битовое поле SHDWBMODE, ширина 1 бит; данные SHDWBMODE. */
Uint16 SHDWBMODE:1; // 6 Compare B block operating mode
/* Битовое поле rsvd2, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:1; // 7 reserved
/* Битовое поле SHDWAFULL, ширина 1 бит; данные SHDWAFULL. */
Uint16 SHDWAFULL:1; // 8 Compare A Shadow registers full Status
/* Битовое поле SHDWBFULL, ширина 1 бит; данные SHDWBFULL. */
Uint16 SHDWBFULL:1; // 9 Compare B Shadow registers full Status
/* Битовое поле rsvd3, ширина 6 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3:6; // 15:10 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений CMPCTL_REG в одной области памяти. */
union CMPCTL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру CMPCTL_BITS bit;; порядок полей определяет расположение данных. */
struct CMPCTL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Action qualifier register bit definitions */
/* Описывает структуру AQCTL_BITS; порядок полей определяет расположение данных. */
struct AQCTL_BITS { // bits description
/* Битовое поле ZRO, ширина 2 бит; данные ZRO. */
Uint16 ZRO:2; // 1:0 Action Counter = Zero
/* Битовое поле PRD, ширина 2 бит; данные PRD. */
Uint16 PRD:2; // 3:2 Action Counter = Period
/* Битовое поле CAU, ширина 2 бит; данные CAU. */
Uint16 CAU:2; // 5:4 Action Counter = Compare A up
/* Битовое поле CAD, ширина 2 бит; данные CAD. */
Uint16 CAD:2; // 7:6 Action Counter = Compare A down
/* Битовое поле CBU, ширина 2 бит; данные CBU. */
Uint16 CBU:2; // 9:8 Action Counter = Compare B up
/* Битовое поле CBD, ширина 2 бит; данные CBD. */
Uint16 CBD:2; // 11:10 Action Counter = Compare B down
/* Битовое поле rsvd, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:4; // 15:12 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений AQCTL_REG в одной области памяти. */
union AQCTL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру AQCTL_BITS bit;; порядок полей определяет расположение данных. */
struct AQCTL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Action qualifier SW force register bit definitions */
/* Описывает структуру AQSFRC_BITS; порядок полей определяет расположение данных. */
struct AQSFRC_BITS { // bits description
/* Битовое поле ACTSFA, ширина 2 бит; данные ACTSFA. */
Uint16 ACTSFA:2; // 1:0 Action when One-time SW Force A invoked
/* Битовое поле OTSFA, ширина 1 бит; данные OTSFA. */
Uint16 OTSFA:1; // 2 One-time SW Force A output
/* Битовое поле ACTSFB, ширина 2 бит; данные ACTSFB. */
Uint16 ACTSFB:2; // 4:3 Action when One-time SW Force B invoked
/* Битовое поле OTSFB, ширина 1 бит; данные OTSFB. */
Uint16 OTSFB:1; // 5 One-time SW Force A output
/* Битовое поле RLDCSF, ширина 2 бит; данные RLDCSF. */
Uint16 RLDCSF:2; // 7:6 Reload from Shadow options
/* Битовое поле rsvd1, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:8; // 15:8 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений AQSFRC_REG в одной области памяти. */
union AQSFRC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру AQSFRC_BITS bit;; порядок полей определяет расположение данных. */
struct AQSFRC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Action qualifier continuous SW force register bit definitions */
/* Описывает структуру AQCSFRC_BITS; порядок полей определяет расположение данных. */
struct AQCSFRC_BITS { // bits description
/* Битовое поле CSFA, ширина 2 бит; данные CSFA. */
Uint16 CSFA:2; // 1:0 Continuous Software Force on output A
/* Битовое поле CSFB, ширина 2 бит; данные CSFB. */
Uint16 CSFB:2; // 3:2 Continuous Software Force on output B
/* Битовое поле rsvd1, ширина 12 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:12; // 15:4 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений AQCSFRC_REG в одной области памяти. */
union AQCSFRC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру AQCSFRC_BITS bit;; порядок полей определяет расположение данных. */
struct AQCSFRC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
@@ -126,278 +206,486 @@ union AQCSFRC_REG {
// Rev A silicon.
//----------------------------------------------------
// Dead-band generator control register bit definitions
/* Описывает структуру DBCTL_BITS; порядок полей определяет расположение данных. */
struct DBCTL_BITS { // bits description
/* Битовое поле OUT_MODE, ширина 2 бит; OUT режим. */
Uint16 OUT_MODE:2; // 1:0 Dead Band Output Mode Control
/* Битовое поле POLSEL, ширина 2 бит; данные POLSEL. */
Uint16 POLSEL:2; // 3:2 Polarity Select Control
/* Битовое поле IN_MODE, ширина 2 бит; IN режим. */
Uint16 IN_MODE:2; // 5:4 Dead Band Input Select Mode Control
/* Битовое поле rsvd1, ширина 10 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:10; // 15:4 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений DBCTL_REG в одной области памяти. */
union DBCTL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру DBCTL_BITS bit;; порядок полей определяет расположение данных. */
struct DBCTL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Trip zone select register bit definitions
/* Описывает структуру TZSEL_BITS; порядок полей определяет расположение данных. */
struct TZSEL_BITS { // bits description
/* Битовое поле CBC1, ширина 1 бит; данные CBC1. */
Uint16 CBC1:1; // 0 TZ1 CBC select
/* Битовое поле CBC2, ширина 1 бит; данные CBC2. */
Uint16 CBC2:1; // 1 TZ2 CBC select
/* Битовое поле CBC3, ширина 1 бит; данные CBC3. */
Uint16 CBC3:1; // 2 TZ3 CBC select
/* Битовое поле CBC4, ширина 1 бит; данные CBC4. */
Uint16 CBC4:1; // 3 TZ4 CBC select
/* Битовое поле CBC5, ширина 1 бит; данные CBC5. */
Uint16 CBC5:1; // 4 TZ5 CBC select
/* Битовое поле CBC6, ширина 1 бит; данные CBC6. */
Uint16 CBC6:1; // 5 TZ6 CBC select
/* Битовое поле rsvd1, ширина 2 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:2; // 7:6 reserved
/* Битовое поле OSHT1, ширина 1 бит; данные OSHT1. */
Uint16 OSHT1:1; // 8 One-shot TZ1 select
/* Битовое поле OSHT2, ширина 1 бит; данные OSHT2. */
Uint16 OSHT2:1; // 9 One-shot TZ2 select
/* Битовое поле OSHT3, ширина 1 бит; данные OSHT3. */
Uint16 OSHT3:1; // 10 One-shot TZ3 select
/* Битовое поле OSHT4, ширина 1 бит; данные OSHT4. */
Uint16 OSHT4:1; // 11 One-shot TZ4 select
/* Битовое поле OSHT5, ширина 1 бит; данные OSHT5. */
Uint16 OSHT5:1; // 12 One-shot TZ5 select
/* Битовое поле OSHT6, ширина 1 бит; данные OSHT6. */
Uint16 OSHT6:1; // 13 One-shot TZ6 select
/* Битовое поле rsvd2, ширина 2 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:2; // 15:14 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений TZSEL_REG в одной области памяти. */
union TZSEL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру TZSEL_BITS bit;; порядок полей определяет расположение данных. */
struct TZSEL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Trip zone control register bit definitions */
/* Описывает структуру TZCTL_BITS; порядок полей определяет расположение данных. */
struct TZCTL_BITS { // bits description
/* Битовое поле TZA, ширина 2 бит; данные TZA. */
Uint16 TZA:2; // 1:0 TZ1 to TZ6 Trip Action On EPWMxA
/* Битовое поле TZB, ширина 2 бит; данные TZB. */
Uint16 TZB:2; // 3:2 TZ1 to TZ6 Trip Action On EPWMxB
/* Битовое поле rsvd, ширина 12 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:12; // 15:4 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений TZCTL_REG в одной области памяти. */
union TZCTL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру TZCTL_BITS bit;; порядок полей определяет расположение данных. */
struct TZCTL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Trip zone control register bit definitions */
/* Описывает структуру TZEINT_BITS; порядок полей определяет расположение данных. */
struct TZEINT_BITS { // bits description
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 0 reserved
/* Битовое поле CBC, ширина 1 бит; данные CBC. */
Uint16 CBC:1; // 1 Trip Zones Cycle By Cycle Int Enable
/* Битовое поле OST, ширина 1 бит; данные OST. */
Uint16 OST:1; // 2 Trip Zones One Shot Int Enable
/* Битовое поле rsvd2, ширина 13 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:13; // 15:3 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений TZEINT_REG в одной области памяти. */
union TZEINT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру TZEINT_BITS bit;; порядок полей определяет расположение данных. */
struct TZEINT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Trip zone flag register bit definitions */
/* Описывает структуру TZFLG_BITS; порядок полей определяет расположение данных. */
struct TZFLG_BITS { // bits description
/* Битовое поле INT, ширина 1 бит; данные INT. */
Uint16 INT:1; // 0 Global status
/* Битовое поле CBC, ширина 1 бит; данные CBC. */
Uint16 CBC:1; // 1 Trip Zones Cycle By Cycle Int
/* Битовое поле OST, ширина 1 бит; данные OST. */
Uint16 OST:1; // 2 Trip Zones One Shot Int
/* Битовое поле rsvd2, ширина 13 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:13; // 15:3 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений TZFLG_REG в одной области памяти. */
union TZFLG_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру TZFLG_BITS bit;; порядок полей определяет расположение данных. */
struct TZFLG_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Trip zone flag clear register bit definitions */
/* Описывает структуру TZCLR_BITS; порядок полей определяет расположение данных. */
struct TZCLR_BITS { // bits description
/* Битовое поле INT, ширина 1 бит; данные INT. */
Uint16 INT:1; // 0 Global status
/* Битовое поле CBC, ширина 1 бит; данные CBC. */
Uint16 CBC:1; // 1 Trip Zones Cycle By Cycle Int
/* Битовое поле OST, ширина 1 бит; данные OST. */
Uint16 OST:1; // 2 Trip Zones One Shot Int
/* Битовое поле rsvd2, ширина 13 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:13; // 15:3 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений TZCLR_REG в одной области памяти. */
union TZCLR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру TZCLR_BITS bit;; порядок полей определяет расположение данных. */
struct TZCLR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Trip zone flag force register bit definitions */
/* Описывает структуру TZFRC_BITS; порядок полей определяет расположение данных. */
struct TZFRC_BITS { // bits description
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 0 reserved
/* Битовое поле CBC, ширина 1 бит; данные CBC. */
Uint16 CBC:1; // 1 Trip Zones Cycle By Cycle Int
/* Битовое поле OST, ширина 1 бит; данные OST. */
Uint16 OST:1; // 2 Trip Zones One Shot Int
/* Битовое поле rsvd2, ширина 13 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:13; // 15:3 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений TZFRC_REG в одной области памяти. */
union TZFRC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру TZFRC_BITS bit;; порядок полей определяет расположение данных. */
struct TZFRC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Event trigger select register bit definitions */
/* Описывает структуру ETSEL_BITS; порядок полей определяет расположение данных. */
struct ETSEL_BITS { // bits description
/* Битовое поле INTSEL, ширина 3 бит; данные INTSEL. */
Uint16 INTSEL:3; // 2:0 EPWMxINTn Select
/* Битовое поле INTEN, ширина 1 бит; данные INTEN. */
Uint16 INTEN:1; // 3 EPWMxINTn Enable
/* Битовое поле rsvd1, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:4; // 7:4 reserved
/* Битовое поле SOCASEL, ширина 3 бит; данные SOCASEL. */
Uint16 SOCASEL:3; // 10:8 Start of conversion A Select
/* Битовое поле SOCAEN, ширина 1 бит; данные SOCAEN. */
Uint16 SOCAEN:1; // 11 Start of conversion A Enable
/* Битовое поле SOCBSEL, ширина 3 бит; данные SOCBSEL. */
Uint16 SOCBSEL:3; // 14:12 Start of conversion B Select
/* Битовое поле SOCBEN, ширина 1 бит; данные SOCBEN. */
Uint16 SOCBEN:1; // 15 Start of conversion B Enable
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ETSEL_REG в одной области памяти. */
union ETSEL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ETSEL_BITS bit;; порядок полей определяет расположение данных. */
struct ETSEL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Event trigger pre-scale register bit definitions */
/* Описывает структуру ETPS_BITS; порядок полей определяет расположение данных. */
struct ETPS_BITS { // bits description
/* Битовое поле INTPRD, ширина 2 бит; данные INTPRD. */
Uint16 INTPRD:2; // 1:0 EPWMxINTn Period Select
/* Битовое поле INTCNT, ширина 2 бит; данные INTCNT. */
Uint16 INTCNT:2; // 3:2 EPWMxINTn Counter Register
/* Битовое поле rsvd1, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:4; // 7:4 reserved
/* Битовое поле SOCAPRD, ширина 2 бит; данные SOCAPRD. */
Uint16 SOCAPRD:2; // 9:8 EPWMxSOCA Period Select
/* Битовое поле SOCACNT, ширина 2 бит; данные SOCACNT. */
Uint16 SOCACNT:2; // 11:10 EPWMxSOCA Counter Register
/* Битовое поле SOCBPRD, ширина 2 бит; данные SOCBPRD. */
Uint16 SOCBPRD:2; // 13:12 EPWMxSOCB Period Select
/* Битовое поле SOCBCNT, ширина 2 бит; данные SOCBCNT. */
Uint16 SOCBCNT:2; // 15:14 EPWMxSOCB Counter Register
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ETPS_REG в одной области памяти. */
union ETPS_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ETPS_BITS bit;; порядок полей определяет расположение данных. */
struct ETPS_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Event trigger Flag register bit definitions */
/* Описывает структуру ETFLG_BITS; порядок полей определяет расположение данных. */
struct ETFLG_BITS { // bits description
/* Битовое поле INT, ширина 1 бит; данные INT. */
Uint16 INT:1; // 0 EPWMxINTn Flag
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 1 reserved
/* Битовое поле SOCA, ширина 1 бит; данные SOCA. */
Uint16 SOCA:1; // 2 EPWMxSOCA Flag
/* Битовое поле SOCB, ширина 1 бит; данные SOCB. */
Uint16 SOCB:1; // 3 EPWMxSOCB Flag
/* Битовое поле rsvd2, ширина 12 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:12; // 15:4 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ETFLG_REG в одной области памяти. */
union ETFLG_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ETFLG_BITS bit;; порядок полей определяет расположение данных. */
struct ETFLG_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Event trigger Clear register bit definitions */
/* Описывает структуру ETCLR_BITS; порядок полей определяет расположение данных. */
struct ETCLR_BITS { // bits description
/* Битовое поле INT, ширина 1 бит; данные INT. */
Uint16 INT:1; // 0 EPWMxINTn Clear
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 1 reserved
/* Битовое поле SOCA, ширина 1 бит; данные SOCA. */
Uint16 SOCA:1; // 2 EPWMxSOCA Clear
/* Битовое поле SOCB, ширина 1 бит; данные SOCB. */
Uint16 SOCB:1; // 3 EPWMxSOCB Clear
/* Битовое поле rsvd2, ширина 12 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:12; // 15:4 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ETCLR_REG в одной области памяти. */
union ETCLR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ETCLR_BITS bit;; порядок полей определяет расположение данных. */
struct ETCLR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Event trigger Force register bit definitions */
/* Описывает структуру ETFRC_BITS; порядок полей определяет расположение данных. */
struct ETFRC_BITS { // bits description
/* Битовое поле INT, ширина 1 бит; данные INT. */
Uint16 INT:1; // 0 EPWMxINTn Force
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 1 reserved
/* Битовое поле SOCA, ширина 1 бит; данные SOCA. */
Uint16 SOCA:1; // 2 EPWMxSOCA Force
/* Битовое поле SOCB, ширина 1 бит; данные SOCB. */
Uint16 SOCB:1; // 3 EPWMxSOCB Force
/* Битовое поле rsvd2, ширина 12 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:12; // 15:4 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений ETFRC_REG в одной области памяти. */
union ETFRC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ETFRC_BITS bit;; порядок полей определяет расположение данных. */
struct ETFRC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// PWM chopper control register bit definitions */
/* Описывает структуру PCCTL_BITS; порядок полей определяет расположение данных. */
struct PCCTL_BITS { // bits description
/* Битовое поле CHPEN, ширина 1 бит; данные CHPEN. */
Uint16 CHPEN:1; // 0 PWM chopping enable
/* Битовое поле OSHTWTH, ширина 4 бит; данные OSHTWTH. */
Uint16 OSHTWTH:4; // 4:1 One-shot pulse width
/* Битовое поле CHPFREQ, ширина 3 бит; данные CHPFREQ. */
Uint16 CHPFREQ:3; // 7:5 Chopping clock frequency
/* Битовое поле CHPDUTY, ширина 3 бит; данные CHPDUTY. */
Uint16 CHPDUTY:3; // 10:8 Chopping clock Duty cycle
/* Битовое поле rsvd1, ширина 5 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:5; // 15:11 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений PCCTL_REG в одной области памяти. */
union PCCTL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру PCCTL_BITS bit;; порядок полей определяет расположение данных. */
struct PCCTL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру HRCNFG_BITS; порядок полей определяет расположение данных. */
struct HRCNFG_BITS { // bits description
/* Битовое поле EDGMODE, ширина 2 бит; данные EDGMODE. */
Uint16 EDGMODE:2; // 1:0 Edge Mode select Bits
/* Битовое поле CTLMODE, ширина 1 бит; данные CTLMODE. */
Uint16 CTLMODE:1; // 2 Control mode Select Bit
/* Битовое поле HRLOAD, ширина 1 бит; данные HRLOAD. */
Uint16 HRLOAD:1; // 3 Shadow mode Select Bit
/* Битовое поле rsvd1, ширина 12 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:12; // 15:4 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений HRCNFG_REG в одной области памяти. */
union HRCNFG_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру HRCNFG_BITS bit;; порядок полей определяет расположение данных. */
struct HRCNFG_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру TBPHS_HRPWM_REG; порядок полей определяет расположение данных. */
struct TBPHS_HRPWM_REG { // bits description
/* Объявляет TBPHSHR — данные TBPHSHR. */
Uint16 TBPHSHR; // 15:0 Extension register for HRPWM Phase (8 bits)
/* Объявляет TBPHS — данные TBPHS. */
Uint16 TBPHS; // 31:16 Phase offset register
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений TBPHS_HRPWM_GROUP в одной области памяти. */
union TBPHS_HRPWM_GROUP {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру TBPHS_HRPWM_REG half;; порядок полей определяет расположение данных. */
struct TBPHS_HRPWM_REG half;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру CMPA_HRPWM_REG; порядок полей определяет расположение данных. */
struct CMPA_HRPWM_REG { // bits description
/* Объявляет CMPAHR — данные CMPAHR. */
Uint16 CMPAHR; // 15:0 Extension register for HRPWM compare (8 bits)
/* Объявляет CMPA — данные CMPA. */
Uint16 CMPA; // 31:16 Compare A reg
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений CMPA_HRPWM_GROUP в одной области памяти. */
union CMPA_HRPWM_GROUP {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру CMPA_HRPWM_REG half;; порядок полей определяет расположение данных. */
struct CMPA_HRPWM_REG half;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру EPWM_REGS; порядок полей определяет расположение данных. */
struct EPWM_REGS {
/* Объединяет несколько представлений TBCTL_REG TBCTL; в одной области памяти. */
union TBCTL_REG TBCTL; //
/* Объединяет несколько представлений TBSTS_REG TBSTS; в одной области памяти. */
union TBSTS_REG TBSTS; //
/* Объединяет несколько представлений TBPHS_HRPWM_GROUP TBPHS; в одной области памяти. */
union TBPHS_HRPWM_GROUP TBPHS; // Union of TBPHS:TBPHSHR
/* Объявляет TBCTR — данные TBCTR. */
Uint16 TBCTR; // Counter
/* Объявляет TBPRD — данные TBPRD. */
Uint16 TBPRD; // Period register set
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1; //
/* Объединяет несколько представлений CMPCTL_REG CMPCTL; в одной области памяти. */
union CMPCTL_REG CMPCTL; // Compare control
/* Объединяет несколько представлений CMPA_HRPWM_GROUP CMPA; в одной области памяти. */
union CMPA_HRPWM_GROUP CMPA; // Union of CMPA:CMPAHR
/* Объявляет CMPB — данные CMPB. */
Uint16 CMPB; // Compare B reg
/* Объединяет несколько представлений AQCTL_REG AQCTLA; в одной области памяти. */
union AQCTL_REG AQCTLA; // Action qual output A
/* Объединяет несколько представлений AQCTL_REG AQCTLB; в одной области памяти. */
union AQCTL_REG AQCTLB; // Action qual output B
/* Объединяет несколько представлений AQSFRC_REG AQSFRC; в одной области памяти. */
union AQSFRC_REG AQSFRC; // Action qual SW force
/* Объединяет несколько представлений AQCSFRC_REG AQCSFRC; в одной области памяти. */
union AQCSFRC_REG AQCSFRC; // Action qualifier continuous SW force
/* Объединяет несколько представлений DBCTL_REG DBCTL; в одной области памяти. */
union DBCTL_REG DBCTL; // Dead-band control
/* Объявляет DBRED — данные DBRED. */
Uint16 DBRED; // Dead-band rising edge delay
/* Объявляет DBFED — данные DBFED. */
Uint16 DBFED; // Dead-band falling edge delay
/* Объединяет несколько представлений TZSEL_REG TZSEL; в одной области памяти. */
union TZSEL_REG TZSEL; // Trip zone select
/* Объявляет rsvd2 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2;
/* Объединяет несколько представлений TZCTL_REG TZCTL; в одной области памяти. */
union TZCTL_REG TZCTL; // Trip zone control
/* Объединяет несколько представлений TZEINT_REG TZEINT; в одной области памяти. */
union TZEINT_REG TZEINT; // Trip zone interrupt enable
/* Объединяет несколько представлений TZFLG_REG TZFLG; в одной области памяти. */
union TZFLG_REG TZFLG; // Trip zone interrupt flags
/* Объединяет несколько представлений TZCLR_REG TZCLR; в одной области памяти. */
union TZCLR_REG TZCLR; // Trip zone clear
/* Объединяет несколько представлений TZFRC_REG TZFRC; в одной области памяти. */
union TZFRC_REG TZFRC; // Trip zone force interrupt
/* Объединяет несколько представлений ETSEL_REG ETSEL; в одной области памяти. */
union ETSEL_REG ETSEL; // Event trigger selection
/* Объединяет несколько представлений ETPS_REG ETPS; в одной области памяти. */
union ETPS_REG ETPS; // Event trigger pre-scaler
/* Объединяет несколько представлений ETFLG_REG ETFLG; в одной области памяти. */
union ETFLG_REG ETFLG; // Event trigger flags
/* Объединяет несколько представлений ETCLR_REG ETCLR; в одной области памяти. */
union ETCLR_REG ETCLR; // Event trigger clear
/* Объединяет несколько представлений ETFRC_REG ETFRC; в одной области памяти. */
union ETFRC_REG ETFRC; // Event trigger force
/* Объединяет несколько представлений PCCTL_REG PCCTL; в одной области памяти. */
union PCCTL_REG PCCTL; // PWM chopper control
/* Объявляет rsvd3 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3; //
/* Объединяет несколько представлений HRCNFG_REG HRCNFG; в одной области памяти. */
union HRCNFG_REG HRCNFG; // HRPWM Config Reg
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
@@ -405,17 +693,26 @@ struct EPWM_REGS {
//---------------------------------------------------------------------------
// External References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern volatile struct EPWM_REGS EPwm1Regs;; порядок элементов сохраняется. */
extern volatile struct EPWM_REGS EPwm1Regs;
/* Продолжает список аргументов, полей или выражение extern volatile struct EPWM_REGS EPwm2Regs;; порядок элементов сохраняется. */
extern volatile struct EPWM_REGS EPwm2Regs;
/* Продолжает список аргументов, полей или выражение extern volatile struct EPWM_REGS EPwm3Regs;; порядок элементов сохраняется. */
extern volatile struct EPWM_REGS EPwm3Regs;
/* Продолжает список аргументов, полей или выражение extern volatile struct EPWM_REGS EPwm4Regs;; порядок элементов сохраняется. */
extern volatile struct EPWM_REGS EPwm4Regs;
/* Продолжает список аргументов, полей или выражение extern volatile struct EPWM_REGS EPwm5Regs;; порядок элементов сохраняется. */
extern volatile struct EPWM_REGS EPwm5Regs;
/* Продолжает список аргументов, полей или выражение extern volatile struct EPWM_REGS EPwm6Regs;; порядок элементов сохраняется. */
extern volatile struct EPWM_REGS EPwm6Regs;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_EPWM_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание EQep для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/1 $
// Checkin $Date: August 18, 2006 13:52:13 $
//###########################################################################
@@ -12,212 +13,371 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_EQEP_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_EQEP_H
/* Определяет защитный символ или переключатель DSP2833x_EQEP_H для последующей компиляции. */
#define DSP2833x_EQEP_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
//----------------------------------------------------
// Capture decoder control register bit definitions */
/* Описывает структуру QDECCTL_BITS; порядок полей определяет расположение данных. */
struct QDECCTL_BITS { // bits description
/* Битовое поле rsvd1, ширина 5 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:5; // 4:0 reserved
/* Битовое поле QSP, ширина 1 бит; данные QSP. */
Uint16 QSP:1; // 5 QEPS input polarity
/* Битовое поле QIP, ширина 1 бит; данные QIP. */
Uint16 QIP:1; // 6 QEPI input polarity
/* Битовое поле QBP, ширина 1 бит; данные QBP. */
Uint16 QBP:1; // 7 QEPB input polarity
/* Битовое поле QAP, ширина 1 бит; данные QAP. */
Uint16 QAP:1; // 8 QEPA input polarity
/* Битовое поле IGATE, ширина 1 бит; данные IGATE. */
Uint16 IGATE:1; // 9 Index pulse gating option
/* Битовое поле SWAP, ширина 1 бит; данные SWAP. */
Uint16 SWAP:1; // 10 CLK/DIR signal source for Position Counter
/* Битовое поле XCR, ширина 1 бит; данные XCR. */
Uint16 XCR:1; // 11 External clock rate
/* Битовое поле SPSEL, ширина 1 бит; данные SPSEL. */
Uint16 SPSEL:1; // 12 Sync output pin select
/* Битовое поле SOEN, ширина 1 бит; данные SOEN. */
Uint16 SOEN:1; // 13 Enable position compare sync
/* Битовое поле QSRC, ширина 2 бит; данные QSRC. */
Uint16 QSRC:2; // 15:14 Position counter source
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений QDECCTL_REG в одной области памяти. */
union QDECCTL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру QDECCTL_BITS bit;; порядок полей определяет расположение данных. */
struct QDECCTL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// QEP control register bit definitions */
/* Описывает структуру QEPCTL_BITS; порядок полей определяет расположение данных. */
struct QEPCTL_BITS { // bits description
/* Битовое поле WDE, ширина 1 бит; данные WDE. */
Uint16 WDE:1; // 0 QEP watchdog enable
/* Битовое поле UTE, ширина 1 бит; данные UTE. */
Uint16 UTE:1; // 1 QEP unit timer enable
/* Битовое поле QCLM, ширина 1 бит; данные QCLM. */
Uint16 QCLM:1; // 2 QEP capture latch mode
/* Битовое поле QPEN, ширина 1 бит; данные QPEN. */
Uint16 QPEN:1; // 3 Quadrature position counter enable
/* Битовое поле IEL, ширина 2 бит; данные IEL. */
Uint16 IEL:2; // 5:4 Index event latch
/* Битовое поле SEL, ширина 1 бит; данные SEL. */
Uint16 SEL:1; // 6 Strobe event latch
/* Битовое поле SWI, ширина 1 бит; данные SWI. */
Uint16 SWI:1; // 7 Software init position counter
/* Битовое поле IEI, ширина 2 бит; данные IEI. */
Uint16 IEI:2; // 9:8 Index event init of position count
/* Битовое поле SEI, ширина 2 бит; данные SEI. */
Uint16 SEI:2; // 11:10 Strobe event init
/* Битовое поле PCRM, ширина 2 бит; данные PCRM. */
Uint16 PCRM:2; // 13:12 Position counter reset
/* Битовое поле FREE_SOFT, ширина 2 бит; данные FREE_SOFT. */
Uint16 FREE_SOFT:2; // 15:14 Emulation mode
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений QEPCTL_REG в одной области памяти. */
union QEPCTL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру QEPCTL_BITS bit;; порядок полей определяет расположение данных. */
struct QEPCTL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Quadrature capture control register bit definitions */
/* Описывает структуру QCAPCTL_BITS; порядок полей определяет расположение данных. */
struct QCAPCTL_BITS { // bits description
/* Битовое поле UPPS, ширина 4 бит; данные UPPS. */
Uint16 UPPS:4; // 3:0 Unit position pre-scale
/* Битовое поле CCPS, ширина 3 бит; данные CCPS. */
Uint16 CCPS:3; // 6:4 QEP capture timer pre-scale
/* Битовое поле rsvd1, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:8; // 14:7 reserved
/* Битовое поле CEN, ширина 1 бит; данные CEN. */
Uint16 CEN:1; // 15 Enable QEP capture
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений QCAPCTL_REG в одной области памяти. */
union QCAPCTL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру QCAPCTL_BITS bit;; порядок полей определяет расположение данных. */
struct QCAPCTL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// Position compare control register bit definitions */
/* Описывает структуру QPOSCTL_BITS; порядок полей определяет расположение данных. */
struct QPOSCTL_BITS { // bits description
/* Битовое поле PCSPW, ширина 12 бит; данные PCSPW. */
Uint16 PCSPW:12; // 11:0 Position compare sync pulse width
/* Битовое поле PCE, ширина 1 бит; данные PCE. */
Uint16 PCE:1; // 12 Position compare enable/disable
/* Битовое поле PCPOL, ширина 1 бит; данные PCPOL. */
Uint16 PCPOL:1; // 13 Polarity of sync output
/* Битовое поле PCLOAD, ширина 1 бит; данные PCLOAD. */
Uint16 PCLOAD:1; // 14 Position compare of shadow load
/* Битовое поле PCSHDW, ширина 1 бит; данные PCSHDW. */
Uint16 PCSHDW:1; // 15 Position compare shadow enable
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений QPOSCTL_REG в одной области памяти. */
union QPOSCTL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру QPOSCTL_BITS bit;; порядок полей определяет расположение данных. */
struct QPOSCTL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// QEP interrupt control register bit definitions */
/* Описывает структуру QEINT_BITS; порядок полей определяет расположение данных. */
struct QEINT_BITS { // bits description
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 0 reserved
/* Битовое поле PCE, ширина 1 бит; данные PCE. */
Uint16 PCE:1; // 1 Position counter error
/* Битовое поле QPE, ширина 1 бит; данные QPE. */
Uint16 QPE:1; // 2 Quadrature phase error
/* Битовое поле QDC, ширина 1 бит; данные QDC. */
Uint16 QDC:1; // 3 Quadrature dir change
/* Битовое поле WTO, ширина 1 бит; данные WTO. */
Uint16 WTO:1; // 4 Watchdog timeout
/* Битовое поле PCU, ширина 1 бит; данные PCU. */
Uint16 PCU:1; // 5 Position counter underflow
/* Битовое поле PCO, ширина 1 бит; данные PCO. */
Uint16 PCO:1; // 6 Position counter overflow
/* Битовое поле PCR, ширина 1 бит; данные PCR. */
Uint16 PCR:1; // 7 Position compare ready
/* Битовое поле PCM, ширина 1 бит; данные PCM. */
Uint16 PCM:1; // 8 Position compare match
/* Битовое поле SEL, ширина 1 бит; данные SEL. */
Uint16 SEL:1; // 9 Strobe event latch
/* Битовое поле IEL, ширина 1 бит; данные IEL. */
Uint16 IEL:1; // 10 Event latch
/* Битовое поле UTO, ширина 1 бит; данные UTO. */
Uint16 UTO:1; // 11 Unit timeout
/* Битовое поле rsvd2, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:4; // 15:12 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений QEINT_REG в одной области памяти. */
union QEINT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру QEINT_BITS bit;; порядок полей определяет расположение данных. */
struct QEINT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// QEP interrupt status register bit definitions */
/* Описывает структуру QFLG_BITS; порядок полей определяет расположение данных. */
struct QFLG_BITS { // bits description
/* Битовое поле INT, ширина 1 бит; данные INT. */
Uint16 INT:1; // 0 Global interrupt
/* Битовое поле PCE, ширина 1 бит; данные PCE. */
Uint16 PCE:1; // 1 Position counter error
/* Битовое поле PHE, ширина 1 бит; данные PHE. */
Uint16 PHE:1; // 2 Quadrature phase error
/* Битовое поле QDC, ширина 1 бит; данные QDC. */
Uint16 QDC:1; // 3 Quadrature dir change
/* Битовое поле WTO, ширина 1 бит; данные WTO. */
Uint16 WTO:1; // 4 Watchdog timeout
/* Битовое поле PCU, ширина 1 бит; данные PCU. */
Uint16 PCU:1; // 5 Position counter underflow
/* Битовое поле PCO, ширина 1 бит; данные PCO. */
Uint16 PCO:1; // 6 Position counter overflow
/* Битовое поле PCR, ширина 1 бит; данные PCR. */
Uint16 PCR:1; // 7 Position compare ready
/* Битовое поле PCM, ширина 1 бит; данные PCM. */
Uint16 PCM:1; // 8 Position compare match
/* Битовое поле SEL, ширина 1 бит; данные SEL. */
Uint16 SEL:1; // 9 Strobe event latch
/* Битовое поле IEL, ширина 1 бит; данные IEL. */
Uint16 IEL:1; // 10 Event latch
/* Битовое поле UTO, ширина 1 бит; данные UTO. */
Uint16 UTO:1; // 11 Unit timeout
/* Битовое поле rsvd2, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:4; // 15:12 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений QFLG_REG в одной области памяти. */
union QFLG_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру QFLG_BITS bit;; порядок полей определяет расположение данных. */
struct QFLG_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// QEP interrupt force register bit definitions */
/* Описывает структуру QFRC_BITS; порядок полей определяет расположение данных. */
struct QFRC_BITS { // bits description
/* Битовое поле reserved, ширина 1 бит; Зарезервировано; сохраняет положение следующих полей в аппаратном регистре. */
Uint16 reserved:1; // 0 Reserved
/* Битовое поле PCE, ширина 1 бит; данные PCE. */
Uint16 PCE:1; // 1 Position counter error
/* Битовое поле PHE, ширина 1 бит; данные PHE. */
Uint16 PHE:1; // 2 Quadrature phase error
/* Битовое поле QDC, ширина 1 бит; данные QDC. */
Uint16 QDC:1; // 3 Quadrature dir change
/* Битовое поле WTO, ширина 1 бит; данные WTO. */
Uint16 WTO:1; // 4 Watchdog timeout
/* Битовое поле PCU, ширина 1 бит; данные PCU. */
Uint16 PCU:1; // 5 Position counter underflow
/* Битовое поле PCO, ширина 1 бит; данные PCO. */
Uint16 PCO:1; // 6 Position counter overflow
/* Битовое поле PCR, ширина 1 бит; данные PCR. */
Uint16 PCR:1; // 7 Position compare ready
/* Битовое поле PCM, ширина 1 бит; данные PCM. */
Uint16 PCM:1; // 8 Position compare match
/* Битовое поле SEL, ширина 1 бит; данные SEL. */
Uint16 SEL:1; // 9 Strobe event latch
/* Битовое поле IEL, ширина 1 бит; данные IEL. */
Uint16 IEL:1; // 10 Event latch
/* Битовое поле UTO, ширина 1 бит; данные UTO. */
Uint16 UTO:1; // 11 Unit timeout
/* Битовое поле rsvd2, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:4; // 15:12 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений QFRC_REG в одной области памяти. */
union QFRC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру QFRC_BITS bit;; порядок полей определяет расположение данных. */
struct QFRC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// V1.1 Added UPEVNT (bit 7) This reflects changes
// made as of F2833x Rev A devices
//----------------------------------------------------
// QEP status register bit definitions */
/* Описывает структуру QEPSTS_BITS; порядок полей определяет расположение данных. */
struct QEPSTS_BITS { // bits description
/* Битовое поле PCEF, ширина 1 бит; данные PCEF. */
Uint16 PCEF:1; // 0 Position counter error
/* Битовое поле FIMF, ширина 1 бит; данные FIMF. */
Uint16 FIMF:1; // 1 First index marker
/* Битовое поле CDEF, ширина 1 бит; данные CDEF. */
Uint16 CDEF:1; // 2 Capture direction error
/* Битовое поле COEF, ширина 1 бит; данные COEF. */
Uint16 COEF:1; // 3 Capture overflow error
/* Битовое поле QDLF, ширина 1 бит; данные QDLF. */
Uint16 QDLF:1; // 4 QEP direction latch
/* Битовое поле QDF, ширина 1 бит; данные QDF. */
Uint16 QDF:1; // 5 Quadrature direction
/* Битовое поле FIDF, ширина 1 бит; данные FIDF. */
Uint16 FIDF:1; // 6 Direction on first index marker
/* Битовое поле UPEVNT, ширина 1 бит; данные UPEVNT. */
Uint16 UPEVNT:1; // 7 Unit position event flag
/* Битовое поле rsvd1, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:8; // 15:8 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений QEPSTS_REG в одной области памяти. */
union QEPSTS_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру QEPSTS_BITS bit;; порядок полей определяет расположение данных. */
struct QEPSTS_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
/* Описывает структуру EQEP_REGS; порядок полей определяет расположение данных. */
struct EQEP_REGS {
/* Объявляет QPOSCNT — данные QPOSCNT. */
Uint32 QPOSCNT; // Position counter
/* Объявляет QPOSINIT — данные QPOSINIT. */
Uint32 QPOSINIT; // Position counter init
/* Объявляет QPOSMAX — данные QPOSMAX. */
Uint32 QPOSMAX; // Maximum position count
/* Объявляет QPOSCMP — данные QPOSCMP. */
Uint32 QPOSCMP; // Position compare
/* Объявляет QPOSILAT — данные QPOSILAT. */
Uint32 QPOSILAT; // Index position latch
/* Объявляет QPOSSLAT — данные QPOSSLAT. */
Uint32 QPOSSLAT; // Strobe position latch
/* Объявляет QPOSLAT — данные QPOSLAT. */
Uint32 QPOSLAT; // Position latch
/* Объявляет QUTMR — данные QUTMR. */
Uint32 QUTMR; // Unit timer
/* Объявляет QUPRD — данные QUPRD. */
Uint32 QUPRD; // Unit period
/* Объявляет QWDTMR — данные QWDTMR. */
Uint16 QWDTMR; // QEP watchdog timer
/* Объявляет QWDPRD — данные QWDPRD. */
Uint16 QWDPRD; // QEP watchdog period
/* Объединяет несколько представлений QDECCTL_REG QDECCTL; в одной области памяти. */
union QDECCTL_REG QDECCTL; // Quadrature decoder control
/* Объединяет несколько представлений QEPCTL_REG QEPCTL; в одной области памяти. */
union QEPCTL_REG QEPCTL; // QEP control
/* Объединяет несколько представлений QCAPCTL_REG QCAPCTL; в одной области памяти. */
union QCAPCTL_REG QCAPCTL; // Quadrature capture control
/* Объединяет несколько представлений QPOSCTL_REG QPOSCTL; в одной области памяти. */
union QPOSCTL_REG QPOSCTL; // Position compare control
/* Объединяет несколько представлений QEINT_REG QEINT; в одной области памяти. */
union QEINT_REG QEINT; // QEP interrupt control
/* Объединяет несколько представлений QFLG_REG QFLG; в одной области памяти. */
union QFLG_REG QFLG; // QEP interrupt flag
/* Объединяет несколько представлений QFLG_REG QCLR; в одной области памяти. */
union QFLG_REG QCLR; // QEP interrupt clear
/* Объединяет несколько представлений QFRC_REG QFRC; в одной области памяти. */
union QFRC_REG QFRC; // QEP interrupt force
/* Объединяет несколько представлений QEPSTS_REG QEPSTS; в одной области памяти. */
union QEPSTS_REG QEPSTS; // QEP status
/* Объявляет QCTMR — данные QCTMR. */
Uint16 QCTMR; // QEP capture timer
/* Объявляет QCPRD — данные QCPRD. */
Uint16 QCPRD; // QEP capture period
/* Объявляет QCTMRLAT — данные QCTMRLAT. */
Uint16 QCTMRLAT; // QEP capture latch
/* Объявляет QCPRDLAT — данные QCPRDLAT. */
Uint16 QCPRDLAT; // QEP capture period latch
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1[30]; // reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
@@ -226,15 +386,20 @@ struct EQEP_REGS {
//---------------------------------------------------------------------------
// GPI/O External References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern volatile struct EQEP_REGS EQep1Regs;; порядок элементов сохраняется. */
extern volatile struct EQEP_REGS EQep1Regs;
/* Продолжает список аргументов, полей или выражение extern volatile struct EQEP_REGS EQep2Regs;; порядок элементов сохраняется. */
extern volatile struct EQEP_REGS EQep2Regs;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_EQEP_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание Gpio для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/4 $
// Checkin $Date: November 15, 2007 09:58:53 $
//###########################################################################
@@ -11,298 +12,555 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_GPIO_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_GPIO_H
/* Определяет защитный символ или переключатель DSP2833x_GPIO_H для последующей компиляции. */
#define DSP2833x_GPIO_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
//----------------------------------------------------
// GPIO A control register bit definitions */
/* Описывает структуру GPACTRL_BITS; порядок полей определяет расположение данных. */
struct GPACTRL_BITS { // bits description
/* Битовое поле QUALPRD0, ширина 8 бит; данные QUALPRD0. */
Uint16 QUALPRD0:8; // 7:0 Qual period
/* Битовое поле QUALPRD1, ширина 8 бит; данные QUALPRD1. */
Uint16 QUALPRD1:8; // 15:8 Qual period
/* Битовое поле QUALPRD2, ширина 8 бит; данные QUALPRD2. */
Uint16 QUALPRD2:8; // 23:16 Qual period
/* Битовое поле QUALPRD3, ширина 8 бит; данные QUALPRD3. */
Uint16 QUALPRD3:8; // 31:24 Qual period
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений GPACTRL_REG в одной области памяти. */
union GPACTRL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру GPACTRL_BITS bit;; порядок полей определяет расположение данных. */
struct GPACTRL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// GPIO B control register bit definitions */
/* Описывает структуру GPBCTRL_BITS; порядок полей определяет расположение данных. */
struct GPBCTRL_BITS { // bits description
/* Битовое поле QUALPRD0, ширина 8 бит; данные QUALPRD0. */
Uint16 QUALPRD0:8; // 7:0 Qual period
/* Битовое поле QUALPRD1, ширина 8 бит; данные QUALPRD1. */
Uint16 QUALPRD1:8; // 15:8 Qual period
/* Битовое поле QUALPRD2, ширина 8 бит; данные QUALPRD2. */
Uint16 QUALPRD2:8; // 23:16 Qual period
/* Битовое поле QUALPRD3, ширина 8 бит; данные QUALPRD3. */
Uint16 QUALPRD3:8; // 31:24
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений GPBCTRL_REG в одной области памяти. */
union GPBCTRL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру GPBCTRL_BITS bit;; порядок полей определяет расположение данных. */
struct GPBCTRL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// GPIO A Qual/MUX select register bit definitions */
/* Описывает структуру GPA1_BITS; порядок полей определяет расположение данных. */
struct GPA1_BITS { // bits description
/* Битовое поле GPIO0, ширина 2 бит; аппаратная линия ввода/вывода GPIO0. */
Uint16 GPIO0:2; // 1:0 GPIO0
/* Битовое поле GPIO1, ширина 2 бит; аппаратная линия ввода/вывода GPIO1. */
Uint16 GPIO1:2; // 3:2 GPIO1
/* Битовое поле GPIO2, ширина 2 бит; аппаратная линия ввода/вывода GPIO2. */
Uint16 GPIO2:2; // 5:4 GPIO2
/* Битовое поле GPIO3, ширина 2 бит; аппаратная линия ввода/вывода GPIO3. */
Uint16 GPIO3:2; // 7:6 GPIO3
/* Битовое поле GPIO4, ширина 2 бит; аппаратная линия ввода/вывода GPIO4. */
Uint16 GPIO4:2; // 9:8 GPIO4
/* Битовое поле GPIO5, ширина 2 бит; аппаратная линия ввода/вывода GPIO5. */
Uint16 GPIO5:2; // 11:10 GPIO5
/* Битовое поле GPIO6, ширина 2 бит; аппаратная линия ввода/вывода GPIO6. */
Uint16 GPIO6:2; // 13:12 GPIO6
/* Битовое поле GPIO7, ширина 2 бит; аппаратная линия ввода/вывода GPIO7. */
Uint16 GPIO7:2; // 15:14 GPIO7
/* Битовое поле GPIO8, ширина 2 бит; аппаратная линия ввода/вывода GPIO8. */
Uint16 GPIO8:2; // 17:16 GPIO8
/* Битовое поле GPIO9, ширина 2 бит; аппаратная линия ввода/вывода GPIO9. */
Uint16 GPIO9:2; // 19:18 GPIO9
/* Битовое поле GPIO10, ширина 2 бит; аппаратная линия ввода/вывода GPIO10. */
Uint16 GPIO10:2; // 21:20 GPIO10
/* Битовое поле GPIO11, ширина 2 бит; аппаратная линия ввода/вывода GPIO11. */
Uint16 GPIO11:2; // 23:22 GPIO11
/* Битовое поле GPIO12, ширина 2 бит; аппаратная линия ввода/вывода GPIO12. */
Uint16 GPIO12:2; // 25:24 GPIO12
/* Битовое поле GPIO13, ширина 2 бит; аппаратная линия ввода/вывода GPIO13. */
Uint16 GPIO13:2; // 27:26 GPIO13
/* Битовое поле GPIO14, ширина 2 бит; аппаратная линия ввода/вывода GPIO14. */
Uint16 GPIO14:2; // 29:28 GPIO14
/* Битовое поле GPIO15, ширина 2 бит; аппаратная линия ввода/вывода GPIO15. */
Uint16 GPIO15:2; // 31:30 GPIO15
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру GPA2_BITS; порядок полей определяет расположение данных. */
struct GPA2_BITS { // bits description
/* Битовое поле GPIO16, ширина 2 бит; аппаратная линия ввода/вывода GPIO16. */
Uint16 GPIO16:2; // 1:0 GPIO16
/* Битовое поле GPIO17, ширина 2 бит; аппаратная линия ввода/вывода GPIO17. */
Uint16 GPIO17:2; // 3:2 GPIO17
/* Битовое поле GPIO18, ширина 2 бит; аппаратная линия ввода/вывода GPIO18. */
Uint16 GPIO18:2; // 5:4 GPIO18
/* Битовое поле GPIO19, ширина 2 бит; аппаратная линия ввода/вывода GPIO19. */
Uint16 GPIO19:2; // 7:6 GPIO19
/* Битовое поле GPIO20, ширина 2 бит; аппаратная линия ввода/вывода GPIO20. */
Uint16 GPIO20:2; // 9:8 GPIO20
/* Битовое поле GPIO21, ширина 2 бит; аппаратная линия ввода/вывода GPIO21. */
Uint16 GPIO21:2; // 11:10 GPIO21
/* Битовое поле GPIO22, ширина 2 бит; аппаратная линия ввода/вывода GPIO22. */
Uint16 GPIO22:2; // 13:12 GPIO22
/* Битовое поле GPIO23, ширина 2 бит; аппаратная линия ввода/вывода GPIO23. */
Uint16 GPIO23:2; // 15:14 GPIO23
/* Битовое поле GPIO24, ширина 2 бит; аппаратная линия ввода/вывода GPIO24. */
Uint16 GPIO24:2; // 17:16 GPIO24
/* Битовое поле GPIO25, ширина 2 бит; аппаратная линия ввода/вывода GPIO25. */
Uint16 GPIO25:2; // 19:18 GPIO25
/* Битовое поле GPIO26, ширина 2 бит; аппаратная линия ввода/вывода GPIO26. */
Uint16 GPIO26:2; // 21:20 GPIO26
/* Битовое поле GPIO27, ширина 2 бит; аппаратная линия ввода/вывода GPIO27. */
Uint16 GPIO27:2; // 23:22 GPIO27
/* Битовое поле GPIO28, ширина 2 бит; аппаратная линия ввода/вывода GPIO28. */
Uint16 GPIO28:2; // 25:24 GPIO28
/* Битовое поле GPIO29, ширина 2 бит; аппаратная линия ввода/вывода GPIO29. */
Uint16 GPIO29:2; // 27:26 GPIO29
/* Битовое поле GPIO30, ширина 2 бит; аппаратная линия ввода/вывода GPIO30. */
Uint16 GPIO30:2; // 29:28 GPIO30
/* Битовое поле GPIO31, ширина 2 бит; аппаратная линия ввода/вывода GPIO31. */
Uint16 GPIO31:2; // 31:30 GPIO31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру GPB1_BITS; порядок полей определяет расположение данных. */
struct GPB1_BITS { // bits description
/* Битовое поле GPIO32, ширина 2 бит; аппаратная линия ввода/вывода GPIO32. */
Uint16 GPIO32:2; // 1:0 GPIO32
/* Битовое поле GPIO33, ширина 2 бит; аппаратная линия ввода/вывода GPIO33. */
Uint16 GPIO33:2; // 3:2 GPIO33
/* Битовое поле GPIO34, ширина 2 бит; аппаратная линия ввода/вывода GPIO34. */
Uint16 GPIO34:2; // 5:4 GPIO34
/* Битовое поле GPIO35, ширина 2 бит; аппаратная линия ввода/вывода GPIO35. */
Uint16 GPIO35:2; // 7:6 GPIO35
/* Битовое поле GPIO36, ширина 2 бит; аппаратная линия ввода/вывода GPIO36. */
Uint16 GPIO36:2; // 9:8 GPIO36
/* Битовое поле GPIO37, ширина 2 бит; аппаратная линия ввода/вывода GPIO37. */
Uint16 GPIO37:2; // 11:10 GPIO37
/* Битовое поле GPIO38, ширина 2 бит; аппаратная линия ввода/вывода GPIO38. */
Uint16 GPIO38:2; // 13:12 GPIO38
/* Битовое поле GPIO39, ширина 2 бит; аппаратная линия ввода/вывода GPIO39. */
Uint16 GPIO39:2; // 15:14 GPIO39
/* Битовое поле GPIO40, ширина 2 бит; аппаратная линия ввода/вывода GPIO40. */
Uint16 GPIO40:2; // 17:16 GPIO40
/* Битовое поле GPIO41, ширина 2 бит; аппаратная линия ввода/вывода GPIO41. */
Uint16 GPIO41:2; // 19:16 GPIO41
/* Битовое поле GPIO42, ширина 2 бит; аппаратная линия ввода/вывода GPIO42. */
Uint16 GPIO42:2; // 21:20 GPIO42
/* Битовое поле GPIO43, ширина 2 бит; аппаратная линия ввода/вывода GPIO43. */
Uint16 GPIO43:2; // 23:22 GPIO43
/* Битовое поле GPIO44, ширина 2 бит; аппаратная линия ввода/вывода GPIO44. */
Uint16 GPIO44:2; // 25:24 GPIO44
/* Битовое поле GPIO45, ширина 2 бит; аппаратная линия ввода/вывода GPIO45. */
Uint16 GPIO45:2; // 27:26 GPIO45
/* Битовое поле GPIO46, ширина 2 бит; аппаратная линия ввода/вывода GPIO46. */
Uint16 GPIO46:2; // 29:28 GPIO46
/* Битовое поле GPIO47, ширина 2 бит; аппаратная линия ввода/вывода GPIO47. */
Uint16 GPIO47:2; // 31:30 GPIO47
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру GPB2_BITS; порядок полей определяет расположение данных. */
struct GPB2_BITS { // bits description
/* Битовое поле GPIO48, ширина 2 бит; аппаратная линия ввода/вывода GPIO48. */
Uint16 GPIO48:2; // 1:0 GPIO48
/* Битовое поле GPIO49, ширина 2 бит; аппаратная линия ввода/вывода GPIO49. */
Uint16 GPIO49:2; // 3:2 GPIO49
/* Битовое поле GPIO50, ширина 2 бит; аппаратная линия ввода/вывода GPIO50. */
Uint16 GPIO50:2; // 5:4 GPIO50
/* Битовое поле GPIO51, ширина 2 бит; аппаратная линия ввода/вывода GPIO51. */
Uint16 GPIO51:2; // 7:6 GPIO51
/* Битовое поле GPIO52, ширина 2 бит; аппаратная линия ввода/вывода GPIO52. */
Uint16 GPIO52:2; // 9:8 GPIO52
/* Битовое поле GPIO53, ширина 2 бит; аппаратная линия ввода/вывода GPIO53. */
Uint16 GPIO53:2; // 11:10 GPIO53
/* Битовое поле GPIO54, ширина 2 бит; аппаратная линия ввода/вывода GPIO54. */
Uint16 GPIO54:2; // 13:12 GPIO54
/* Битовое поле GPIO55, ширина 2 бит; аппаратная линия ввода/вывода GPIO55. */
Uint16 GPIO55:2; // 15:14 GPIO55
/* Битовое поле GPIO56, ширина 2 бит; аппаратная линия ввода/вывода GPIO56. */
Uint16 GPIO56:2; // 17:16 GPIO56
/* Битовое поле GPIO57, ширина 2 бит; аппаратная линия ввода/вывода GPIO57. */
Uint16 GPIO57:2; // 19:18 GPIO57
/* Битовое поле GPIO58, ширина 2 бит; аппаратная линия ввода/вывода GPIO58. */
Uint16 GPIO58:2; // 21:20 GPIO58
/* Битовое поле GPIO59, ширина 2 бит; аппаратная линия ввода/вывода GPIO59. */
Uint16 GPIO59:2; // 23:22 GPIO59
/* Битовое поле GPIO60, ширина 2 бит; аппаратная линия ввода/вывода GPIO60. */
Uint16 GPIO60:2; // 25:24 GPIO60
/* Битовое поле GPIO61, ширина 2 бит; аппаратная линия ввода/вывода GPIO61. */
Uint16 GPIO61:2; // 27:26 GPIO61
/* Битовое поле GPIO62, ширина 2 бит; аппаратная линия ввода/вывода GPIO62. */
Uint16 GPIO62:2; // 29:28 GPIO62
/* Битовое поле GPIO63, ширина 2 бит; аппаратная линия ввода/вывода GPIO63. */
Uint16 GPIO63:2; // 31:30 GPIO63
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру GPC1_BITS; порядок полей определяет расположение данных. */
struct GPC1_BITS { // bits description
/* Битовое поле GPIO64, ширина 2 бит; аппаратная линия ввода/вывода GPIO64. */
Uint16 GPIO64:2; // 1:0 GPIO64
/* Битовое поле GPIO65, ширина 2 бит; аппаратная линия ввода/вывода GPIO65. */
Uint16 GPIO65:2; // 3:2 GPIO65
/* Битовое поле GPIO66, ширина 2 бит; аппаратная линия ввода/вывода GPIO66. */
Uint16 GPIO66:2; // 5:4 GPIO66
/* Битовое поле GPIO67, ширина 2 бит; аппаратная линия ввода/вывода GPIO67. */
Uint16 GPIO67:2; // 7:6 GPIO67
/* Битовое поле GPIO68, ширина 2 бит; аппаратная линия ввода/вывода GPIO68. */
Uint16 GPIO68:2; // 9:8 GPIO68
/* Битовое поле GPIO69, ширина 2 бит; аппаратная линия ввода/вывода GPIO69. */
Uint16 GPIO69:2; // 11:10 GPIO69
/* Битовое поле GPIO70, ширина 2 бит; аппаратная линия ввода/вывода GPIO70. */
Uint16 GPIO70:2; // 13:12 GPIO70
/* Битовое поле GPIO71, ширина 2 бит; аппаратная линия ввода/вывода GPIO71. */
Uint16 GPIO71:2; // 15:14 GPIO71
/* Битовое поле GPIO72, ширина 2 бит; аппаратная линия ввода/вывода GPIO72. */
Uint16 GPIO72:2; // 17:16 GPIO72
/* Битовое поле GPIO73, ширина 2 бит; аппаратная линия ввода/вывода GPIO73. */
Uint16 GPIO73:2; // 19:18 GPIO73
/* Битовое поле GPIO74, ширина 2 бит; аппаратная линия ввода/вывода GPIO74. */
Uint16 GPIO74:2; // 21:20 GPIO74
/* Битовое поле GPIO75, ширина 2 бит; аппаратная линия ввода/вывода GPIO75. */
Uint16 GPIO75:2; // 23:22 GPIO75
/* Битовое поле GPIO76, ширина 2 бит; аппаратная линия ввода/вывода GPIO76. */
Uint16 GPIO76:2; // 25:24 GPIO76
/* Битовое поле GPIO77, ширина 2 бит; аппаратная линия ввода/вывода GPIO77. */
Uint16 GPIO77:2; // 27:26 GPIO77
/* Битовое поле GPIO78, ширина 2 бит; аппаратная линия ввода/вывода GPIO78. */
Uint16 GPIO78:2; // 29:28 GPIO78
/* Битовое поле GPIO79, ширина 2 бит; аппаратная линия ввода/вывода GPIO79. */
Uint16 GPIO79:2; // 31:30 GPIO79
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру GPC2_BITS; порядок полей определяет расположение данных. */
struct GPC2_BITS { // bits description
/* Битовое поле GPIO80, ширина 2 бит; аппаратная линия ввода/вывода GPIO80. */
Uint16 GPIO80:2; // 1:0 GPIO80
/* Битовое поле GPIO81, ширина 2 бит; аппаратная линия ввода/вывода GPIO81. */
Uint16 GPIO81:2; // 3:2 GPIO81
/* Битовое поле GPIO82, ширина 2 бит; аппаратная линия ввода/вывода GPIO82. */
Uint16 GPIO82:2; // 5:4 GPIO82
/* Битовое поле GPIO83, ширина 2 бит; аппаратная линия ввода/вывода GPIO83. */
Uint16 GPIO83:2; // 7:6 GPIO83
/* Битовое поле GPIO84, ширина 2 бит; аппаратная линия ввода/вывода GPIO84. */
Uint16 GPIO84:2; // 9:8 GPIO84
/* Битовое поле GPIO85, ширина 2 бит; аппаратная линия ввода/вывода GPIO85. */
Uint16 GPIO85:2; // 11:10 GPIO85
/* Битовое поле GPIO86, ширина 2 бит; аппаратная линия ввода/вывода GPIO86. */
Uint16 GPIO86:2; // 13:12 GPIO86
/* Битовое поле GPIO87, ширина 2 бит; аппаратная линия ввода/вывода GPIO87. */
Uint16 GPIO87:2; // 15:14 GPIO87
/* Битовое поле rsvd, ширина 16 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:16; // 31:16 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений GPA1_REG в одной области памяти. */
union GPA1_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру GPA1_BITS bit;; порядок полей определяет расположение данных. */
struct GPA1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений GPA2_REG в одной области памяти. */
union GPA2_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру GPA2_BITS bit;; порядок полей определяет расположение данных. */
struct GPA2_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений GPB1_REG в одной области памяти. */
union GPB1_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру GPB1_BITS bit;; порядок полей определяет расположение данных. */
struct GPB1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений GPB2_REG в одной области памяти. */
union GPB2_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру GPB2_BITS bit;; порядок полей определяет расположение данных. */
struct GPB2_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений GPC1_REG в одной области памяти. */
union GPC1_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру GPC1_BITS bit;; порядок полей определяет расположение данных. */
struct GPC1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений GPC2_REG в одной области памяти. */
union GPC2_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру GPC2_BITS bit;; порядок полей определяет расположение данных. */
struct GPC2_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// GPIO A DIR/TOGGLE/SET/CLEAR register bit definitions */
/* Описывает структуру GPADAT_BITS; порядок полей определяет расположение данных. */
struct GPADAT_BITS { // bits description
/* Битовое поле GPIO0, ширина 1 бит; аппаратная линия ввода/вывода GPIO0. */
Uint16 GPIO0:1; // 0 GPIO0
/* Битовое поле GPIO1, ширина 1 бит; аппаратная линия ввода/вывода GPIO1. */
Uint16 GPIO1:1; // 1 GPIO1
/* Битовое поле GPIO2, ширина 1 бит; аппаратная линия ввода/вывода GPIO2. */
Uint16 GPIO2:1; // 2 GPIO2
/* Битовое поле GPIO3, ширина 1 бит; аппаратная линия ввода/вывода GPIO3. */
Uint16 GPIO3:1; // 3 GPIO3
/* Битовое поле GPIO4, ширина 1 бит; аппаратная линия ввода/вывода GPIO4. */
Uint16 GPIO4:1; // 4 GPIO4
/* Битовое поле GPIO5, ширина 1 бит; аппаратная линия ввода/вывода GPIO5. */
Uint16 GPIO5:1; // 5 GPIO5
/* Битовое поле GPIO6, ширина 1 бит; аппаратная линия ввода/вывода GPIO6. */
Uint16 GPIO6:1; // 6 GPIO6
/* Битовое поле GPIO7, ширина 1 бит; аппаратная линия ввода/вывода GPIO7. */
Uint16 GPIO7:1; // 7 GPIO7
/* Битовое поле GPIO8, ширина 1 бит; аппаратная линия ввода/вывода GPIO8. */
Uint16 GPIO8:1; // 8 GPIO8
/* Битовое поле GPIO9, ширина 1 бит; аппаратная линия ввода/вывода GPIO9. */
Uint16 GPIO9:1; // 9 GPIO9
/* Битовое поле GPIO10, ширина 1 бит; аппаратная линия ввода/вывода GPIO10. */
Uint16 GPIO10:1; // 10 GPIO10
/* Битовое поле GPIO11, ширина 1 бит; аппаратная линия ввода/вывода GPIO11. */
Uint16 GPIO11:1; // 11 GPIO11
/* Битовое поле GPIO12, ширина 1 бит; аппаратная линия ввода/вывода GPIO12. */
Uint16 GPIO12:1; // 12 GPIO12
/* Битовое поле GPIO13, ширина 1 бит; аппаратная линия ввода/вывода GPIO13. */
Uint16 GPIO13:1; // 13 GPIO13
/* Битовое поле GPIO14, ширина 1 бит; аппаратная линия ввода/вывода GPIO14. */
Uint16 GPIO14:1; // 14 GPIO14
/* Битовое поле GPIO15, ширина 1 бит; аппаратная линия ввода/вывода GPIO15. */
Uint16 GPIO15:1; // 15 GPIO15
/* Битовое поле GPIO16, ширина 1 бит; аппаратная линия ввода/вывода GPIO16. */
Uint16 GPIO16:1; // 16 GPIO16
/* Битовое поле GPIO17, ширина 1 бит; аппаратная линия ввода/вывода GPIO17. */
Uint16 GPIO17:1; // 17 GPIO17
/* Битовое поле GPIO18, ширина 1 бит; аппаратная линия ввода/вывода GPIO18. */
Uint16 GPIO18:1; // 18 GPIO18
/* Битовое поле GPIO19, ширина 1 бит; аппаратная линия ввода/вывода GPIO19. */
Uint16 GPIO19:1; // 19 GPIO19
/* Битовое поле GPIO20, ширина 1 бит; аппаратная линия ввода/вывода GPIO20. */
Uint16 GPIO20:1; // 20 GPIO20
/* Битовое поле GPIO21, ширина 1 бит; аппаратная линия ввода/вывода GPIO21. */
Uint16 GPIO21:1; // 21 GPIO21
/* Битовое поле GPIO22, ширина 1 бит; аппаратная линия ввода/вывода GPIO22. */
Uint16 GPIO22:1; // 22 GPIO22
/* Битовое поле GPIO23, ширина 1 бит; аппаратная линия ввода/вывода GPIO23. */
Uint16 GPIO23:1; // 23 GPIO23
/* Битовое поле GPIO24, ширина 1 бит; аппаратная линия ввода/вывода GPIO24. */
Uint16 GPIO24:1; // 24 GPIO24
/* Битовое поле GPIO25, ширина 1 бит; аппаратная линия ввода/вывода GPIO25. */
Uint16 GPIO25:1; // 25 GPIO25
/* Битовое поле GPIO26, ширина 1 бит; аппаратная линия ввода/вывода GPIO26. */
Uint16 GPIO26:1; // 26 GPIO26
/* Битовое поле GPIO27, ширина 1 бит; аппаратная линия ввода/вывода GPIO27. */
Uint16 GPIO27:1; // 27 GPIO27
/* Битовое поле GPIO28, ширина 1 бит; аппаратная линия ввода/вывода GPIO28. */
Uint16 GPIO28:1; // 28 GPIO28
/* Битовое поле GPIO29, ширина 1 бит; аппаратная линия ввода/вывода GPIO29. */
Uint16 GPIO29:1; // 29 GPIO29
/* Битовое поле GPIO30, ширина 1 бит; аппаратная линия ввода/вывода GPIO30. */
Uint16 GPIO30:1; // 30 GPIO30
/* Битовое поле GPIO31, ширина 1 бит; аппаратная линия ввода/вывода GPIO31. */
Uint16 GPIO31:1; // 31 GPIO31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру GPBDAT_BITS; порядок полей определяет расположение данных. */
struct GPBDAT_BITS { // bits description
/* Битовое поле GPIO32, ширина 1 бит; аппаратная линия ввода/вывода GPIO32. */
Uint16 GPIO32:1; // 0 GPIO32
/* Битовое поле GPIO33, ширина 1 бит; аппаратная линия ввода/вывода GPIO33. */
Uint16 GPIO33:1; // 1 GPIO33
/* Битовое поле GPIO34, ширина 1 бит; аппаратная линия ввода/вывода GPIO34. */
Uint16 GPIO34:1; // 2 GPIO34
/* Битовое поле GPIO35, ширина 1 бит; аппаратная линия ввода/вывода GPIO35. */
Uint16 GPIO35:1; // 3 GPIO35
/* Битовое поле GPIO36, ширина 1 бит; аппаратная линия ввода/вывода GPIO36. */
Uint16 GPIO36:1; // 4 GPIO36
/* Битовое поле GPIO37, ширина 1 бит; аппаратная линия ввода/вывода GPIO37. */
Uint16 GPIO37:1; // 5 GPIO37
/* Битовое поле GPIO38, ширина 1 бит; аппаратная линия ввода/вывода GPIO38. */
Uint16 GPIO38:1; // 6 GPIO38
/* Битовое поле GPIO39, ширина 1 бит; аппаратная линия ввода/вывода GPIO39. */
Uint16 GPIO39:1; // 7 GPIO39
/* Битовое поле GPIO40, ширина 1 бит; аппаратная линия ввода/вывода GPIO40. */
Uint16 GPIO40:1; // 8 GPIO40
/* Битовое поле GPIO41, ширина 1 бит; аппаратная линия ввода/вывода GPIO41. */
Uint16 GPIO41:1; // 9 GPIO41
/* Битовое поле GPIO42, ширина 1 бит; аппаратная линия ввода/вывода GPIO42. */
Uint16 GPIO42:1; // 10 GPIO42
/* Битовое поле GPIO43, ширина 1 бит; аппаратная линия ввода/вывода GPIO43. */
Uint16 GPIO43:1; // 11 GPIO43
/* Битовое поле GPIO44, ширина 1 бит; аппаратная линия ввода/вывода GPIO44. */
Uint16 GPIO44:1; // 12 GPIO44
/* Битовое поле GPIO45, ширина 1 бит; аппаратная линия ввода/вывода GPIO45. */
Uint16 GPIO45:1; // 13 GPIO45
/* Битовое поле GPIO46, ширина 1 бит; аппаратная линия ввода/вывода GPIO46. */
Uint16 GPIO46:1; // 14 GPIO46
/* Битовое поле GPIO47, ширина 1 бит; аппаратная линия ввода/вывода GPIO47. */
Uint16 GPIO47:1; // 15 GPIO47
/* Битовое поле GPIO48, ширина 1 бит; аппаратная линия ввода/вывода GPIO48. */
Uint16 GPIO48:1; // 16 GPIO48
/* Битовое поле GPIO49, ширина 1 бит; аппаратная линия ввода/вывода GPIO49. */
Uint16 GPIO49:1; // 17 GPIO49
/* Битовое поле GPIO50, ширина 1 бит; аппаратная линия ввода/вывода GPIO50. */
Uint16 GPIO50:1; // 18 GPIO50
/* Битовое поле GPIO51, ширина 1 бит; аппаратная линия ввода/вывода GPIO51. */
Uint16 GPIO51:1; // 19 GPIO51
/* Битовое поле GPIO52, ширина 1 бит; аппаратная линия ввода/вывода GPIO52. */
Uint16 GPIO52:1; // 20 GPIO52
/* Битовое поле GPIO53, ширина 1 бит; аппаратная линия ввода/вывода GPIO53. */
Uint16 GPIO53:1; // 21 GPIO53
/* Битовое поле GPIO54, ширина 1 бит; аппаратная линия ввода/вывода GPIO54. */
Uint16 GPIO54:1; // 22 GPIO54
/* Битовое поле GPIO55, ширина 1 бит; аппаратная линия ввода/вывода GPIO55. */
Uint16 GPIO55:1; // 23 GPIO55
/* Битовое поле GPIO56, ширина 1 бит; аппаратная линия ввода/вывода GPIO56. */
Uint16 GPIO56:1; // 24 GPIO56
/* Битовое поле GPIO57, ширина 1 бит; аппаратная линия ввода/вывода GPIO57. */
Uint16 GPIO57:1; // 25 GPIO57
/* Битовое поле GPIO58, ширина 1 бит; аппаратная линия ввода/вывода GPIO58. */
Uint16 GPIO58:1; // 26 GPIO58
/* Битовое поле GPIO59, ширина 1 бит; аппаратная линия ввода/вывода GPIO59. */
Uint16 GPIO59:1; // 27 GPIO59
/* Битовое поле GPIO60, ширина 1 бит; аппаратная линия ввода/вывода GPIO60. */
Uint16 GPIO60:1; // 28 GPIO60
/* Битовое поле GPIO61, ширина 1 бит; аппаратная линия ввода/вывода GPIO61. */
Uint16 GPIO61:1; // 29 GPIO61
/* Битовое поле GPIO62, ширина 1 бит; аппаратная линия ввода/вывода GPIO62. */
Uint16 GPIO62:1; // 30 GPIO62
/* Битовое поле GPIO63, ширина 1 бит; аппаратная линия ввода/вывода GPIO63. */
Uint16 GPIO63:1; // 31 GPIO63
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру GPCDAT_BITS; порядок полей определяет расположение данных. */
struct GPCDAT_BITS { // bits description
/* Битовое поле GPIO64, ширина 1 бит; аппаратная линия ввода/вывода GPIO64. */
Uint16 GPIO64:1; // 0 GPIO64
/* Битовое поле GPIO65, ширина 1 бит; аппаратная линия ввода/вывода GPIO65. */
Uint16 GPIO65:1; // 1 GPIO65
/* Битовое поле GPIO66, ширина 1 бит; аппаратная линия ввода/вывода GPIO66. */
Uint16 GPIO66:1; // 2 GPIO66
/* Битовое поле GPIO67, ширина 1 бит; аппаратная линия ввода/вывода GPIO67. */
Uint16 GPIO67:1; // 3 GPIO67
/* Битовое поле GPIO68, ширина 1 бит; аппаратная линия ввода/вывода GPIO68. */
Uint16 GPIO68:1; // 4 GPIO68
/* Битовое поле GPIO69, ширина 1 бит; аппаратная линия ввода/вывода GPIO69. */
Uint16 GPIO69:1; // 5 GPIO69
/* Битовое поле GPIO70, ширина 1 бит; аппаратная линия ввода/вывода GPIO70. */
Uint16 GPIO70:1; // 6 GPIO70
/* Битовое поле GPIO71, ширина 1 бит; аппаратная линия ввода/вывода GPIO71. */
Uint16 GPIO71:1; // 7 GPIO71
/* Битовое поле GPIO72, ширина 1 бит; аппаратная линия ввода/вывода GPIO72. */
Uint16 GPIO72:1; // 8 GPIO72
/* Битовое поле GPIO73, ширина 1 бит; аппаратная линия ввода/вывода GPIO73. */
Uint16 GPIO73:1; // 9 GPIO73
/* Битовое поле GPIO74, ширина 1 бит; аппаратная линия ввода/вывода GPIO74. */
Uint16 GPIO74:1; // 10 GPIO74
/* Битовое поле GPIO75, ширина 1 бит; аппаратная линия ввода/вывода GPIO75. */
Uint16 GPIO75:1; // 11 GPIO75
/* Битовое поле GPIO76, ширина 1 бит; аппаратная линия ввода/вывода GPIO76. */
Uint16 GPIO76:1; // 12 GPIO76
/* Битовое поле GPIO77, ширина 1 бит; аппаратная линия ввода/вывода GPIO77. */
Uint16 GPIO77:1; // 13 GPIO77
/* Битовое поле GPIO78, ширина 1 бит; аппаратная линия ввода/вывода GPIO78. */
Uint16 GPIO78:1; // 14 GPIO78
/* Битовое поле GPIO79, ширина 1 бит; аппаратная линия ввода/вывода GPIO79. */
Uint16 GPIO79:1; // 15 GPIO79
/* Битовое поле GPIO80, ширина 1 бит; аппаратная линия ввода/вывода GPIO80. */
Uint16 GPIO80:1; // 16 GPIO80
/* Битовое поле GPIO81, ширина 1 бит; аппаратная линия ввода/вывода GPIO81. */
Uint16 GPIO81:1; // 17 GPIO81
/* Битовое поле GPIO82, ширина 1 бит; аппаратная линия ввода/вывода GPIO82. */
Uint16 GPIO82:1; // 18 GPIO82
/* Битовое поле GPIO83, ширина 1 бит; аппаратная линия ввода/вывода GPIO83. */
Uint16 GPIO83:1; // 19 GPIO83
/* Битовое поле GPIO84, ширина 1 бит; аппаратная линия ввода/вывода GPIO84. */
Uint16 GPIO84:1; // 20 GPIO84
/* Битовое поле GPIO85, ширина 1 бит; аппаратная линия ввода/вывода GPIO85. */
Uint16 GPIO85:1; // 21 GPIO85
/* Битовое поле GPIO86, ширина 1 бит; аппаратная линия ввода/вывода GPIO86. */
Uint16 GPIO86:1; // 22 GPIO86
/* Битовое поле GPIO87, ширина 1 бит; аппаратная линия ввода/вывода GPIO87. */
Uint16 GPIO87:1; // 23 GPIO87
/* Битовое поле rsvd1, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:8; // 31:24 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений GPADAT_REG в одной области памяти. */
union GPADAT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру GPADAT_BITS bit;; порядок полей определяет расположение данных. */
struct GPADAT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений GPBDAT_REG в одной области памяти. */
union GPBDAT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру GPBDAT_BITS bit;; порядок полей определяет расположение данных. */
struct GPBDAT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений GPCDAT_REG в одной области памяти. */
union GPCDAT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру GPCDAT_BITS bit;; порядок полей определяет расположение данных. */
struct GPCDAT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
@@ -310,80 +568,142 @@ union GPCDAT_REG {
//----------------------------------------------------
// GPIO Xint1/XINT2/XNMI select register bit definitions */
/* Описывает структуру GPIOXINT_BITS; порядок полей определяет расположение данных. */
struct GPIOXINT_BITS { // bits description
/* Битовое поле GPIOSEL, ширина 5 бит; аппаратная линия ввода/вывода GPIOSEL. */
Uint16 GPIOSEL:5; // 4:0 Select GPIO interrupt input source
/* Битовое поле rsvd1, ширина 11 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:11; // 15:5 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений GPIOXINT_REG в одной области памяти. */
union GPIOXINT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру GPIOXINT_BITS bit;; порядок полей определяет расположение данных. */
struct GPIOXINT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру GPIO_CTRL_REGS; порядок полей определяет расположение данных. */
struct GPIO_CTRL_REGS {
/* Объединяет несколько представлений GPACTRL_REG GPACTRL; в одной области памяти. */
union GPACTRL_REG GPACTRL; // GPIO A Control Register (GPIO0 to 31)
/* Объединяет несколько представлений GPA1_REG GPAQSEL1; в одной области памяти. */
union GPA1_REG GPAQSEL1; // GPIO A Qualifier Select 1 Register (GPIO0 to 15)
/* Объединяет несколько представлений GPA2_REG GPAQSEL2; в одной области памяти. */
union GPA2_REG GPAQSEL2; // GPIO A Qualifier Select 2 Register (GPIO16 to 31)
/* Объединяет несколько представлений GPA1_REG GPAMUX1; в одной области памяти. */
union GPA1_REG GPAMUX1; // GPIO A Mux 1 Register (GPIO0 to 15)
/* Объединяет несколько представлений GPA2_REG GPAMUX2; в одной области памяти. */
union GPA2_REG GPAMUX2; // GPIO A Mux 2 Register (GPIO16 to 31)
/* Объединяет несколько представлений GPADAT_REG GPADIR; в одной области памяти. */
union GPADAT_REG GPADIR; // GPIO A Direction Register (GPIO0 to 31)
/* Объединяет несколько представлений GPADAT_REG GPAPUD; в одной области памяти. */
union GPADAT_REG GPAPUD; // GPIO A Pull Up Disable Register (GPIO0 to 31)
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint32 rsvd1;
/* Объединяет несколько представлений GPBCTRL_REG GPBCTRL; в одной области памяти. */
union GPBCTRL_REG GPBCTRL; // GPIO B Control Register (GPIO32 to 63)
/* Объединяет несколько представлений GPB1_REG GPBQSEL1; в одной области памяти. */
union GPB1_REG GPBQSEL1; // GPIO B Qualifier Select 1 Register (GPIO32 to 47)
/* Объединяет несколько представлений GPB2_REG GPBQSEL2; в одной области памяти. */
union GPB2_REG GPBQSEL2; // GPIO B Qualifier Select 2 Register (GPIO48 to 63)
/* Объединяет несколько представлений GPB1_REG GPBMUX1; в одной области памяти. */
union GPB1_REG GPBMUX1; // GPIO B Mux 1 Register (GPIO32 to 47)
/* Объединяет несколько представлений GPB2_REG GPBMUX2; в одной области памяти. */
union GPB2_REG GPBMUX2; // GPIO B Mux 2 Register (GPIO48 to 63)
/* Объединяет несколько представлений GPBDAT_REG GPBDIR; в одной области памяти. */
union GPBDAT_REG GPBDIR; // GPIO B Direction Register (GPIO32 to 63)
/* Объединяет несколько представлений GPBDAT_REG GPBPUD; в одной области памяти. */
union GPBDAT_REG GPBPUD; // GPIO B Pull Up Disable Register (GPIO32 to 63)
/* Объявляет rsvd2 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2[8];
/* Объединяет несколько представлений GPC1_REG GPCMUX1; в одной области памяти. */
union GPC1_REG GPCMUX1; // GPIO C Mux 1 Register (GPIO64 to 79)
/* Объединяет несколько представлений GPC2_REG GPCMUX2; в одной области памяти. */
union GPC2_REG GPCMUX2; // GPIO C Mux 2 Register (GPIO80 to 95)
/* Объединяет несколько представлений GPCDAT_REG GPCDIR; в одной области памяти. */
union GPCDAT_REG GPCDIR; // GPIO C Direction Register (GPIO64 to 95)
/* Объединяет несколько представлений GPCDAT_REG GPCPUD; в одной области памяти. */
union GPCDAT_REG GPCPUD; // GPIO C Pull Up Disable Register (GPIO64 to 95)
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру GPIO_DATA_REGS; порядок полей определяет расположение данных. */
struct GPIO_DATA_REGS {
/* Объединяет несколько представлений GPADAT_REG GPADAT; в одной области памяти. */
union GPADAT_REG GPADAT; // GPIO Data Register (GPIO0 to 31)
/* Объединяет несколько представлений GPADAT_REG GPASET; в одной области памяти. */
union GPADAT_REG GPASET; // GPIO Data Set Register (GPIO0 to 31)
/* Объединяет несколько представлений GPADAT_REG GPACLEAR; в одной области памяти. */
union GPADAT_REG GPACLEAR; // GPIO Data Clear Register (GPIO0 to 31)
/* Объединяет несколько представлений GPADAT_REG GPATOGGLE; в одной области памяти. */
union GPADAT_REG GPATOGGLE; // GPIO Data Toggle Register (GPIO0 to 31)
/* Объединяет несколько представлений GPBDAT_REG GPBDAT; в одной области памяти. */
union GPBDAT_REG GPBDAT; // GPIO Data Register (GPIO32 to 63)
/* Объединяет несколько представлений GPBDAT_REG GPBSET; в одной области памяти. */
union GPBDAT_REG GPBSET; // GPIO Data Set Register (GPIO32 to 63)
/* Объединяет несколько представлений GPBDAT_REG GPBCLEAR; в одной области памяти. */
union GPBDAT_REG GPBCLEAR; // GPIO Data Clear Register (GPIO32 to 63)
/* Объединяет несколько представлений GPBDAT_REG GPBTOGGLE; в одной области памяти. */
union GPBDAT_REG GPBTOGGLE; // GPIO Data Toggle Register (GPIO32 to 63)
/* Объединяет несколько представлений GPCDAT_REG GPCDAT; в одной области памяти. */
union GPCDAT_REG GPCDAT; // GPIO Data Register (GPIO64 to 95)
/* Объединяет несколько представлений GPCDAT_REG GPCSET; в одной области памяти. */
union GPCDAT_REG GPCSET; // GPIO Data Set Register (GPIO64 to 95)
/* Объединяет несколько представлений GPCDAT_REG GPCCLEAR; в одной области памяти. */
union GPCDAT_REG GPCCLEAR; // GPIO Data Clear Register (GPIO64 to 95)
/* Объединяет несколько представлений GPCDAT_REG GPCTOGGLE; в одной области памяти. */
union GPCDAT_REG GPCTOGGLE; // GPIO Data Toggle Register (GPIO64 to 95)
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1[8];
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру GPIO_INT_REGS; порядок полей определяет расположение данных. */
struct GPIO_INT_REGS {
/* Объединяет несколько представлений GPIOXINT_REG GPIOXINT1SEL; в одной области памяти. */
union GPIOXINT_REG GPIOXINT1SEL; // XINT1 GPIO Input Selection
/* Объединяет несколько представлений GPIOXINT_REG GPIOXINT2SEL; в одной области памяти. */
union GPIOXINT_REG GPIOXINT2SEL; // XINT2 GPIO Input Selection
/* Объединяет несколько представлений GPIOXINT_REG GPIOXNMISEL; в одной области памяти. */
union GPIOXINT_REG GPIOXNMISEL; // XNMI_Xint13 GPIO Input Selection
/* Объединяет несколько представлений GPIOXINT_REG GPIOXINT3SEL; в одной области памяти. */
union GPIOXINT_REG GPIOXINT3SEL; // XINT3 GPIO Input Selection
/* Объединяет несколько представлений GPIOXINT_REG GPIOXINT4SEL; в одной области памяти. */
union GPIOXINT_REG GPIOXINT4SEL; // XINT4 GPIO Input Selection
/* Объединяет несколько представлений GPIOXINT_REG GPIOXINT5SEL; в одной области памяти. */
union GPIOXINT_REG GPIOXINT5SEL; // XINT5 GPIO Input Selection
/* Объединяет несколько представлений GPIOXINT_REG GPIOXINT6SEL; в одной области памяти. */
union GPIOXINT_REG GPIOXINT6SEL; // XINT6 GPIO Input Selection
/* Объединяет несколько представлений GPIOXINT_REG GPIOXINT7SEL; в одной области памяти. */
union GPIOXINT_REG GPIOXINT7SEL; // XINT7 GPIO Input Selection
/* Объединяет несколько представлений GPADAT_REG GPIOLPMSEL; в одной области памяти. */
union GPADAT_REG GPIOLPMSEL; // Low power modes GP I/O input select
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// GPI/O External References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern volatile struct GPIO_CTRL_REGS GpioCtrlRegs;; порядок элементов сохраняется. */
extern volatile struct GPIO_CTRL_REGS GpioCtrlRegs;
/* Продолжает список аргументов, полей или выражение extern volatile struct GPIO_DATA_REGS GpioDataRegs;; порядок элементов сохраняется. */
extern volatile struct GPIO_DATA_REGS GpioDataRegs;
/* Продолжает список аргументов, полей или выражение extern volatile struct GPIO_INT_REGS GpioIntRegs;; порядок элементов сохраняется. */
extern volatile struct GPIO_INT_REGS GpioIntRegs;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_GPIO_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание I2c для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/2 $
// Checkin $Date: March 22, 2007 10:40:22 $
//###########################################################################
@@ -12,165 +13,286 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_I2C_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_I2C_H
/* Определяет защитный символ или переключатель DSP2833x_I2C_H для последующей компиляции. */
#define DSP2833x_I2C_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
//----------------------------------------------------
// I2C interrupt vector register bit definitions */
/* Описывает структуру I2CISRC_BITS; порядок полей определяет расположение данных. */
struct I2CISRC_BITS { // bits description
/* Битовое поле INTCODE, ширина 3 бит; данные INTCODE. */
Uint16 INTCODE:3; // 2:0 Interrupt code
/* Битовое поле rsvd1, ширина 13 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:13; // 15:3 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений I2CISRC_REG в одной области памяти. */
union I2CISRC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру I2CISRC_BITS bit;; порядок полей определяет расположение данных. */
struct I2CISRC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// I2C interrupt mask register bit definitions */
/* Описывает структуру I2CIER_BITS; порядок полей определяет расположение данных. */
struct I2CIER_BITS { // bits description
/* Битовое поле ARBL, ширина 1 бит; данные ARBL. */
Uint16 ARBL:1; // 0 Arbitration lost interrupt
/* Битовое поле NACK, ширина 1 бит; данные NACK. */
Uint16 NACK:1; // 1 No ack interrupt
/* Битовое поле ARDY, ширина 1 бит; данные ARDY. */
Uint16 ARDY:1; // 2 Register access ready interrupt
/* Битовое поле RRDY, ширина 1 бит; данные RRDY. */
Uint16 RRDY:1; // 3 Recieve data ready interrupt
/* Битовое поле XRDY, ширина 1 бит; данные XRDY. */
Uint16 XRDY:1; // 4 Transmit data ready interrupt
/* Битовое поле SCD, ширина 1 бит; данные SCD. */
Uint16 SCD:1; // 5 Stop condition detection
/* Битовое поле AAS, ширина 1 бит; данные AAS. */
Uint16 AAS:1; // 6 Address as slave
/* Битовое поле rsvd, ширина 9 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:9; // 15:7 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений I2CIER_REG в одной области памяти. */
union I2CIER_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру I2CIER_BITS bit;; порядок полей определяет расположение данных. */
struct I2CIER_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// I2C status register bit definitions */
/* Описывает структуру I2CSTR_BITS; порядок полей определяет расположение данных. */
struct I2CSTR_BITS { // bits description
/* Битовое поле ARBL, ширина 1 бит; данные ARBL. */
Uint16 ARBL:1; // 0 Arbitration lost interrupt
/* Битовое поле NACK, ширина 1 бит; данные NACK. */
Uint16 NACK:1; // 1 No ack interrupt
/* Битовое поле ARDY, ширина 1 бит; данные ARDY. */
Uint16 ARDY:1; // 2 Register access ready interrupt
/* Битовое поле RRDY, ширина 1 бит; данные RRDY. */
Uint16 RRDY:1; // 3 Recieve data ready interrupt
/* Битовое поле XRDY, ширина 1 бит; данные XRDY. */
Uint16 XRDY:1; // 4 Transmit data ready interrupt
/* Битовое поле SCD, ширина 1 бит; данные SCD. */
Uint16 SCD:1; // 5 Stop condition detection
/* Битовое поле rsvd1, ширина 2 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:2; // 7:6 reserved
/* Битовое поле AD0, ширина 1 бит; данные AD0. */
Uint16 AD0:1; // 8 Address Zero
/* Битовое поле AAS, ширина 1 бит; данные AAS. */
Uint16 AAS:1; // 9 Address as slave
/* Битовое поле XSMT, ширина 1 бит; данные XSMT. */
Uint16 XSMT:1; // 10 XMIT shift empty
/* Битовое поле RSFULL, ширина 1 бит; данные RSFULL. */
Uint16 RSFULL:1; // 11 Recieve shift full
/* Битовое поле BB, ширина 1 бит; данные BB. */
Uint16 BB:1; // 12 Bus busy
/* Битовое поле NACKSNT, ширина 1 бит; данные NACKSNT. */
Uint16 NACKSNT:1; // 13 A no ack sent
/* Битовое поле SDIR, ширина 1 бит; данные SDIR. */
Uint16 SDIR:1; // 14 Slave direction
/* Битовое поле rsvd2, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:1; // 15 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений I2CSTR_REG в одной области памяти. */
union I2CSTR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру I2CSTR_BITS bit;; порядок полей определяет расположение данных. */
struct I2CSTR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// I2C mode control register bit definitions */
/* Описывает структуру I2CMDR_BITS; порядок полей определяет расположение данных. */
struct I2CMDR_BITS { // bits description
/* Битовое поле BC, ширина 3 бит; данные BC. */
Uint16 BC:3; // 2:0 Bit count
/* Битовое поле FDF, ширина 1 бит; данные FDF. */
Uint16 FDF:1; // 3 Free data format
/* Битовое поле STB, ширина 1 бит; данные STB. */
Uint16 STB:1; // 4 Start byte
/* Битовое поле IRS, ширина 1 бит; данные IRS. */
Uint16 IRS:1; // 5 I2C Reset not
/* Битовое поле DLB, ширина 1 бит; данные DLB. */
Uint16 DLB:1; // 6 Digital loopback
/* Битовое поле RM, ширина 1 бит; данные RM. */
Uint16 RM:1; // 7 Repeat mode
/* Битовое поле XA, ширина 1 бит; данные XA. */
Uint16 XA:1; // 8 Expand address
/* Битовое поле TRX, ширина 1 бит; данные TRX. */
Uint16 TRX:1; // 9 Transmitter/reciever
/* Битовое поле MST, ширина 1 бит; данные MST. */
Uint16 MST:1; // 10 Master/slave
/* Битовое поле STP, ширина 1 бит; данные STP. */
Uint16 STP:1; // 11 Stop condition
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 12 reserved
/* Битовое поле STT, ширина 1 бит; данные STT. */
Uint16 STT:1; // 13 Start condition
/* Битовое поле FREE, ширина 1 бит; данные FREE. */
Uint16 FREE:1; // 14 Emulation mode
/* Битовое поле NACKMOD, ширина 1 бит; данные NACKMOD. */
Uint16 NACKMOD:1; // 15 No Ack mode
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений I2CMDR_REG в одной области памяти. */
union I2CMDR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру I2CMDR_BITS bit;; порядок полей определяет расположение данных. */
struct I2CMDR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// I2C pre-scaler register bit definitions */
/* Описывает структуру I2CPSC_BITS; порядок полей определяет расположение данных. */
struct I2CPSC_BITS { // bits description
/* Битовое поле IPSC, ширина 8 бит; данные IPSC. */
Uint16 IPSC:8; // 7:0 pre-scaler
/* Битовое поле rsvd1, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:8; // 15:8 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений I2CPSC_REG в одной области памяти. */
union I2CPSC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру I2CPSC_BITS bit;; порядок полей определяет расположение данных. */
struct I2CPSC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// TX FIFO control register bit definitions */
/* Описывает структуру I2CFFTX_BITS; порядок полей определяет расположение данных. */
struct I2CFFTX_BITS { // bits description
/* Битовое поле TXFFIL, ширина 5 бит; данные TXFFIL. */
Uint16 TXFFIL:5; // 4:0 FIFO interrupt level
/* Битовое поле TXFFIENA, ширина 1 бит; данные TXFFIENA. */
Uint16 TXFFIENA:1; // 5 FIFO interrupt enable/disable
/* Битовое поле TXFFINTCLR, ширина 1 бит; данные TXFFINTCLR. */
Uint16 TXFFINTCLR:1; // 6 FIFO clear
/* Битовое поле TXFFINT, ширина 1 бит; данные TXFFINT. */
Uint16 TXFFINT:1; // 7 FIFO interrupt flag
/* Битовое поле TXFFST, ширина 5 бит; данные TXFFST. */
Uint16 TXFFST:5; // 12:8 FIFO level status
/* Битовое поле TXFFRST, ширина 1 бит; данные TXFFRST. */
Uint16 TXFFRST:1; // 13 FIFO reset
/* Битовое поле I2CFFEN, ширина 1 бит; данные I2CFFEN. */
Uint16 I2CFFEN:1; // 14 enable/disable TX & RX FIFOs
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 15 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений I2CFFTX_REG в одной области памяти. */
union I2CFFTX_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру I2CFFTX_BITS bit;; порядок полей определяет расположение данных. */
struct I2CFFTX_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// RX FIFO control register bit definitions */
/* Описывает структуру I2CFFRX_BITS; порядок полей определяет расположение данных. */
struct I2CFFRX_BITS { // bits description
/* Битовое поле RXFFIL, ширина 5 бит; данные RXFFIL. */
Uint16 RXFFIL:5; // 4:0 FIFO interrupt level
/* Битовое поле RXFFIENA, ширина 1 бит; данные RXFFIENA. */
Uint16 RXFFIENA:1; // 5 FIFO interrupt enable/disable
/* Битовое поле RXFFINTCLR, ширина 1 бит; данные RXFFINTCLR. */
Uint16 RXFFINTCLR:1; // 6 FIFO clear
/* Битовое поле RXFFINT, ширина 1 бит; данные RXFFINT. */
Uint16 RXFFINT:1; // 7 FIFO interrupt flag
/* Битовое поле RXFFST, ширина 5 бит; данные RXFFST. */
Uint16 RXFFST:5; // 12:8 FIFO level
/* Битовое поле RXFFRST, ширина 1 бит; данные RXFFRST. */
Uint16 RXFFRST:1; // 13 FIFO reset
/* Битовое поле rsvd1, ширина 2 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:2; // 15:14 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений I2CFFRX_REG в одной области памяти. */
union I2CFFRX_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру I2CFFRX_BITS bit;; порядок полей определяет расположение данных. */
struct I2CFFRX_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
/* Описывает структуру I2C_REGS; порядок полей определяет расположение данных. */
struct I2C_REGS {
/* Объявляет I2COAR — данные I2COAR. */
Uint16 I2COAR; // Own address register
/* Объединяет несколько представлений I2CIER_REG I2CIER; в одной области памяти. */
union I2CIER_REG I2CIER; // Interrupt enable
/* Объединяет несколько представлений I2CSTR_REG I2CSTR; в одной области памяти. */
union I2CSTR_REG I2CSTR; // Interrupt status
/* Объявляет I2CCLKL — данные I2CCLKL. */
Uint16 I2CCLKL; // Clock divider low
/* Объявляет I2CCLKH — данные I2CCLKH. */
Uint16 I2CCLKH; // Clock divider high
/* Объявляет I2CCNT — данные I2CCNT. */
Uint16 I2CCNT; // Data count
/* Объявляет I2CDRR — данные I2CDRR. */
Uint16 I2CDRR; // Data recieve
/* Объявляет I2CSAR — данные I2CSAR. */
Uint16 I2CSAR; // Slave address
/* Объявляет I2CDXR — данные I2CDXR. */
Uint16 I2CDXR; // Data transmit
/* Объединяет несколько представлений I2CMDR_REG I2CMDR; в одной области памяти. */
union I2CMDR_REG I2CMDR; // Mode
/* Объединяет несколько представлений I2CISRC_REG I2CISRC; в одной области памяти. */
union I2CISRC_REG I2CISRC; // Interrupt source
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1; // reserved
/* Объединяет несколько представлений I2CPSC_REG I2CPSC; в одной области памяти. */
union I2CPSC_REG I2CPSC; // Pre-scaler
/* Объявляет rsvd2 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2[19]; // reserved
/* Объединяет несколько представлений I2CFFTX_REG I2CFFTX; в одной области памяти. */
union I2CFFTX_REG I2CFFTX; // Transmit FIFO
/* Объединяет несколько представлений I2CFFRX_REG I2CFFRX; в одной области памяти. */
union I2CFFRX_REG I2CFFRX; // Recieve FIFO
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
@@ -179,13 +301,17 @@ struct I2C_REGS {
//---------------------------------------------------------------------------
// External References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern volatile struct I2C_REGS I2caRegs;; порядок элементов сохраняется. */
extern volatile struct I2C_REGS I2caRegs;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_I2C_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание Mcbsp для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/5 $
// Checkin $Date: May 14, 2008 16:30:31 $
//###########################################################################
@@ -11,11 +12,16 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_MCBSP_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_MCBSP_H
/* Определяет защитный символ или переключатель DSP2833x_MCBSP_H для последующей компиляции. */
#define DSP2833x_MCBSP_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
@@ -23,691 +29,1269 @@ extern "C" {
// McBSP Individual Register Bit Definitions:
//
// McBSP DRR2 register bit definitions:
/* Описывает структуру DRR2_BITS; порядок полей определяет расположение данных. */
struct DRR2_BITS { // bit description
/* Битовое поле HWLB, ширина 8 бит; данные HWLB. */
Uint16 HWLB:8; // 16:23 High word low byte
/* Битовое поле HWHB, ширина 8 бит; данные HWHB. */
Uint16 HWHB:8; // 24:31 High word high byte
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений DRR2_REG в одной области памяти. */
union DRR2_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру DRR2_BITS bit;; порядок полей определяет расположение данных. */
struct DRR2_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// McBSP DRR1 register bit definitions:
/* Описывает структуру DRR1_BITS; порядок полей определяет расположение данных. */
struct DRR1_BITS { // bit description
/* Битовое поле LWLB, ширина 8 бит; данные LWLB. */
Uint16 LWLB:8; // 16:23 Low word low byte
/* Битовое поле LWHB, ширина 8 бит; данные LWHB. */
Uint16 LWHB:8; // 24:31 low word high byte
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений DRR1_REG в одной области памяти. */
union DRR1_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру DRR1_BITS bit;; порядок полей определяет расположение данных. */
struct DRR1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// McBSP DXR2 register bit definitions:
/* Описывает структуру DXR2_BITS; порядок полей определяет расположение данных. */
struct DXR2_BITS { // bit description
/* Битовое поле HWLB, ширина 8 бит; данные HWLB. */
Uint16 HWLB:8; // 16:23 High word low byte
/* Битовое поле HWHB, ширина 8 бит; данные HWHB. */
Uint16 HWHB:8; // 24:31 High word high byte
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений DXR2_REG в одной области памяти. */
union DXR2_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру DXR2_BITS bit;; порядок полей определяет расположение данных. */
struct DXR2_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// McBSP DXR1 register bit definitions:
/* Описывает структуру DXR1_BITS; порядок полей определяет расположение данных. */
struct DXR1_BITS { // bit description
/* Битовое поле LWLB, ширина 8 бит; данные LWLB. */
Uint16 LWLB:8; // 16:23 Low word low byte
/* Битовое поле LWHB, ширина 8 бит; данные LWHB. */
Uint16 LWHB:8; // 24:31 low word high byte
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений DXR1_REG в одной области памяти. */
union DXR1_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру DXR1_BITS bit;; порядок полей определяет расположение данных. */
struct DXR1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// SPCR2 control register bit definitions:
/* Описывает структуру SPCR2_BITS; порядок полей определяет расположение данных. */
struct SPCR2_BITS { // bit description
/* Битовое поле XRST, ширина 1 бит; данные XRST. */
Uint16 XRST:1; // 0 transmit reset
/* Битовое поле XRDY, ширина 1 бит; данные XRDY. */
Uint16 XRDY:1; // 1 transmit ready
/* Битовое поле XEMPTY, ширина 1 бит; данные XEMPTY. */
Uint16 XEMPTY:1; // 2 Transmit empty
/* Битовое поле XSYNCERR, ширина 1 бит; данные XSYNCERR. */
Uint16 XSYNCERR:1; // 3 Transmit syn errorINT flag
/* Битовое поле XINTM, ширина 2 бит; данные XINTM. */
Uint16 XINTM:2; // 5:4 Transmit interrupt types
/* Битовое поле GRST, ширина 1 бит; данные GRST. */
Uint16 GRST:1; // 6 CLKG reset
/* Битовое поле FRST, ширина 1 бит; данные FRST. */
Uint16 FRST:1; // 7 Frame sync reset
/* Битовое поле SOFT, ширина 1 бит; данные SOFT. */
Uint16 SOFT:1; // 8 SOFT bit
/* Битовое поле FREE, ширина 1 бит; данные FREE. */
Uint16 FREE:1; // 9 FREE bit
/* Битовое поле rsvd, ширина 6 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:6; // 15:10 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SPCR2_REG в одной области памяти. */
union SPCR2_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SPCR2_BITS bit;; порядок полей определяет расположение данных. */
struct SPCR2_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// SPCR1 control register bit definitions:
/* Описывает структуру SPCR1_BITS; порядок полей определяет расположение данных. */
struct SPCR1_BITS { // bit description
/* Битовое поле RRST, ширина 1 бит; данные RRST. */
Uint16 RRST:1; // 0 Receive reset
/* Битовое поле RRDY, ширина 1 бит; данные RRDY. */
Uint16 RRDY:1; // 1 Receive ready
/* Битовое поле RFULL, ширина 1 бит; данные RFULL. */
Uint16 RFULL:1; // 2 Receive full
/* Битовое поле RSYNCERR, ширина 1 бит; данные RSYNCERR. */
Uint16 RSYNCERR:1; // 7 Receive syn error
/* Битовое поле RINTM, ширина 2 бит; данные RINTM. */
Uint16 RINTM:2; // 5:4 Receive interrupt types
/* Битовое поле ABIS, ширина 1 бит; данные ABIS. */
Uint16 ABIS:1; // 6 ABIS mode select
/* Битовое поле DXENA, ширина 1 бит; данные DXENA. */
Uint16 DXENA:1; // 7 DX hi-z enable
/* Битовое поле rsvd, ширина 3 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:3; // 10:8 reserved
/* Битовое поле CLKSTP, ширина 2 бит; данные CLKSTP. */
Uint16 CLKSTP:2; // 12:11 CLKSTOP mode bit
/* Битовое поле RJUST, ширина 2 бит; данные RJUST. */
Uint16 RJUST:2; // 13:14 Right justified
/* Битовое поле DLB, ширина 1 бит; данные DLB. */
Uint16 DLB:1; // 15 Digital loop back
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SPCR1_REG в одной области памяти. */
union SPCR1_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SPCR1_BITS bit;; порядок полей определяет расположение данных. */
struct SPCR1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// RCR2 control register bit definitions:
/* Описывает структуру RCR2_BITS; порядок полей определяет расположение данных. */
struct RCR2_BITS { // bit description
/* Битовое поле RDATDLY, ширина 2 бит; данные RDATDLY. */
Uint16 RDATDLY:2; // 1:0 Receive data delay
/* Битовое поле RFIG, ширина 1 бит; данные RFIG. */
Uint16 RFIG:1; // 2 Receive frame sync ignore
/* Битовое поле RCOMPAND, ширина 2 бит; данные RCOMPAND. */
Uint16 RCOMPAND:2; // 4:3 Receive Companding Mode selects
/* Битовое поле RWDLEN2, ширина 3 бит; данные RWDLEN2. */
Uint16 RWDLEN2:3; // 7:5 Receive word length
/* Битовое поле RFRLEN2, ширина 7 бит; данные RFRLEN2. */
Uint16 RFRLEN2:7; // 14:8 Receive Frame sync
/* Битовое поле RPHASE, ширина 1 бит; данные RPHASE. */
Uint16 RPHASE:1; // 15 Receive Phase
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений RCR2_REG в одной области памяти. */
union RCR2_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру RCR2_BITS bit;; порядок полей определяет расположение данных. */
struct RCR2_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// RCR1 control register bit definitions:
/* Описывает структуру RCR1_BITS; порядок полей определяет расположение данных. */
struct RCR1_BITS { // bit description
/* Битовое поле rsvd1, ширина 5 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:5; // 4:0 reserved
/* Битовое поле RWDLEN1, ширина 3 бит; данные RWDLEN1. */
Uint16 RWDLEN1:3; // 7:5 Receive word length
/* Битовое поле RFRLEN1, ширина 7 бит; данные RFRLEN1. */
Uint16 RFRLEN1:7; // 14:8 Receive frame length
/* Битовое поле rsvd2, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:1; // 15 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений RCR1_REG в одной области памяти. */
union RCR1_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру RCR1_BITS bit;; порядок полей определяет расположение данных. */
struct RCR1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// XCR2 control register bit definitions:
/* Описывает структуру XCR2_BITS; порядок полей определяет расположение данных. */
struct XCR2_BITS { // bit description
/* Битовое поле XDATDLY, ширина 2 бит; данные XDATDLY. */
Uint16 XDATDLY:2; // 1:0 Transmit data delay
/* Битовое поле XFIG, ширина 1 бит; данные XFIG. */
Uint16 XFIG:1; // 2 Transmit frame sync ignore
/* Битовое поле XCOMPAND, ширина 2 бит; данные XCOMPAND. */
Uint16 XCOMPAND:2; // 4:3 Transmit Companding Mode selects
/* Битовое поле XWDLEN2, ширина 3 бит; данные XWDLEN2. */
Uint16 XWDLEN2:3; // 7:5 Transmit word length
/* Битовое поле XFRLEN2, ширина 7 бит; данные XFRLEN2. */
Uint16 XFRLEN2:7; // 14:8 Transmit Frame sync
/* Битовое поле XPHASE, ширина 1 бит; данные XPHASE. */
Uint16 XPHASE:1; // 15 Transmit Phase
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений XCR2_REG в одной области памяти. */
union XCR2_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру XCR2_BITS bit;; порядок полей определяет расположение данных. */
struct XCR2_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// XCR1 control register bit definitions:
/* Описывает структуру XCR1_BITS; порядок полей определяет расположение данных. */
struct XCR1_BITS { // bit description
/* Битовое поле rsvd1, ширина 5 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:5; // 4:0 reserved
/* Битовое поле XWDLEN1, ширина 3 бит; данные XWDLEN1. */
Uint16 XWDLEN1:3; // 7:5 Transmit word length
/* Битовое поле XFRLEN1, ширина 7 бит; данные XFRLEN1. */
Uint16 XFRLEN1:7; // 14:8 Transmit frame length
/* Битовое поле rsvd2, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:1; // 15 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений XCR1_REG в одной области памяти. */
union XCR1_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру XCR1_BITS bit;; порядок полей определяет расположение данных. */
struct XCR1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// SRGR2 Sample rate generator control register bit definitions:
/* Описывает структуру SRGR2_BITS; порядок полей определяет расположение данных. */
struct SRGR2_BITS { // bit description
/* Битовое поле FPER, ширина 12 бит; данные FPER. */
Uint16 FPER:12; // 11:0 Frame period
/* Битовое поле FSGM, ширина 1 бит; данные FSGM. */
Uint16 FSGM:1; // 12 Frame sync generator mode
/* Битовое поле CLKSM, ширина 1 бит; данные CLKSM. */
Uint16 CLKSM:1; // 13 Sample rate generator mode
/* Битовое поле rsvd, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:1; // 14 reserved
/* Битовое поле GSYNC, ширина 1 бит; данные GSYNC. */
Uint16 GSYNC:1; // 15 CLKG sync
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SRGR2_REG в одной области памяти. */
union SRGR2_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SRGR2_BITS bit;; порядок полей определяет расположение данных. */
struct SRGR2_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// SRGR1 control register bit definitions:
/* Описывает структуру SRGR1_BITS; порядок полей определяет расположение данных. */
struct SRGR1_BITS { // bit description
/* Битовое поле CLKGDV, ширина 8 бит; данные CLKGDV. */
Uint16 CLKGDV:8; // 7:0 CLKG divider
/* Битовое поле FWID, ширина 8 бит; данные FWID. */
Uint16 FWID:8; // 15:8 Frame width
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SRGR1_REG в одной области памяти. */
union SRGR1_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SRGR1_BITS bit;; порядок полей определяет расположение данных. */
struct SRGR1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// MCR2 Multichannel control register bit definitions:
/* Описывает структуру MCR2_BITS; порядок полей определяет расположение данных. */
struct MCR2_BITS { // bit description
/* Битовое поле XMCM, ширина 2 бит; данные XMCM. */
Uint16 XMCM:2; // 1:0 Transmit multichannel mode
/* Битовое поле XCBLK, ширина 3 бит; данные XCBLK. */
Uint16 XCBLK:3; // 2:4 Transmit current block
/* Битовое поле XPABLK, ширина 2 бит; данные XPABLK. */
Uint16 XPABLK:2; // 5:6 Transmit partition A Block
/* Битовое поле XPBBLK, ширина 2 бит; данные XPBBLK. */
Uint16 XPBBLK:2; // 7:8 Transmit partition B Block
/* Битовое поле XMCME, ширина 1 бит; данные XMCME. */
Uint16 XMCME:1; // 9 Transmit multi-channel enhance mode
/* Битовое поле rsvd, ширина 6 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:6; // 15:10 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений MCR2_REG в одной области памяти. */
union MCR2_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру MCR2_BITS bit;; порядок полей определяет расположение данных. */
struct MCR2_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// MCR1 Multichannel control register bit definitions:
/* Описывает структуру MCR1_BITS; порядок полей определяет расположение данных. */
struct MCR1_BITS { // bit description
/* Битовое поле RMCM, ширина 1 бит; данные RMCM. */
Uint16 RMCM:1; // 0 Receive multichannel mode
/* Битовое поле rsvd, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:1; // 1 reserved
/* Битовое поле RCBLK, ширина 3 бит; данные RCBLK. */
Uint16 RCBLK:3; // 4:2 Receive current block
/* Битовое поле RPABLK, ширина 2 бит; данные RPABLK. */
Uint16 RPABLK:2; // 6:5 Receive partition A Block
/* Битовое поле RPBBLK, ширина 2 бит; данные RPBBLK. */
Uint16 RPBBLK:2; // 7:8 Receive partition B Block
/* Битовое поле RMCME, ширина 1 бит; данные RMCME. */
Uint16 RMCME:1; // 9 Receive multi-channel enhance mode
/* Битовое поле rsvd1, ширина 6 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:6; // 15:10 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений MCR1_REG в одной области памяти. */
union MCR1_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру MCR1_BITS bit;; порядок полей определяет расположение данных. */
struct MCR1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// RCERA control register bit definitions:
/* Описывает структуру RCERA_BITS; порядок полей определяет расположение данных. */
struct RCERA_BITS { // bit description
/* Битовое поле RCEA0, ширина 1 бит; данные RCEA0. */
Uint16 RCEA0:1; // 0 Receive Channel enable bit
/* Битовое поле RCEA1, ширина 1 бит; данные RCEA1. */
Uint16 RCEA1:1; // 1 Receive Channel enable bit
/* Битовое поле RCEA2, ширина 1 бит; данные RCEA2. */
Uint16 RCEA2:1; // 2 Receive Channel enable bit
/* Битовое поле RCEA3, ширина 1 бит; данные RCEA3. */
Uint16 RCEA3:1; // 3 Receive Channel enable bit
/* Битовое поле RCEA4, ширина 1 бит; данные RCEA4. */
Uint16 RCEA4:1; // 4 Receive Channel enable bit
/* Битовое поле RCEA5, ширина 1 бит; данные RCEA5. */
Uint16 RCEA5:1; // 5 Receive Channel enable bit
/* Битовое поле RCEA6, ширина 1 бит; данные RCEA6. */
Uint16 RCEA6:1; // 6 Receive Channel enable bit
/* Битовое поле RCEA7, ширина 1 бит; данные RCEA7. */
Uint16 RCEA7:1; // 7 Receive Channel enable bit
/* Битовое поле RCEA8, ширина 1 бит; данные RCEA8. */
Uint16 RCEA8:1; // 8 Receive Channel enable bit
/* Битовое поле RCEA9, ширина 1 бит; данные RCEA9. */
Uint16 RCEA9:1; // 9 Receive Channel enable bit
/* Битовое поле RCEA10, ширина 1 бит; данные RCEA10. */
Uint16 RCEA10:1; // 10 Receive Channel enable bit
/* Битовое поле RCEA11, ширина 1 бит; данные RCEA11. */
Uint16 RCEA11:1; // 11 Receive Channel enable bit
/* Битовое поле RCEA12, ширина 1 бит; данные RCEA12. */
Uint16 RCEA12:1; // 12 Receive Channel enable bit
/* Битовое поле RCEA13, ширина 1 бит; данные RCEA13. */
Uint16 RCEA13:1; // 13 Receive Channel enable bit
/* Битовое поле RCEA14, ширина 1 бит; данные RCEA14. */
Uint16 RCEA14:1; // 14 Receive Channel enable bit
/* Битовое поле RCEA15, ширина 1 бит; данные RCEA15. */
Uint16 RCEA15:1; // 15 Receive Channel enable bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений RCERA_REG в одной области памяти. */
union RCERA_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру RCERA_BITS bit;; порядок полей определяет расположение данных. */
struct RCERA_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// RCERB control register bit definitions:
/* Описывает структуру RCERB_BITS; порядок полей определяет расположение данных. */
struct RCERB_BITS { // bit description
/* Битовое поле RCEB0, ширина 1 бит; данные RCEB0. */
Uint16 RCEB0:1; // 0 Receive Channel enable bit
/* Битовое поле RCEB1, ширина 1 бит; данные RCEB1. */
Uint16 RCEB1:1; // 1 Receive Channel enable bit
/* Битовое поле RCEB2, ширина 1 бит; данные RCEB2. */
Uint16 RCEB2:1; // 2 Receive Channel enable bit
/* Битовое поле RCEB3, ширина 1 бит; данные RCEB3. */
Uint16 RCEB3:1; // 3 Receive Channel enable bit
/* Битовое поле RCEB4, ширина 1 бит; данные RCEB4. */
Uint16 RCEB4:1; // 4 Receive Channel enable bit
/* Битовое поле RCEB5, ширина 1 бит; данные RCEB5. */
Uint16 RCEB5:1; // 5 Receive Channel enable bit
/* Битовое поле RCEB6, ширина 1 бит; данные RCEB6. */
Uint16 RCEB6:1; // 6 Receive Channel enable bit
/* Битовое поле RCEB7, ширина 1 бит; данные RCEB7. */
Uint16 RCEB7:1; // 7 Receive Channel enable bit
/* Битовое поле RCEB8, ширина 1 бит; данные RCEB8. */
Uint16 RCEB8:1; // 8 Receive Channel enable bit
/* Битовое поле RCEB9, ширина 1 бит; данные RCEB9. */
Uint16 RCEB9:1; // 9 Receive Channel enable bit
/* Битовое поле RCEB10, ширина 1 бит; данные RCEB10. */
Uint16 RCEB10:1; // 10 Receive Channel enable bit
/* Битовое поле RCEB11, ширина 1 бит; данные RCEB11. */
Uint16 RCEB11:1; // 11 Receive Channel enable bit
/* Битовое поле RCEB12, ширина 1 бит; данные RCEB12. */
Uint16 RCEB12:1; // 12 Receive Channel enable bit
/* Битовое поле RCEB13, ширина 1 бит; данные RCEB13. */
Uint16 RCEB13:1; // 13 Receive Channel enable bit
/* Битовое поле RCEB14, ширина 1 бит; данные RCEB14. */
Uint16 RCEB14:1; // 14 Receive Channel enable bit
/* Битовое поле RCEB15, ширина 1 бит; данные RCEB15. */
Uint16 RCEB15:1; // 15 Receive Channel enable bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений RCERB_REG в одной области памяти. */
union RCERB_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру RCERB_BITS bit;; порядок полей определяет расположение данных. */
struct RCERB_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// XCERA control register bit definitions:
/* Описывает структуру XCERA_BITS; порядок полей определяет расположение данных. */
struct XCERA_BITS { // bit description
/* Битовое поле XCERA0, ширина 1 бит; данные XCERA0. */
Uint16 XCERA0:1; // 0 Receive Channel enable bit
/* Битовое поле XCERA1, ширина 1 бит; данные XCERA1. */
Uint16 XCERA1:1; // 1 Receive Channel enable bit
/* Битовое поле XCERA2, ширина 1 бит; данные XCERA2. */
Uint16 XCERA2:1; // 2 Receive Channel enable bit
/* Битовое поле XCERA3, ширина 1 бит; данные XCERA3. */
Uint16 XCERA3:1; // 3 Receive Channel enable bit
/* Битовое поле XCERA4, ширина 1 бит; данные XCERA4. */
Uint16 XCERA4:1; // 4 Receive Channel enable bit
/* Битовое поле XCERA5, ширина 1 бит; данные XCERA5. */
Uint16 XCERA5:1; // 5 Receive Channel enable bit
/* Битовое поле XCERA6, ширина 1 бит; данные XCERA6. */
Uint16 XCERA6:1; // 6 Receive Channel enable bit
/* Битовое поле XCERA7, ширина 1 бит; данные XCERA7. */
Uint16 XCERA7:1; // 7 Receive Channel enable bit
/* Битовое поле XCERA8, ширина 1 бит; данные XCERA8. */
Uint16 XCERA8:1; // 8 Receive Channel enable bit
/* Битовое поле XCERA9, ширина 1 бит; данные XCERA9. */
Uint16 XCERA9:1; // 9 Receive Channel enable bit
/* Битовое поле XCERA10, ширина 1 бит; данные XCERA10. */
Uint16 XCERA10:1; // 10 Receive Channel enable bit
/* Битовое поле XCERA11, ширина 1 бит; данные XCERA11. */
Uint16 XCERA11:1; // 11 Receive Channel enable bit
/* Битовое поле XCERA12, ширина 1 бит; данные XCERA12. */
Uint16 XCERA12:1; // 12 Receive Channel enable bit
/* Битовое поле XCERA13, ширина 1 бит; данные XCERA13. */
Uint16 XCERA13:1; // 13 Receive Channel enable bit
/* Битовое поле XCERA14, ширина 1 бит; данные XCERA14. */
Uint16 XCERA14:1; // 14 Receive Channel enable bit
/* Битовое поле XCERA15, ширина 1 бит; данные XCERA15. */
Uint16 XCERA15:1; // 15 Receive Channel enable bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений XCERA_REG в одной области памяти. */
union XCERA_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру XCERA_BITS bit;; порядок полей определяет расположение данных. */
struct XCERA_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// XCERB control register bit definitions:
/* Описывает структуру XCERB_BITS; порядок полей определяет расположение данных. */
struct XCERB_BITS { // bit description
/* Битовое поле XCERB0, ширина 1 бит; данные XCERB0. */
Uint16 XCERB0:1; // 0 Receive Channel enable bit
/* Битовое поле XCERB1, ширина 1 бит; данные XCERB1. */
Uint16 XCERB1:1; // 1 Receive Channel enable bit
/* Битовое поле XCERB2, ширина 1 бит; данные XCERB2. */
Uint16 XCERB2:1; // 2 Receive Channel enable bit
/* Битовое поле XCERB3, ширина 1 бит; данные XCERB3. */
Uint16 XCERB3:1; // 3 Receive Channel enable bit
/* Битовое поле XCERB4, ширина 1 бит; данные XCERB4. */
Uint16 XCERB4:1; // 4 Receive Channel enable bit
/* Битовое поле XCERB5, ширина 1 бит; данные XCERB5. */
Uint16 XCERB5:1; // 5 Receive Channel enable bit
/* Битовое поле XCERB6, ширина 1 бит; данные XCERB6. */
Uint16 XCERB6:1; // 6 Receive Channel enable bit
/* Битовое поле XCERB7, ширина 1 бит; данные XCERB7. */
Uint16 XCERB7:1; // 7 Receive Channel enable bit
/* Битовое поле XCERB8, ширина 1 бит; данные XCERB8. */
Uint16 XCERB8:1; // 8 Receive Channel enable bit
/* Битовое поле XCERB9, ширина 1 бит; данные XCERB9. */
Uint16 XCERB9:1; // 9 Receive Channel enable bit
/* Битовое поле XCERB10, ширина 1 бит; данные XCERB10. */
Uint16 XCERB10:1; // 10 Receive Channel enable bit
/* Битовое поле XCERB11, ширина 1 бит; данные XCERB11. */
Uint16 XCERB11:1; // 11 Receive Channel enable bit
/* Битовое поле XCERB12, ширина 1 бит; данные XCERB12. */
Uint16 XCERB12:1; // 12 Receive Channel enable bit
/* Битовое поле XCERB13, ширина 1 бит; данные XCERB13. */
Uint16 XCERB13:1; // 13 Receive Channel enable bit
/* Битовое поле XCERB14, ширина 1 бит; данные XCERB14. */
Uint16 XCERB14:1; // 14 Receive Channel enable bit
/* Битовое поле XCERB15, ширина 1 бит; данные XCERB15. */
Uint16 XCERB15:1; // 15 Receive Channel enable bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений XCERB_REG в одной области памяти. */
union XCERB_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру XCERB_BITS bit;; порядок полей определяет расположение данных. */
struct XCERB_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// PCR control register bit definitions:
/* Описывает структуру PCR_BITS; порядок полей определяет расположение данных. */
struct PCR_BITS { // bit description
/* Битовое поле CLKRP, ширина 1 бит; данные CLKRP. */
Uint16 CLKRP:1; // 0 Receive Clock polarity
/* Битовое поле CLKXP, ширина 1 бит; данные CLKXP. */
Uint16 CLKXP:1; // 1 Transmit clock polarity
/* Битовое поле FSRP, ширина 1 бит; данные FSRP. */
Uint16 FSRP:1; // 2 Receive Frame synchronization polarity
/* Битовое поле FSXP, ширина 1 бит; данные FSXP. */
Uint16 FSXP:1; // 3 Transmit Frame synchronization polarity
/* Битовое поле DR_STAT, ширина 1 бит; данные DR_STAT. */
Uint16 DR_STAT:1; // 4 DR pin status - reserved for this McBSP
/* Битовое поле DX_STAT, ширина 1 бит; данные DX_STAT. */
Uint16 DX_STAT:1; // 5 DX pin status - reserved for this McBSP
/* Битовое поле CLKS_STAT, ширина 1 бит; данные CLKS_STAT. */
Uint16 CLKS_STAT:1; // 6 CLKS pin status - reserved for 28x -McBSP
/* Битовое поле SCLKME, ширина 1 бит; данные SCLKME. */
Uint16 SCLKME:1; // 7 Enhanced sample clock mode selection bit.
/* Битовое поле CLKRM, ширина 1 бит; данные CLKRM. */
Uint16 CLKRM:1; // 8 Receiver Clock Mode
/* Битовое поле CLKXM, ширина 1 бит; данные CLKXM. */
Uint16 CLKXM:1; // 9 Transmitter Clock Mode.
/* Битовое поле FSRM, ширина 1 бит; данные FSRM. */
Uint16 FSRM:1; // 10 Receive Frame Synchronization Mode
/* Битовое поле FSXM, ширина 1 бит; данные FSXM. */
Uint16 FSXM:1; // 11 Transmit Frame Synchronization Mode
/* Битовое поле RIOEN, ширина 1 бит; данные RIOEN. */
Uint16 RIOEN:1; // 12 General Purpose I/O Mode - reserved in this 28x-McBSP
/* Битовое поле XIOEN, ширина 1 бит; данные XIOEN. */
Uint16 XIOEN:1; // 13 General Purpose I/O Mode - reserved in this 28x-McBSP
/* Битовое поле IDEL_EN, ширина 1 бит; данные IDEL_EN. */
Uint16 IDEL_EN:1; // 14 reserved in this 28x-McBSP
/* Битовое поле rsvd, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:1 ; // 15 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений PCR_REG в одной области памяти. */
union PCR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру PCR_BITS bit;; порядок полей определяет расположение данных. */
struct PCR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// RCERC control register bit definitions:
/* Описывает структуру RCERC_BITS; порядок полей определяет расположение данных. */
struct RCERC_BITS { // bit description
/* Битовое поле RCEC0, ширина 1 бит; данные RCEC0. */
Uint16 RCEC0:1; // 0 Receive Channel enable bit
/* Битовое поле RCEC1, ширина 1 бит; данные RCEC1. */
Uint16 RCEC1:1; // 1 Receive Channel enable bit
/* Битовое поле RCEC2, ширина 1 бит; данные RCEC2. */
Uint16 RCEC2:1; // 2 Receive Channel enable bit
/* Битовое поле RCEC3, ширина 1 бит; данные RCEC3. */
Uint16 RCEC3:1; // 3 Receive Channel enable bit
/* Битовое поле RCEC4, ширина 1 бит; данные RCEC4. */
Uint16 RCEC4:1; // 4 Receive Channel enable bit
/* Битовое поле RCEC5, ширина 1 бит; данные RCEC5. */
Uint16 RCEC5:1; // 5 Receive Channel enable bit
/* Битовое поле RCEC6, ширина 1 бит; данные RCEC6. */
Uint16 RCEC6:1; // 6 Receive Channel enable bit
/* Битовое поле RCEC7, ширина 1 бит; данные RCEC7. */
Uint16 RCEC7:1; // 7 Receive Channel enable bit
/* Битовое поле RCEC8, ширина 1 бит; данные RCEC8. */
Uint16 RCEC8:1; // 8 Receive Channel enable bit
/* Битовое поле RCEC9, ширина 1 бит; данные RCEC9. */
Uint16 RCEC9:1; // 9 Receive Channel enable bit
/* Битовое поле RCEC10, ширина 1 бит; данные RCEC10. */
Uint16 RCEC10:1; // 10 Receive Channel enable bit
/* Битовое поле RCEC11, ширина 1 бит; данные RCEC11. */
Uint16 RCEC11:1; // 11 Receive Channel enable bit
/* Битовое поле RCEC12, ширина 1 бит; данные RCEC12. */
Uint16 RCEC12:1; // 12 Receive Channel enable bit
/* Битовое поле RCEC13, ширина 1 бит; данные RCEC13. */
Uint16 RCEC13:1; // 13 Receive Channel enable bit
/* Битовое поле RCEC14, ширина 1 бит; данные RCEC14. */
Uint16 RCEC14:1; // 14 Receive Channel enable bit
/* Битовое поле RCEC15, ширина 1 бит; данные RCEC15. */
Uint16 RCEC15:1; // 15 Receive Channel enable bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений RCERC_REG в одной области памяти. */
union RCERC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру RCERC_BITS bit;; порядок полей определяет расположение данных. */
struct RCERC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// RCERD control register bit definitions:
/* Описывает структуру RCERD_BITS; порядок полей определяет расположение данных. */
struct RCERD_BITS { // bit description
/* Битовое поле RCED0, ширина 1 бит; данные RCED0. */
Uint16 RCED0:1; // 0 Receive Channel enable bit
/* Битовое поле RCED1, ширина 1 бит; данные RCED1. */
Uint16 RCED1:1; // 1 Receive Channel enable bit
/* Битовое поле RCED2, ширина 1 бит; данные RCED2. */
Uint16 RCED2:1; // 2 Receive Channel enable bit
/* Битовое поле RCED3, ширина 1 бит; данные RCED3. */
Uint16 RCED3:1; // 3 Receive Channel enable bit
/* Битовое поле RCED4, ширина 1 бит; данные RCED4. */
Uint16 RCED4:1; // 4 Receive Channel enable bit
/* Битовое поле RCED5, ширина 1 бит; данные RCED5. */
Uint16 RCED5:1; // 5 Receive Channel enable bit
/* Битовое поле RCED6, ширина 1 бит; данные RCED6. */
Uint16 RCED6:1; // 6 Receive Channel enable bit
/* Битовое поле RCED7, ширина 1 бит; данные RCED7. */
Uint16 RCED7:1; // 7 Receive Channel enable bit
/* Битовое поле RCED8, ширина 1 бит; данные RCED8. */
Uint16 RCED8:1; // 8 Receive Channel enable bit
/* Битовое поле RCED9, ширина 1 бит; данные RCED9. */
Uint16 RCED9:1; // 9 Receive Channel enable bit
/* Битовое поле RCED10, ширина 1 бит; данные RCED10. */
Uint16 RCED10:1; // 10 Receive Channel enable bit
/* Битовое поле RCED11, ширина 1 бит; данные RCED11. */
Uint16 RCED11:1; // 11 Receive Channel enable bit
/* Битовое поле RCED12, ширина 1 бит; данные RCED12. */
Uint16 RCED12:1; // 12 Receive Channel enable bit
/* Битовое поле RCED13, ширина 1 бит; данные RCED13. */
Uint16 RCED13:1; // 13 Receive Channel enable bit
/* Битовое поле RCED14, ширина 1 бит; данные RCED14. */
Uint16 RCED14:1; // 14 Receive Channel enable bit
/* Битовое поле RCED15, ширина 1 бит; данные RCED15. */
Uint16 RCED15:1; // 15 Receive Channel enable bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений RCERD_REG в одной области памяти. */
union RCERD_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру RCERD_BITS bit;; порядок полей определяет расположение данных. */
struct RCERD_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// XCERC control register bit definitions:
/* Описывает структуру XCERC_BITS; порядок полей определяет расположение данных. */
struct XCERC_BITS { // bit description
/* Битовое поле XCERC0, ширина 1 бит; данные XCERC0. */
Uint16 XCERC0:1; // 0 Receive Channel enable bit
/* Битовое поле XCERC1, ширина 1 бит; данные XCERC1. */
Uint16 XCERC1:1; // 1 Receive Channel enable bit
/* Битовое поле XCERC2, ширина 1 бит; данные XCERC2. */
Uint16 XCERC2:1; // 2 Receive Channel enable bit
/* Битовое поле XCERC3, ширина 1 бит; данные XCERC3. */
Uint16 XCERC3:1; // 3 Receive Channel enable bit
/* Битовое поле XCERC4, ширина 1 бит; данные XCERC4. */
Uint16 XCERC4:1; // 4 Receive Channel enable bit
/* Битовое поле XCERC5, ширина 1 бит; данные XCERC5. */
Uint16 XCERC5:1; // 5 Receive Channel enable bit
/* Битовое поле XCERC6, ширина 1 бит; данные XCERC6. */
Uint16 XCERC6:1; // 6 Receive Channel enable bit
/* Битовое поле XCERC7, ширина 1 бит; данные XCERC7. */
Uint16 XCERC7:1; // 7 Receive Channel enable bit
/* Битовое поле XCERC8, ширина 1 бит; данные XCERC8. */
Uint16 XCERC8:1; // 8 Receive Channel enable bit
/* Битовое поле XCERC9, ширина 1 бит; данные XCERC9. */
Uint16 XCERC9:1; // 9 Receive Channel enable bit
/* Битовое поле XCERC10, ширина 1 бит; данные XCERC10. */
Uint16 XCERC10:1; // 10 Receive Channel enable bit
/* Битовое поле XCERC11, ширина 1 бит; данные XCERC11. */
Uint16 XCERC11:1; // 11 Receive Channel enable bit
/* Битовое поле XCERC12, ширина 1 бит; данные XCERC12. */
Uint16 XCERC12:1; // 12 Receive Channel enable bit
/* Битовое поле XCERC13, ширина 1 бит; данные XCERC13. */
Uint16 XCERC13:1; // 13 Receive Channel enable bit
/* Битовое поле XCERC14, ширина 1 бит; данные XCERC14. */
Uint16 XCERC14:1; // 14 Receive Channel enable bit
/* Битовое поле XCERC15, ширина 1 бит; данные XCERC15. */
Uint16 XCERC15:1; // 15 Receive Channel enable bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений XCERC_REG в одной области памяти. */
union XCERC_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру XCERC_BITS bit;; порядок полей определяет расположение данных. */
struct XCERC_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// XCERD control register bit definitions:
/* Описывает структуру XCERD_BITS; порядок полей определяет расположение данных. */
struct XCERD_BITS { // bit description
/* Битовое поле XCERD0, ширина 1 бит; данные XCERD0. */
Uint16 XCERD0:1; // 0 Receive Channel enable bit
/* Битовое поле XCERD1, ширина 1 бит; данные XCERD1. */
Uint16 XCERD1:1; // 1 Receive Channel enable bit
/* Битовое поле XCERD2, ширина 1 бит; данные XCERD2. */
Uint16 XCERD2:1; // 2 Receive Channel enable bit
/* Битовое поле XCERD3, ширина 1 бит; данные XCERD3. */
Uint16 XCERD3:1; // 3 Receive Channel enable bit
/* Битовое поле XCERD4, ширина 1 бит; данные XCERD4. */
Uint16 XCERD4:1; // 4 Receive Channel enable bit
/* Битовое поле XCERD5, ширина 1 бит; данные XCERD5. */
Uint16 XCERD5:1; // 5 Receive Channel enable bit
/* Битовое поле XCERD6, ширина 1 бит; данные XCERD6. */
Uint16 XCERD6:1; // 6 Receive Channel enable bit
/* Битовое поле XCERD7, ширина 1 бит; данные XCERD7. */
Uint16 XCERD7:1; // 7 Receive Channel enable bit
/* Битовое поле XCERD8, ширина 1 бит; данные XCERD8. */
Uint16 XCERD8:1; // 8 Receive Channel enable bit
/* Битовое поле XCERD9, ширина 1 бит; данные XCERD9. */
Uint16 XCERD9:1; // 9 Receive Channel enable bit
/* Битовое поле XCERD10, ширина 1 бит; данные XCERD10. */
Uint16 XCERD10:1; // 10 Receive Channel enable bit
/* Битовое поле XCERD11, ширина 1 бит; данные XCERD11. */
Uint16 XCERD11:1; // 11 Receive Channel enable bit
/* Битовое поле XCERD12, ширина 1 бит; данные XCERD12. */
Uint16 XCERD12:1; // 12 Receive Channel enable bit
/* Битовое поле XCERD13, ширина 1 бит; данные XCERD13. */
Uint16 XCERD13:1; // 13 Receive Channel enable bit
/* Битовое поле XCERD14, ширина 1 бит; данные XCERD14. */
Uint16 XCERD14:1; // 14 Receive Channel enable bit
/* Битовое поле XCERD15, ширина 1 бит; данные XCERD15. */
Uint16 XCERD15:1; // 15 Receive Channel enable bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений XCERD_REG в одной области памяти. */
union XCERD_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру XCERD_BITS bit;; порядок полей определяет расположение данных. */
struct XCERD_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// RCERE control register bit definitions:
/* Описывает структуру RCERE_BITS; порядок полей определяет расположение данных. */
struct RCERE_BITS { // bit description
/* Битовое поле RCEE0, ширина 1 бит; данные RCEE0. */
Uint16 RCEE0:1; // 0 Receive Channel enable bit
/* Битовое поле RCEE1, ширина 1 бит; данные RCEE1. */
Uint16 RCEE1:1; // 1 Receive Channel enable bit
/* Битовое поле RCEE2, ширина 1 бит; данные RCEE2. */
Uint16 RCEE2:1; // 2 Receive Channel enable bit
/* Битовое поле RCEE3, ширина 1 бит; данные RCEE3. */
Uint16 RCEE3:1; // 3 Receive Channel enable bit
/* Битовое поле RCEE4, ширина 1 бит; данные RCEE4. */
Uint16 RCEE4:1; // 4 Receive Channel enable bit
/* Битовое поле RCEE5, ширина 1 бит; данные RCEE5. */
Uint16 RCEE5:1; // 5 Receive Channel enable bit
/* Битовое поле RCEE6, ширина 1 бит; данные RCEE6. */
Uint16 RCEE6:1; // 6 Receive Channel enable bit
/* Битовое поле RCEE7, ширина 1 бит; данные RCEE7. */
Uint16 RCEE7:1; // 7 Receive Channel enable bit
/* Битовое поле RCEE8, ширина 1 бит; данные RCEE8. */
Uint16 RCEE8:1; // 8 Receive Channel enable bit
/* Битовое поле RCEE9, ширина 1 бит; данные RCEE9. */
Uint16 RCEE9:1; // 9 Receive Channel enable bit
/* Битовое поле RCEE10, ширина 1 бит; данные RCEE10. */
Uint16 RCEE10:1; // 10 Receive Channel enable bit
/* Битовое поле RCEE11, ширина 1 бит; данные RCEE11. */
Uint16 RCEE11:1; // 11 Receive Channel enable bit
/* Битовое поле RCEE12, ширина 1 бит; данные RCEE12. */
Uint16 RCEE12:1; // 12 Receive Channel enable bit
/* Битовое поле RCEE13, ширина 1 бит; данные RCEE13. */
Uint16 RCEE13:1; // 13 Receive Channel enable bit
/* Битовое поле RCEE14, ширина 1 бит; данные RCEE14. */
Uint16 RCEE14:1; // 14 Receive Channel enable bit
/* Битовое поле RCEE15, ширина 1 бит; данные RCEE15. */
Uint16 RCEE15:1; // 15 Receive Channel enable bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений RCERE_REG в одной области памяти. */
union RCERE_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру RCERE_BITS bit;; порядок полей определяет расположение данных. */
struct RCERE_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// RCERF control register bit definitions:
/* Описывает структуру RCERF_BITS; порядок полей определяет расположение данных. */
struct RCERF_BITS { // bit description
/* Битовое поле RCEF0, ширина 1 бит; данные RCEF0. */
Uint16 RCEF0:1; // 0 Receive Channel enable bit
/* Битовое поле RCEF1, ширина 1 бит; данные RCEF1. */
Uint16 RCEF1:1; // 1 Receive Channel enable bit
/* Битовое поле RCEF2, ширина 1 бит; данные RCEF2. */
Uint16 RCEF2:1; // 2 Receive Channel enable bit
/* Битовое поле RCEF3, ширина 1 бит; данные RCEF3. */
Uint16 RCEF3:1; // 3 Receive Channel enable bit
/* Битовое поле RCEF4, ширина 1 бит; данные RCEF4. */
Uint16 RCEF4:1; // 4 Receive Channel enable bit
/* Битовое поле RCEF5, ширина 1 бит; данные RCEF5. */
Uint16 RCEF5:1; // 5 Receive Channel enable bit
/* Битовое поле RCEF6, ширина 1 бит; данные RCEF6. */
Uint16 RCEF6:1; // 6 Receive Channel enable bit
/* Битовое поле RCEF7, ширина 1 бит; данные RCEF7. */
Uint16 RCEF7:1; // 7 Receive Channel enable bit
/* Битовое поле RCEF8, ширина 1 бит; данные RCEF8. */
Uint16 RCEF8:1; // 8 Receive Channel enable bit
/* Битовое поле RCEF9, ширина 1 бит; данные RCEF9. */
Uint16 RCEF9:1; // 9 Receive Channel enable bit
/* Битовое поле RCEF10, ширина 1 бит; данные RCEF10. */
Uint16 RCEF10:1; // 10 Receive Channel enable bit
/* Битовое поле RCEF11, ширина 1 бит; данные RCEF11. */
Uint16 RCEF11:1; // 11 Receive Channel enable bit
/* Битовое поле RCEF12, ширина 1 бит; данные RCEF12. */
Uint16 RCEF12:1; // 12 Receive Channel enable bit
/* Битовое поле RCEF13, ширина 1 бит; данные RCEF13. */
Uint16 RCEF13:1; // 13 Receive Channel enable bit
/* Битовое поле RCEF14, ширина 1 бит; данные RCEF14. */
Uint16 RCEF14:1; // 14 Receive Channel enable bit
/* Битовое поле RCEF15, ширина 1 бит; данные RCEF15. */
Uint16 RCEF15:1; // 15 Receive Channel enable bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений RCERF_REG в одной области памяти. */
union RCERF_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру RCERF_BITS bit;; порядок полей определяет расположение данных. */
struct RCERF_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// XCERE control register bit definitions:
/* Описывает структуру XCERE_BITS; порядок полей определяет расположение данных. */
struct XCERE_BITS { // bit description
/* Битовое поле XCERE0, ширина 1 бит; данные XCERE0. */
Uint16 XCERE0:1; // 0 Receive Channel enable bit
/* Битовое поле XCERE1, ширина 1 бит; данные XCERE1. */
Uint16 XCERE1:1; // 1 Receive Channel enable bit
/* Битовое поле XCERE2, ширина 1 бит; данные XCERE2. */
Uint16 XCERE2:1; // 2 Receive Channel enable bit
/* Битовое поле XCERE3, ширина 1 бит; данные XCERE3. */
Uint16 XCERE3:1; // 3 Receive Channel enable bit
/* Битовое поле XCERE4, ширина 1 бит; данные XCERE4. */
Uint16 XCERE4:1; // 4 Receive Channel enable bit
/* Битовое поле XCERE5, ширина 1 бит; данные XCERE5. */
Uint16 XCERE5:1; // 5 Receive Channel enable bit
/* Битовое поле XCERE6, ширина 1 бит; данные XCERE6. */
Uint16 XCERE6:1; // 6 Receive Channel enable bit
/* Битовое поле XCERE7, ширина 1 бит; данные XCERE7. */
Uint16 XCERE7:1; // 7 Receive Channel enable bit
/* Битовое поле XCERE8, ширина 1 бит; данные XCERE8. */
Uint16 XCERE8:1; // 8 Receive Channel enable bit
/* Битовое поле XCERE9, ширина 1 бит; данные XCERE9. */
Uint16 XCERE9:1; // 9 Receive Channel enable bit
/* Битовое поле XCERE10, ширина 1 бит; данные XCERE10. */
Uint16 XCERE10:1; // 10 Receive Channel enable bit
/* Битовое поле XCERE11, ширина 1 бит; данные XCERE11. */
Uint16 XCERE11:1; // 11 Receive Channel enable bit
/* Битовое поле XCERE12, ширина 1 бит; данные XCERE12. */
Uint16 XCERE12:1; // 12 Receive Channel enable bit
/* Битовое поле XCERE13, ширина 1 бит; данные XCERE13. */
Uint16 XCERE13:1; // 13 Receive Channel enable bit
/* Битовое поле XCERE14, ширина 1 бит; данные XCERE14. */
Uint16 XCERE14:1; // 14 Receive Channel enable bit
/* Битовое поле XCERE15, ширина 1 бит; данные XCERE15. */
Uint16 XCERE15:1; // 15 Receive Channel enable bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений XCERE_REG в одной области памяти. */
union XCERE_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру XCERE_BITS bit;; порядок полей определяет расположение данных. */
struct XCERE_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// XCERF control register bit definitions:
/* Описывает структуру XCERF_BITS; порядок полей определяет расположение данных. */
struct XCERF_BITS { // bit description
/* Битовое поле XCERF0, ширина 1 бит; данные XCERF0. */
Uint16 XCERF0:1; // 0 Receive Channel enable bit
/* Битовое поле XCERF1, ширина 1 бит; данные XCERF1. */
Uint16 XCERF1:1; // 1 Receive Channel enable bit
/* Битовое поле XCERF2, ширина 1 бит; данные XCERF2. */
Uint16 XCERF2:1; // 2 Receive Channel enable bit
/* Битовое поле XCERF3, ширина 1 бит; данные XCERF3. */
Uint16 XCERF3:1; // 3 Receive Channel enable bit
/* Битовое поле XCERF4, ширина 1 бит; данные XCERF4. */
Uint16 XCERF4:1; // 4 Receive Channel enable bit
/* Битовое поле XCERF5, ширина 1 бит; данные XCERF5. */
Uint16 XCERF5:1; // 5 Receive Channel enable bit
/* Битовое поле XCERF6, ширина 1 бит; данные XCERF6. */
Uint16 XCERF6:1; // 6 Receive Channel enable bit
/* Битовое поле XCERF7, ширина 1 бит; данные XCERF7. */
Uint16 XCERF7:1; // 7 Receive Channel enable bit
/* Битовое поле XCERF8, ширина 1 бит; данные XCERF8. */
Uint16 XCERF8:1; // 8 Receive Channel enable bit
/* Битовое поле XCERF9, ширина 1 бит; данные XCERF9. */
Uint16 XCERF9:1; // 9 Receive Channel enable bit
/* Битовое поле XCERF10, ширина 1 бит; данные XCERF10. */
Uint16 XCERF10:1; // 10 Receive Channel enable bit
/* Битовое поле XCERF11, ширина 1 бит; данные XCERF11. */
Uint16 XCERF11:1; // 11 Receive Channel enable bit
/* Битовое поле XCERF12, ширина 1 бит; данные XCERF12. */
Uint16 XCERF12:1; // 12 Receive Channel enable bit
/* Битовое поле XCERF13, ширина 1 бит; данные XCERF13. */
Uint16 XCERF13:1; // 13 Receive Channel enable bit
/* Битовое поле XCERF14, ширина 1 бит; данные XCERF14. */
Uint16 XCERF14:1; // 14 Receive Channel enable bit
/* Битовое поле XCERF15, ширина 1 бит; данные XCERF15. */
Uint16 XCERF15:1; // 15 Receive Channel enable bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений XCERF_REG в одной области памяти. */
union XCERF_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру XCERF_BITS bit;; порядок полей определяет расположение данных. */
struct XCERF_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// RCERG control register bit definitions:
/* Описывает структуру RCERG_BITS; порядок полей определяет расположение данных. */
struct RCERG_BITS { // bit description
/* Битовое поле RCEG0, ширина 1 бит; данные RCEG0. */
Uint16 RCEG0:1; // 0 Receive Channel enable bit
/* Битовое поле RCEG1, ширина 1 бит; данные RCEG1. */
Uint16 RCEG1:1; // 1 Receive Channel enable bit
/* Битовое поле RCEG2, ширина 1 бит; данные RCEG2. */
Uint16 RCEG2:1; // 2 Receive Channel enable bit
/* Битовое поле RCEG3, ширина 1 бит; данные RCEG3. */
Uint16 RCEG3:1; // 3 Receive Channel enable bit
/* Битовое поле RCEG4, ширина 1 бит; данные RCEG4. */
Uint16 RCEG4:1; // 4 Receive Channel enable bit
/* Битовое поле RCEG5, ширина 1 бит; данные RCEG5. */
Uint16 RCEG5:1; // 5 Receive Channel enable bit
/* Битовое поле RCEG6, ширина 1 бит; данные RCEG6. */
Uint16 RCEG6:1; // 6 Receive Channel enable bit
/* Битовое поле RCEG7, ширина 1 бит; данные RCEG7. */
Uint16 RCEG7:1; // 7 Receive Channel enable bit
/* Битовое поле RCEG8, ширина 1 бит; данные RCEG8. */
Uint16 RCEG8:1; // 8 Receive Channel enable bit
/* Битовое поле RCEG9, ширина 1 бит; данные RCEG9. */
Uint16 RCEG9:1; // 9 Receive Channel enable bit
/* Битовое поле RCEG10, ширина 1 бит; данные RCEG10. */
Uint16 RCEG10:1; // 10 Receive Channel enable bit
/* Битовое поле RCEG11, ширина 1 бит; данные RCEG11. */
Uint16 RCEG11:1; // 11 Receive Channel enable bit
/* Битовое поле RCEG12, ширина 1 бит; данные RCEG12. */
Uint16 RCEG12:1; // 12 Receive Channel enable bit
/* Битовое поле RCEG13, ширина 1 бит; данные RCEG13. */
Uint16 RCEG13:1; // 13 Receive Channel enable bit
/* Битовое поле RCEG14, ширина 1 бит; данные RCEG14. */
Uint16 RCEG14:1; // 14 Receive Channel enable bit
/* Битовое поле RCEG15, ширина 1 бит; данные RCEG15. */
Uint16 RCEG15:1; // 15 Receive Channel enable bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений RCERG_REG в одной области памяти. */
union RCERG_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру RCERG_BITS bit;; порядок полей определяет расположение данных. */
struct RCERG_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// RCERH control register bit definitions:
/* Описывает структуру RCERH_BITS; порядок полей определяет расположение данных. */
struct RCERH_BITS { // bit description
/* Битовое поле RCEH0, ширина 1 бит; данные RCEH0. */
Uint16 RCEH0:1; // 0 Receive Channel enable bit
/* Битовое поле RCEH1, ширина 1 бит; данные RCEH1. */
Uint16 RCEH1:1; // 1 Receive Channel enable bit
/* Битовое поле RCEH2, ширина 1 бит; данные RCEH2. */
Uint16 RCEH2:1; // 2 Receive Channel enable bit
/* Битовое поле RCEH3, ширина 1 бит; данные RCEH3. */
Uint16 RCEH3:1; // 3 Receive Channel enable bit
/* Битовое поле RCEH4, ширина 1 бит; данные RCEH4. */
Uint16 RCEH4:1; // 4 Receive Channel enable bit
/* Битовое поле RCEH5, ширина 1 бит; данные RCEH5. */
Uint16 RCEH5:1; // 5 Receive Channel enable bit
/* Битовое поле RCEH6, ширина 1 бит; данные RCEH6. */
Uint16 RCEH6:1; // 6 Receive Channel enable bit
/* Битовое поле RCEH7, ширина 1 бит; данные RCEH7. */
Uint16 RCEH7:1; // 7 Receive Channel enable bit
/* Битовое поле RCEH8, ширина 1 бит; данные RCEH8. */
Uint16 RCEH8:1; // 8 Receive Channel enable bit
/* Битовое поле RCEH9, ширина 1 бит; данные RCEH9. */
Uint16 RCEH9:1; // 9 Receive Channel enable bit
/* Битовое поле RCEH10, ширина 1 бит; данные RCEH10. */
Uint16 RCEH10:1; // 10 Receive Channel enable bit
/* Битовое поле RCEH11, ширина 1 бит; данные RCEH11. */
Uint16 RCEH11:1; // 11 Receive Channel enable bit
/* Битовое поле RCEH12, ширина 1 бит; данные RCEH12. */
Uint16 RCEH12:1; // 12 Receive Channel enable bit
/* Битовое поле RCEH13, ширина 1 бит; данные RCEH13. */
Uint16 RCEH13:1; // 13 Receive Channel enable bit
/* Битовое поле RCEH14, ширина 1 бит; данные RCEH14. */
Uint16 RCEH14:1; // 14 Receive Channel enable bit
/* Битовое поле RCEH15, ширина 1 бит; данные RCEH15. */
Uint16 RCEH15:1; // 15 Receive Channel enable bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений RCERH_REG в одной области памяти. */
union RCERH_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру RCERH_BITS bit;; порядок полей определяет расположение данных. */
struct RCERH_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// XCERG control register bit definitions:
/* Описывает структуру XCERG_BITS; порядок полей определяет расположение данных. */
struct XCERG_BITS { // bit description
/* Битовое поле XCERG0, ширина 1 бит; данные XCERG0. */
Uint16 XCERG0:1; // 0 Receive Channel enable bit
/* Битовое поле XCERG1, ширина 1 бит; данные XCERG1. */
Uint16 XCERG1:1; // 1 Receive Channel enable bit
/* Битовое поле XCERG2, ширина 1 бит; данные XCERG2. */
Uint16 XCERG2:1; // 2 Receive Channel enable bit
/* Битовое поле XCERG3, ширина 1 бит; данные XCERG3. */
Uint16 XCERG3:1; // 3 Receive Channel enable bit
/* Битовое поле XCERG4, ширина 1 бит; данные XCERG4. */
Uint16 XCERG4:1; // 4 Receive Channel enable bit
/* Битовое поле XCERG5, ширина 1 бит; данные XCERG5. */
Uint16 XCERG5:1; // 5 Receive Channel enable bit
/* Битовое поле XCERG6, ширина 1 бит; данные XCERG6. */
Uint16 XCERG6:1; // 6 Receive Channel enable bit
/* Битовое поле XCERG7, ширина 1 бит; данные XCERG7. */
Uint16 XCERG7:1; // 7 Receive Channel enable bit
/* Битовое поле XCERG8, ширина 1 бит; данные XCERG8. */
Uint16 XCERG8:1; // 8 Receive Channel enable bit
/* Битовое поле XCERG9, ширина 1 бит; данные XCERG9. */
Uint16 XCERG9:1; // 9 Receive Channel enable bit
/* Битовое поле XCERG10, ширина 1 бит; данные XCERG10. */
Uint16 XCERG10:1; // 10 Receive Channel enable bit
/* Битовое поле XCERG11, ширина 1 бит; данные XCERG11. */
Uint16 XCERG11:1; // 11 Receive Channel enable bit
/* Битовое поле XCERG12, ширина 1 бит; данные XCERG12. */
Uint16 XCERG12:1; // 12 Receive Channel enable bit
/* Битовое поле XCERG13, ширина 1 бит; данные XCERG13. */
Uint16 XCERG13:1; // 13 Receive Channel enable bit
/* Битовое поле XCERG14, ширина 1 бит; данные XCERG14. */
Uint16 XCERG14:1; // 14 Receive Channel enable bit
/* Битовое поле XCERG15, ширина 1 бит; данные XCERG15. */
Uint16 XCERG15:1; // 15 Receive Channel enable bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений XCERG_REG в одной области памяти. */
union XCERG_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру XCERG_BITS bit;; порядок полей определяет расположение данных. */
struct XCERG_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// XCERH control register bit definitions:
/* Описывает структуру XCERH_BITS; порядок полей определяет расположение данных. */
struct XCERH_BITS { // bit description
/* Битовое поле XCEH0, ширина 1 бит; данные XCEH0. */
Uint16 XCEH0:1; // 0 Receive Channel enable bit
/* Битовое поле XCEH1, ширина 1 бит; данные XCEH1. */
Uint16 XCEH1:1; // 1 Receive Channel enable bit
/* Битовое поле XCEH2, ширина 1 бит; данные XCEH2. */
Uint16 XCEH2:1; // 2 Receive Channel enable bit
/* Битовое поле XCEH3, ширина 1 бит; данные XCEH3. */
Uint16 XCEH3:1; // 3 Receive Channel enable bit
/* Битовое поле XCEH4, ширина 1 бит; данные XCEH4. */
Uint16 XCEH4:1; // 4 Receive Channel enable bit
/* Битовое поле XCEH5, ширина 1 бит; данные XCEH5. */
Uint16 XCEH5:1; // 5 Receive Channel enable bit
/* Битовое поле XCEH6, ширина 1 бит; данные XCEH6. */
Uint16 XCEH6:1; // 6 Receive Channel enable bit
/* Битовое поле XCEH7, ширина 1 бит; данные XCEH7. */
Uint16 XCEH7:1; // 7 Receive Channel enable bit
/* Битовое поле XCEH8, ширина 1 бит; данные XCEH8. */
Uint16 XCEH8:1; // 8 Receive Channel enable bit
/* Битовое поле XCEH9, ширина 1 бит; данные XCEH9. */
Uint16 XCEH9:1; // 9 Receive Channel enable bit
/* Битовое поле XCEH10, ширина 1 бит; данные XCEH10. */
Uint16 XCEH10:1; // 10 Receive Channel enable bit
/* Битовое поле XCEH11, ширина 1 бит; данные XCEH11. */
Uint16 XCEH11:1; // 11 Receive Channel enable bit
/* Битовое поле XCEH12, ширина 1 бит; данные XCEH12. */
Uint16 XCEH12:1; // 12 Receive Channel enable bit
/* Битовое поле XCEH13, ширина 1 бит; данные XCEH13. */
Uint16 XCEH13:1; // 13 Receive Channel enable bit
/* Битовое поле XCEH14, ширина 1 бит; данные XCEH14. */
Uint16 XCEH14:1; // 14 Receive Channel enable bit
/* Битовое поле XCEH15, ширина 1 бит; данные XCEH15. */
Uint16 XCEH15:1; // 15 Receive Channel enable bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений XCERH_REG в одной области памяти. */
union XCERH_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру XCERH_BITS bit;; порядок полей определяет расположение данных. */
struct XCERH_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// McBSP Interrupt enable register for RINT/XINT
/* Описывает структуру MFFINT_BITS; порядок полей определяет расположение данных. */
struct MFFINT_BITS { // bits description
/* Битовое поле XINT, ширина 1 бит; данные XINT. */
Uint16 XINT:1; // 0 XINT interrupt enable
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 1 reserved
/* Битовое поле RINT, ширина 1 бит; данные RINT. */
Uint16 RINT:1; // 2 RINT interrupt enable
/* Битовое поле rsvd2, ширина 13 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:13; // 15:3 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений MFFINT_REG в одной области памяти. */
union MFFINT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру MFFINT_BITS bit;; порядок полей определяет расположение данных. */
struct MFFINT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// McBSP Register File:
//
/* Описывает структуру MCBSP_REGS; порядок полей определяет расположение данных. */
struct MCBSP_REGS {
/* Объединяет несколько представлений DRR2_REG DRR2; в одной области памяти. */
union DRR2_REG DRR2; // MCBSP Data receive register bits 31-16
/* Объединяет несколько представлений DRR1_REG DRR1; в одной области памяти. */
union DRR1_REG DRR1; // MCBSP Data receive register bits 15-0
/* Объединяет несколько представлений DXR2_REG DXR2; в одной области памяти. */
union DXR2_REG DXR2; // MCBSP Data transmit register bits 31-16
/* Объединяет несколько представлений DXR1_REG DXR1; в одной области памяти. */
union DXR1_REG DXR1; // MCBSP Data transmit register bits 15-0
/* Объединяет несколько представлений SPCR2_REG SPCR2; в одной области памяти. */
union SPCR2_REG SPCR2; // MCBSP control register bits 31-16
/* Объединяет несколько представлений SPCR1_REG SPCR1; в одной области памяти. */
union SPCR1_REG SPCR1; // MCBSP control register bits 15-0
/* Объединяет несколько представлений RCR2_REG RCR2; в одной области памяти. */
union RCR2_REG RCR2; // MCBSP receive control register bits 31-16
/* Объединяет несколько представлений RCR1_REG RCR1; в одной области памяти. */
union RCR1_REG RCR1; // MCBSP receive control register bits 15-0
/* Объединяет несколько представлений XCR2_REG XCR2; в одной области памяти. */
union XCR2_REG XCR2; // MCBSP transmit control register bits 31-16
/* Объединяет несколько представлений XCR1_REG XCR1; в одной области памяти. */
union XCR1_REG XCR1; // MCBSP transmit control register bits 15-0
/* Объединяет несколько представлений SRGR2_REG SRGR2; в одной области памяти. */
union SRGR2_REG SRGR2; // MCBSP sample rate gen register bits 31-16
/* Объединяет несколько представлений SRGR1_REG SRGR1; в одной области памяти. */
union SRGR1_REG SRGR1; // MCBSP sample rate gen register bits 15-0
/* Объединяет несколько представлений MCR2_REG MCR2; в одной области памяти. */
union MCR2_REG MCR2; // MCBSP multichannel register bits 31-16
/* Объединяет несколько представлений MCR1_REG MCR1; в одной области памяти. */
union MCR1_REG MCR1; // MCBSP multichannel register bits 15-0
/* Объединяет несколько представлений RCERA_REG RCERA; в одной области памяти. */
union RCERA_REG RCERA; // MCBSP Receive channel enable partition A
/* Объединяет несколько представлений RCERB_REG RCERB; в одной области памяти. */
union RCERB_REG RCERB; // MCBSP Receive channel enable partition B
/* Объединяет несколько представлений XCERA_REG XCERA; в одной области памяти. */
union XCERA_REG XCERA; // MCBSP Transmit channel enable partition A
/* Объединяет несколько представлений XCERB_REG XCERB; в одной области памяти. */
union XCERB_REG XCERB; // MCBSP Transmit channel enable partition B
/* Объединяет несколько представлений PCR_REG PCR; в одной области памяти. */
union PCR_REG PCR; // MCBSP Pin control register bits 15-0
/* Объединяет несколько представлений RCERC_REG RCERC; в одной области памяти. */
union RCERC_REG RCERC; // MCBSP Receive channel enable partition C
/* Объединяет несколько представлений RCERD_REG RCERD; в одной области памяти. */
union RCERD_REG RCERD; // MCBSP Receive channel enable partition D
/* Объединяет несколько представлений XCERC_REG XCERC; в одной области памяти. */
union XCERC_REG XCERC; // MCBSP Transmit channel enable partition C
/* Объединяет несколько представлений XCERD_REG XCERD; в одной области памяти. */
union XCERD_REG XCERD; // MCBSP Transmit channel enable partition D
/* Объединяет несколько представлений RCERE_REG RCERE; в одной области памяти. */
union RCERE_REG RCERE; // MCBSP Receive channel enable partition E
/* Объединяет несколько представлений RCERF_REG RCERF; в одной области памяти. */
union RCERF_REG RCERF; // MCBSP Receive channel enable partition F
/* Объединяет несколько представлений XCERE_REG XCERE; в одной области памяти. */
union XCERE_REG XCERE; // MCBSP Transmit channel enable partition E
/* Объединяет несколько представлений XCERF_REG XCERF; в одной области памяти. */
union XCERF_REG XCERF; // MCBSP Transmit channel enable partition F
/* Объединяет несколько представлений RCERG_REG RCERG; в одной области памяти. */
union RCERG_REG RCERG; // MCBSP Receive channel enable partition G
/* Объединяет несколько представлений RCERH_REG RCERH; в одной области памяти. */
union RCERH_REG RCERH; // MCBSP Receive channel enable partition H
/* Объединяет несколько представлений XCERG_REG XCERG; в одной области памяти. */
union XCERG_REG XCERG; // MCBSP Transmit channel enable partition G
/* Объединяет несколько представлений XCERH_REG XCERH; в одной области памяти. */
union XCERH_REG XCERH; // MCBSP Transmit channel enable partition H
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1[4]; // reserved
/* Объединяет несколько представлений MFFINT_REG MFFINT; в одной области памяти. */
union MFFINT_REG MFFINT; // MCBSP Interrupt enable register for RINT/XINT
/* Объявляет rsvd2 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2; // reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// McBSP External References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern volatile struct MCBSP_REGS McbspaRegs;; порядок элементов сохраняется. */
extern volatile struct MCBSP_REGS McbspaRegs;
/* Продолжает список аргументов, полей или выражение extern volatile struct MCBSP_REGS McbspbRegs;; порядок элементов сохраняется. */
extern volatile struct MCBSP_REGS McbspbRegs;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_MCBSP_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание PieCtrl для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/1 $
// Checkin $Date: August 18, 2006 13:52:24 $
//###########################################################################
@@ -12,140 +13,246 @@
//###########################################################################
/* Начинает условие: DSP2833x_PIE_CTRL_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_PIE_CTRL_H
/* Определяет защитный символ или переключатель DSP2833x_PIE_CTRL_H для последующей компиляции. */
#define DSP2833x_PIE_CTRL_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
//---------------------------------------------------------------------------
// PIE Control Register Bit Definitions:
//
// PIECTRL: Register bit definitions:
/* Описывает структуру PIECTRL_BITS; порядок полей определяет расположение данных. */
struct PIECTRL_BITS { // bits description
/* Битовое поле ENPIE, ширина 1 бит; данные ENPIE. */
Uint16 ENPIE:1; // 0 Enable PIE block
/* Битовое поле PIEVECT, ширина 15 бит; данные PIEVECT. */
Uint16 PIEVECT:15; // 15:1 Fetched vector address
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений PIECTRL_REG в одной области памяти. */
union PIECTRL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру PIECTRL_BITS bit;; порядок полей определяет расположение данных. */
struct PIECTRL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// PIEIER: Register bit definitions:
/* Описывает структуру PIEIER_BITS; порядок полей определяет расположение данных. */
struct PIEIER_BITS { // bits description
/* Битовое поле INTx1, ширина 1 бит; данные INTx1. */
Uint16 INTx1:1; // 0 INTx.1
/* Битовое поле INTx2, ширина 1 бит; данные INTx2. */
Uint16 INTx2:1; // 1 INTx.2
/* Битовое поле INTx3, ширина 1 бит; данные INTx3. */
Uint16 INTx3:1; // 2 INTx.3
/* Битовое поле INTx4, ширина 1 бит; данные INTx4. */
Uint16 INTx4:1; // 3 INTx.4
/* Битовое поле INTx5, ширина 1 бит; данные INTx5. */
Uint16 INTx5:1; // 4 INTx.5
/* Битовое поле INTx6, ширина 1 бит; данные INTx6. */
Uint16 INTx6:1; // 5 INTx.6
/* Битовое поле INTx7, ширина 1 бит; данные INTx7. */
Uint16 INTx7:1; // 6 INTx.7
/* Битовое поле INTx8, ширина 1 бит; данные INTx8. */
Uint16 INTx8:1; // 7 INTx.8
/* Битовое поле rsvd, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:8; // 15:8 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений PIEIER_REG в одной области памяти. */
union PIEIER_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру PIEIER_BITS bit;; порядок полей определяет расположение данных. */
struct PIEIER_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// PIEIFR: Register bit definitions:
/* Описывает структуру PIEIFR_BITS; порядок полей определяет расположение данных. */
struct PIEIFR_BITS { // bits description
/* Битовое поле INTx1, ширина 1 бит; данные INTx1. */
Uint16 INTx1:1; // 0 INTx.1
/* Битовое поле INTx2, ширина 1 бит; данные INTx2. */
Uint16 INTx2:1; // 1 INTx.2
/* Битовое поле INTx3, ширина 1 бит; данные INTx3. */
Uint16 INTx3:1; // 2 INTx.3
/* Битовое поле INTx4, ширина 1 бит; данные INTx4. */
Uint16 INTx4:1; // 3 INTx.4
/* Битовое поле INTx5, ширина 1 бит; данные INTx5. */
Uint16 INTx5:1; // 4 INTx.5
/* Битовое поле INTx6, ширина 1 бит; данные INTx6. */
Uint16 INTx6:1; // 5 INTx.6
/* Битовое поле INTx7, ширина 1 бит; данные INTx7. */
Uint16 INTx7:1; // 6 INTx.7
/* Битовое поле INTx8, ширина 1 бит; данные INTx8. */
Uint16 INTx8:1; // 7 INTx.8
/* Битовое поле rsvd, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:8; // 15:8 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений PIEIFR_REG в одной области памяти. */
union PIEIFR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру PIEIFR_BITS bit;; порядок полей определяет расположение данных. */
struct PIEIFR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// PIEACK: Register bit definitions:
/* Описывает структуру PIEACK_BITS; порядок полей определяет расположение данных. */
struct PIEACK_BITS { // bits description
/* Битовое поле ACK1, ширина 1 бит; данные ACK1. */
Uint16 ACK1:1; // 0 Acknowledge PIE interrupt group 1
/* Битовое поле ACK2, ширина 1 бит; данные ACK2. */
Uint16 ACK2:1; // 1 Acknowledge PIE interrupt group 2
/* Битовое поле ACK3, ширина 1 бит; данные ACK3. */
Uint16 ACK3:1; // 2 Acknowledge PIE interrupt group 3
/* Битовое поле ACK4, ширина 1 бит; данные ACK4. */
Uint16 ACK4:1; // 3 Acknowledge PIE interrupt group 4
/* Битовое поле ACK5, ширина 1 бит; данные ACK5. */
Uint16 ACK5:1; // 4 Acknowledge PIE interrupt group 5
/* Битовое поле ACK6, ширина 1 бит; данные ACK6. */
Uint16 ACK6:1; // 5 Acknowledge PIE interrupt group 6
/* Битовое поле ACK7, ширина 1 бит; данные ACK7. */
Uint16 ACK7:1; // 6 Acknowledge PIE interrupt group 7
/* Битовое поле ACK8, ширина 1 бит; данные ACK8. */
Uint16 ACK8:1; // 7 Acknowledge PIE interrupt group 8
/* Битовое поле ACK9, ширина 1 бит; данные ACK9. */
Uint16 ACK9:1; // 8 Acknowledge PIE interrupt group 9
/* Битовое поле ACK10, ширина 1 бит; данные ACK10. */
Uint16 ACK10:1; // 9 Acknowledge PIE interrupt group 10
/* Битовое поле ACK11, ширина 1 бит; данные ACK11. */
Uint16 ACK11:1; // 10 Acknowledge PIE interrupt group 11
/* Битовое поле ACK12, ширина 1 бит; данные ACK12. */
Uint16 ACK12:1; // 11 Acknowledge PIE interrupt group 12
/* Битовое поле rsvd, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:4; // 15:12 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений PIEACK_REG в одной области памяти. */
union PIEACK_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру PIEACK_BITS bit;; порядок полей определяет расположение данных. */
struct PIEACK_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// PIE Control Register File:
//
/* Описывает структуру PIE_CTRL_REGS; порядок полей определяет расположение данных. */
struct PIE_CTRL_REGS {
/* Объединяет несколько представлений PIECTRL_REG PIECTRL; в одной области памяти. */
union PIECTRL_REG PIECTRL; // PIE control register
/* Объединяет несколько представлений PIEACK_REG PIEACK; в одной области памяти. */
union PIEACK_REG PIEACK; // PIE acknowledge
/* Объединяет несколько представлений PIEIER_REG PIEIER1; в одной области памяти. */
union PIEIER_REG PIEIER1; // PIE int1 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR1; в одной области памяти. */
union PIEIFR_REG PIEIFR1; // PIE int1 IFR register
/* Объединяет несколько представлений PIEIER_REG PIEIER2; в одной области памяти. */
union PIEIER_REG PIEIER2; // PIE INT2 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR2; в одной области памяти. */
union PIEIFR_REG PIEIFR2; // PIE INT2 IFR register
/* Объединяет несколько представлений PIEIER_REG PIEIER3; в одной области памяти. */
union PIEIER_REG PIEIER3; // PIE INT3 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR3; в одной области памяти. */
union PIEIFR_REG PIEIFR3; // PIE INT3 IFR register
/* Объединяет несколько представлений PIEIER_REG PIEIER4; в одной области памяти. */
union PIEIER_REG PIEIER4; // PIE INT4 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR4; в одной области памяти. */
union PIEIFR_REG PIEIFR4; // PIE INT4 IFR register
/* Объединяет несколько представлений PIEIER_REG PIEIER5; в одной области памяти. */
union PIEIER_REG PIEIER5; // PIE INT5 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR5; в одной области памяти. */
union PIEIFR_REG PIEIFR5; // PIE INT5 IFR register
/* Объединяет несколько представлений PIEIER_REG PIEIER6; в одной области памяти. */
union PIEIER_REG PIEIER6; // PIE INT6 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR6; в одной области памяти. */
union PIEIFR_REG PIEIFR6; // PIE INT6 IFR register
/* Объединяет несколько представлений PIEIER_REG PIEIER7; в одной области памяти. */
union PIEIER_REG PIEIER7; // PIE INT7 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR7; в одной области памяти. */
union PIEIFR_REG PIEIFR7; // PIE INT7 IFR register
/* Объединяет несколько представлений PIEIER_REG PIEIER8; в одной области памяти. */
union PIEIER_REG PIEIER8; // PIE INT8 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR8; в одной области памяти. */
union PIEIFR_REG PIEIFR8; // PIE INT8 IFR register
/* Объединяет несколько представлений PIEIER_REG PIEIER9; в одной области памяти. */
union PIEIER_REG PIEIER9; // PIE INT9 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR9; в одной области памяти. */
union PIEIFR_REG PIEIFR9; // PIE INT9 IFR register
/* Объединяет несколько представлений PIEIER_REG PIEIER10; в одной области памяти. */
union PIEIER_REG PIEIER10; // PIE int10 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR10; в одной области памяти. */
union PIEIFR_REG PIEIFR10; // PIE int10 IFR register
/* Объединяет несколько представлений PIEIER_REG PIEIER11; в одной области памяти. */
union PIEIER_REG PIEIER11; // PIE int11 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR11; в одной области памяти. */
union PIEIFR_REG PIEIFR11; // PIE int11 IFR register
/* Объединяет несколько представлений PIEIER_REG PIEIER12; в одной области памяти. */
union PIEIER_REG PIEIER12; // PIE int12 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR12; в одной области памяти. */
union PIEIFR_REG PIEIFR12; // PIE int12 IFR register
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Задаёт PIEACK_GROUP1 = 0x0001; данные PIEACK_GROUP1. */
#define PIEACK_GROUP1 0x0001
/* Задаёт PIEACK_GROUP2 = 0x0002; данные PIEACK_GROUP2. */
#define PIEACK_GROUP2 0x0002
/* Задаёт PIEACK_GROUP3 = 0x0004; данные PIEACK_GROUP3. */
#define PIEACK_GROUP3 0x0004
/* Задаёт PIEACK_GROUP4 = 0x0008; данные PIEACK_GROUP4. */
#define PIEACK_GROUP4 0x0008
/* Задаёт PIEACK_GROUP5 = 0x0010; данные PIEACK_GROUP5. */
#define PIEACK_GROUP5 0x0010
/* Задаёт PIEACK_GROUP6 = 0x0020; данные PIEACK_GROUP6. */
#define PIEACK_GROUP6 0x0020
/* Задаёт PIEACK_GROUP7 = 0x0040; данные PIEACK_GROUP7. */
#define PIEACK_GROUP7 0x0040
/* Задаёт PIEACK_GROUP8 = 0x0080; данные PIEACK_GROUP8. */
#define PIEACK_GROUP8 0x0080
/* Задаёт PIEACK_GROUP9 = 0x0100; данные PIEACK_GROUP9. */
#define PIEACK_GROUP9 0x0100
/* Задаёт PIEACK_GROUP10 = 0x0200; данные PIEACK_GROUP10. */
#define PIEACK_GROUP10 0x0200
/* Задаёт PIEACK_GROUP11 = 0x0400; данные PIEACK_GROUP11. */
#define PIEACK_GROUP11 0x0400
/* Задаёт PIEACK_GROUP12 = 0x0800; данные PIEACK_GROUP12. */
#define PIEACK_GROUP12 0x0800
//---------------------------------------------------------------------------
// PIE Control Registers External References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern volatile struct PIE_CTRL_REGS PieCtrlRegs;; порядок элементов сохраняется. */
extern volatile struct PIE_CTRL_REGS PieCtrlRegs;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_PIE_CTRL_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание PieVect для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/2 $
// Checkin $Date: March 16, 2007 09:00:21 $
//###########################################################################
@@ -11,12 +12,17 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_PIE_VECT_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_PIE_VECT_H
/* Определяет защитный символ или переключатель DSP2833x_PIE_VECT_H для последующей компиляции. */
#define DSP2833x_PIE_VECT_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
@@ -25,181 +31,316 @@ extern "C" {
//
// Create a user type called PINT (pointer to interrupt):
/* Объявляет интерфейс функции void; реализация вызывается через этот прототип. */
typedef interrupt void(*PINT)(void);
// Define Vector Table:
/* Описывает структуру PIE_VECT_TABLE; порядок полей определяет расположение данных. */
struct PIE_VECT_TABLE {
// Reset is never fetched from this table.
// It will always be fetched from 0x3FFFC0 in
// boot ROM
/* Продолжает список аргументов, полей или выражение PINT PIE1_RESERVED;; порядок элементов сохраняется. */
PINT PIE1_RESERVED;
/* Продолжает список аргументов, полей или выражение PINT PIE2_RESERVED;; порядок элементов сохраняется. */
PINT PIE2_RESERVED;
/* Продолжает список аргументов, полей или выражение PINT PIE3_RESERVED;; порядок элементов сохраняется. */
PINT PIE3_RESERVED;
/* Продолжает список аргументов, полей или выражение PINT PIE4_RESERVED;; порядок элементов сохраняется. */
PINT PIE4_RESERVED;
/* Продолжает список аргументов, полей или выражение PINT PIE5_RESERVED;; порядок элементов сохраняется. */
PINT PIE5_RESERVED;
/* Продолжает список аргументов, полей или выражение PINT PIE6_RESERVED;; порядок элементов сохраняется. */
PINT PIE6_RESERVED;
/* Продолжает список аргументов, полей или выражение PINT PIE7_RESERVED;; порядок элементов сохраняется. */
PINT PIE7_RESERVED;
/* Продолжает список аргументов, полей или выражение PINT PIE8_RESERVED;; порядок элементов сохраняется. */
PINT PIE8_RESERVED;
/* Продолжает список аргументов, полей или выражение PINT PIE9_RESERVED;; порядок элементов сохраняется. */
PINT PIE9_RESERVED;
/* Продолжает список аргументов, полей или выражение PINT PIE10_RESERVED;; порядок элементов сохраняется. */
PINT PIE10_RESERVED;
/* Продолжает список аргументов, полей или выражение PINT PIE11_RESERVED;; порядок элементов сохраняется. */
PINT PIE11_RESERVED;
/* Продолжает список аргументов, полей или выражение PINT PIE12_RESERVED;; порядок элементов сохраняется. */
PINT PIE12_RESERVED;
/* Продолжает список аргументов, полей или выражение PINT PIE13_RESERVED;; порядок элементов сохраняется. */
PINT PIE13_RESERVED;
// Non-Peripheral Interrupts:
/* Продолжает список аргументов, полей или выражение PINT XINT13;; порядок элементов сохраняется. */
PINT XINT13; // XINT13 / CPU-Timer1
/* Продолжает список аргументов, полей или выражение PINT TINT2;; порядок элементов сохраняется. */
PINT TINT2; // CPU-Timer2
/* Продолжает список аргументов, полей или выражение PINT DATALOG;; порядок элементов сохраняется. */
PINT DATALOG; // Datalogging interrupt
/* Продолжает список аргументов, полей или выражение PINT RTOSINT;; порядок элементов сохраняется. */
PINT RTOSINT; // RTOS interrupt
/* Продолжает список аргументов, полей или выражение PINT EMUINT;; порядок элементов сохраняется. */
PINT EMUINT; // Emulation interrupt
/* Продолжает список аргументов, полей или выражение PINT XNMI;; порядок элементов сохраняется. */
PINT XNMI; // Non-maskable interrupt
/* Продолжает список аргументов, полей или выражение PINT ILLEGAL;; порядок элементов сохраняется. */
PINT ILLEGAL; // Illegal operation TRAP
/* Продолжает список аргументов, полей или выражение PINT USER1;; порядок элементов сохраняется. */
PINT USER1; // User Defined trap 1
/* Продолжает список аргументов, полей или выражение PINT USER2;; порядок элементов сохраняется. */
PINT USER2; // User Defined trap 2
/* Продолжает список аргументов, полей или выражение PINT USER3;; порядок элементов сохраняется. */
PINT USER3; // User Defined trap 3
/* Продолжает список аргументов, полей или выражение PINT USER4;; порядок элементов сохраняется. */
PINT USER4; // User Defined trap 4
/* Продолжает список аргументов, полей или выражение PINT USER5;; порядок элементов сохраняется. */
PINT USER5; // User Defined trap 5
/* Продолжает список аргументов, полей или выражение PINT USER6;; порядок элементов сохраняется. */
PINT USER6; // User Defined trap 6
/* Продолжает список аргументов, полей или выражение PINT USER7;; порядок элементов сохраняется. */
PINT USER7; // User Defined trap 7
/* Продолжает список аргументов, полей или выражение PINT USER8;; порядок элементов сохраняется. */
PINT USER8; // User Defined trap 8
/* Продолжает список аргументов, полей или выражение PINT USER9;; порядок элементов сохраняется. */
PINT USER9; // User Defined trap 9
/* Продолжает список аргументов, полей или выражение PINT USER10;; порядок элементов сохраняется. */
PINT USER10; // User Defined trap 10
/* Продолжает список аргументов, полей или выражение PINT USER11;; порядок элементов сохраняется. */
PINT USER11; // User Defined trap 11
/* Продолжает список аргументов, полей или выражение PINT USER12;; порядок элементов сохраняется. */
PINT USER12; // User Defined trap 12
// Group 1 PIE Peripheral Vectors:
/* Продолжает список аргументов, полей или выражение PINT SEQ1INT;; порядок элементов сохраняется. */
PINT SEQ1INT;
/* Продолжает список аргументов, полей или выражение PINT SEQ2INT;; порядок элементов сохраняется. */
PINT SEQ2INT;
/* Продолжает список аргументов, полей или выражение PINT rsvd1_3;; порядок элементов сохраняется. */
PINT rsvd1_3;
/* Продолжает список аргументов, полей или выражение PINT XINT1;; порядок элементов сохраняется. */
PINT XINT1;
/* Продолжает список аргументов, полей или выражение PINT XINT2;; порядок элементов сохраняется. */
PINT XINT2;
/* Продолжает список аргументов, полей или выражение PINT ADCINT;; порядок элементов сохраняется. */
PINT ADCINT; // ADC
/* Продолжает список аргументов, полей или выражение PINT TINT0;; порядок элементов сохраняется. */
PINT TINT0; // Timer 0
/* Продолжает список аргументов, полей или выражение PINT WAKEINT;; порядок элементов сохраняется. */
PINT WAKEINT; // WD
// Group 2 PIE Peripheral Vectors:
/* Продолжает список аргументов, полей или выражение PINT EPWM1_TZINT;; порядок элементов сохраняется. */
PINT EPWM1_TZINT; // EPWM-1
/* Продолжает список аргументов, полей или выражение PINT EPWM2_TZINT;; порядок элементов сохраняется. */
PINT EPWM2_TZINT; // EPWM-2
/* Продолжает список аргументов, полей или выражение PINT EPWM3_TZINT;; порядок элементов сохраняется. */
PINT EPWM3_TZINT; // EPWM-3
/* Продолжает список аргументов, полей или выражение PINT EPWM4_TZINT;; порядок элементов сохраняется. */
PINT EPWM4_TZINT; // EPWM-4
/* Продолжает список аргументов, полей или выражение PINT EPWM5_TZINT;; порядок элементов сохраняется. */
PINT EPWM5_TZINT; // EPWM-5
/* Продолжает список аргументов, полей или выражение PINT EPWM6_TZINT;; порядок элементов сохраняется. */
PINT EPWM6_TZINT; // EPWM-6
/* Продолжает список аргументов, полей или выражение PINT rsvd2_7;; порядок элементов сохраняется. */
PINT rsvd2_7;
/* Продолжает список аргументов, полей или выражение PINT rsvd2_8;; порядок элементов сохраняется. */
PINT rsvd2_8;
// Group 3 PIE Peripheral Vectors:
/* Продолжает список аргументов, полей или выражение PINT EPWM1_INT;; порядок элементов сохраняется. */
PINT EPWM1_INT; // EPWM-1
/* Продолжает список аргументов, полей или выражение PINT EPWM2_INT;; порядок элементов сохраняется. */
PINT EPWM2_INT; // EPWM-2
/* Продолжает список аргументов, полей или выражение PINT EPWM3_INT;; порядок элементов сохраняется. */
PINT EPWM3_INT; // EPWM-3
/* Продолжает список аргументов, полей или выражение PINT EPWM4_INT;; порядок элементов сохраняется. */
PINT EPWM4_INT; // EPWM-4
/* Продолжает список аргументов, полей или выражение PINT EPWM5_INT;; порядок элементов сохраняется. */
PINT EPWM5_INT; // EPWM-5
/* Продолжает список аргументов, полей или выражение PINT EPWM6_INT;; порядок элементов сохраняется. */
PINT EPWM6_INT; // EPWM-6
/* Продолжает список аргументов, полей или выражение PINT rsvd3_7;; порядок элементов сохраняется. */
PINT rsvd3_7;
/* Продолжает список аргументов, полей или выражение PINT rsvd3_8;; порядок элементов сохраняется. */
PINT rsvd3_8;
// Group 4 PIE Peripheral Vectors:
/* Продолжает список аргументов, полей или выражение PINT ECAP1_INT;; порядок элементов сохраняется. */
PINT ECAP1_INT; // ECAP-1
/* Продолжает список аргументов, полей или выражение PINT ECAP2_INT;; порядок элементов сохраняется. */
PINT ECAP2_INT; // ECAP-2
/* Продолжает список аргументов, полей или выражение PINT ECAP3_INT;; порядок элементов сохраняется. */
PINT ECAP3_INT; // ECAP-3
/* Продолжает список аргументов, полей или выражение PINT ECAP4_INT;; порядок элементов сохраняется. */
PINT ECAP4_INT; // ECAP-4
/* Продолжает список аргументов, полей или выражение PINT ECAP5_INT;; порядок элементов сохраняется. */
PINT ECAP5_INT; // ECAP-5
/* Продолжает список аргументов, полей или выражение PINT ECAP6_INT;; порядок элементов сохраняется. */
PINT ECAP6_INT; // ECAP-6
/* Продолжает список аргументов, полей или выражение PINT rsvd4_7;; порядок элементов сохраняется. */
PINT rsvd4_7;
/* Продолжает список аргументов, полей или выражение PINT rsvd4_8;; порядок элементов сохраняется. */
PINT rsvd4_8;
// Group 5 PIE Peripheral Vectors:
/* Продолжает список аргументов, полей или выражение PINT EQEP1_INT;; порядок элементов сохраняется. */
PINT EQEP1_INT; // EQEP-1
/* Продолжает список аргументов, полей или выражение PINT EQEP2_INT;; порядок элементов сохраняется. */
PINT EQEP2_INT; // EQEP-2
/* Продолжает список аргументов, полей или выражение PINT rsvd5_3;; порядок элементов сохраняется. */
PINT rsvd5_3;
/* Продолжает список аргументов, полей или выражение PINT rsvd5_4;; порядок элементов сохраняется. */
PINT rsvd5_4;
/* Продолжает список аргументов, полей или выражение PINT rsvd5_5;; порядок элементов сохраняется. */
PINT rsvd5_5;
/* Продолжает список аргументов, полей или выражение PINT rsvd5_6;; порядок элементов сохраняется. */
PINT rsvd5_6;
/* Продолжает список аргументов, полей или выражение PINT rsvd5_7;; порядок элементов сохраняется. */
PINT rsvd5_7;
/* Продолжает список аргументов, полей или выражение PINT rsvd5_8;; порядок элементов сохраняется. */
PINT rsvd5_8;
// Group 6 PIE Peripheral Vectors:
/* Продолжает список аргументов, полей или выражение PINT SPIRXINTA;; порядок элементов сохраняется. */
PINT SPIRXINTA; // SPI-A
/* Продолжает список аргументов, полей или выражение PINT SPITXINTA;; порядок элементов сохраняется. */
PINT SPITXINTA; // SPI-A
/* Продолжает список аргументов, полей или выражение PINT MRINTB;; порядок элементов сохраняется. */
PINT MRINTB; // McBSP-B
/* Продолжает список аргументов, полей или выражение PINT MXINTB;; порядок элементов сохраняется. */
PINT MXINTB; // McBSP-B
/* Продолжает список аргументов, полей или выражение PINT MRINTA;; порядок элементов сохраняется. */
PINT MRINTA; // McBSP-A
/* Продолжает список аргументов, полей или выражение PINT MXINTA;; порядок элементов сохраняется. */
PINT MXINTA; // McBSP-A
/* Продолжает список аргументов, полей или выражение PINT rsvd6_7;; порядок элементов сохраняется. */
PINT rsvd6_7;
/* Продолжает список аргументов, полей или выражение PINT rsvd6_8;; порядок элементов сохраняется. */
PINT rsvd6_8;
// Group 7 PIE Peripheral Vectors:
/* Продолжает список аргументов, полей или выражение PINT DINTCH1;; порядок элементов сохраняется. */
PINT DINTCH1; // DMA
/* Продолжает список аргументов, полей или выражение PINT DINTCH2;; порядок элементов сохраняется. */
PINT DINTCH2; // DMA
/* Продолжает список аргументов, полей или выражение PINT DINTCH3;; порядок элементов сохраняется. */
PINT DINTCH3; // DMA
/* Продолжает список аргументов, полей или выражение PINT DINTCH4;; порядок элементов сохраняется. */
PINT DINTCH4; // DMA
/* Продолжает список аргументов, полей или выражение PINT DINTCH5;; порядок элементов сохраняется. */
PINT DINTCH5; // DMA
/* Продолжает список аргументов, полей или выражение PINT DINTCH6;; порядок элементов сохраняется. */
PINT DINTCH6; // DMA
/* Продолжает список аргументов, полей или выражение PINT rsvd7_7;; порядок элементов сохраняется. */
PINT rsvd7_7;
/* Продолжает список аргументов, полей или выражение PINT rsvd7_8;; порядок элементов сохраняется. */
PINT rsvd7_8;
// Group 8 PIE Peripheral Vectors:
/* Продолжает список аргументов, полей или выражение PINT I2CINT1A;; порядок элементов сохраняется. */
PINT I2CINT1A; // I2C-A
/* Продолжает список аргументов, полей или выражение PINT I2CINT2A;; порядок элементов сохраняется. */
PINT I2CINT2A; // I2C-A
/* Продолжает список аргументов, полей или выражение PINT rsvd8_3;; порядок элементов сохраняется. */
PINT rsvd8_3;
/* Продолжает список аргументов, полей или выражение PINT rsvd8_4;; порядок элементов сохраняется. */
PINT rsvd8_4;
/* Продолжает список аргументов, полей или выражение PINT SCIRXINTC;; порядок элементов сохраняется. */
PINT SCIRXINTC; // SCI-C
/* Продолжает список аргументов, полей или выражение PINT SCITXINTC;; порядок элементов сохраняется. */
PINT SCITXINTC; // SCI-C
/* Продолжает список аргументов, полей или выражение PINT rsvd8_7;; порядок элементов сохраняется. */
PINT rsvd8_7;
/* Продолжает список аргументов, полей или выражение PINT rsvd8_8;; порядок элементов сохраняется. */
PINT rsvd8_8;
// Group 9 PIE Peripheral Vectors:
/* Продолжает список аргументов, полей или выражение PINT SCIRXINTA;; порядок элементов сохраняется. */
PINT SCIRXINTA; // SCI-A
/* Продолжает список аргументов, полей или выражение PINT SCITXINTA;; порядок элементов сохраняется. */
PINT SCITXINTA; // SCI-A
/* Продолжает список аргументов, полей или выражение PINT SCIRXINTB;; порядок элементов сохраняется. */
PINT SCIRXINTB; // SCI-B
/* Продолжает список аргументов, полей или выражение PINT SCITXINTB;; порядок элементов сохраняется. */
PINT SCITXINTB; // SCI-B
/* Продолжает список аргументов, полей или выражение PINT ECAN0INTA;; порядок элементов сохраняется. */
PINT ECAN0INTA; // eCAN-A
/* Продолжает список аргументов, полей или выражение PINT ECAN1INTA;; порядок элементов сохраняется. */
PINT ECAN1INTA; // eCAN-A
/* Продолжает список аргументов, полей или выражение PINT ECAN0INTB;; порядок элементов сохраняется. */
PINT ECAN0INTB; // eCAN-B
/* Продолжает список аргументов, полей или выражение PINT ECAN1INTB;; порядок элементов сохраняется. */
PINT ECAN1INTB; // eCAN-B
// Group 10 PIE Peripheral Vectors:
/* Продолжает список аргументов, полей или выражение PINT rsvd10_1;; порядок элементов сохраняется. */
PINT rsvd10_1;
/* Продолжает список аргументов, полей или выражение PINT rsvd10_2;; порядок элементов сохраняется. */
PINT rsvd10_2;
/* Продолжает список аргументов, полей или выражение PINT rsvd10_3;; порядок элементов сохраняется. */
PINT rsvd10_3;
/* Продолжает список аргументов, полей или выражение PINT rsvd10_4;; порядок элементов сохраняется. */
PINT rsvd10_4;
/* Продолжает список аргументов, полей или выражение PINT rsvd10_5;; порядок элементов сохраняется. */
PINT rsvd10_5;
/* Продолжает список аргументов, полей или выражение PINT rsvd10_6;; порядок элементов сохраняется. */
PINT rsvd10_6;
/* Продолжает список аргументов, полей или выражение PINT rsvd10_7;; порядок элементов сохраняется. */
PINT rsvd10_7;
/* Продолжает список аргументов, полей или выражение PINT rsvd10_8;; порядок элементов сохраняется. */
PINT rsvd10_8;
// Group 11 PIE Peripheral Vectors:
/* Продолжает список аргументов, полей или выражение PINT rsvd11_1;; порядок элементов сохраняется. */
PINT rsvd11_1;
/* Продолжает список аргументов, полей или выражение PINT rsvd11_2;; порядок элементов сохраняется. */
PINT rsvd11_2;
/* Продолжает список аргументов, полей или выражение PINT rsvd11_3;; порядок элементов сохраняется. */
PINT rsvd11_3;
/* Продолжает список аргументов, полей или выражение PINT rsvd11_4;; порядок элементов сохраняется. */
PINT rsvd11_4;
/* Продолжает список аргументов, полей или выражение PINT rsvd11_5;; порядок элементов сохраняется. */
PINT rsvd11_5;
/* Продолжает список аргументов, полей или выражение PINT rsvd11_6;; порядок элементов сохраняется. */
PINT rsvd11_6;
/* Продолжает список аргументов, полей или выражение PINT rsvd11_7;; порядок элементов сохраняется. */
PINT rsvd11_7;
/* Продолжает список аргументов, полей или выражение PINT rsvd11_8;; порядок элементов сохраняется. */
PINT rsvd11_8;
// Group 12 PIE Peripheral Vectors:
/* Продолжает список аргументов, полей или выражение PINT XINT3;; порядок элементов сохраняется. */
PINT XINT3; // External interrupt
/* Продолжает список аргументов, полей или выражение PINT XINT4;; порядок элементов сохраняется. */
PINT XINT4;
/* Продолжает список аргументов, полей или выражение PINT XINT5;; порядок элементов сохраняется. */
PINT XINT5;
/* Продолжает список аргументов, полей или выражение PINT XINT6;; порядок элементов сохраняется. */
PINT XINT6;
/* Продолжает список аргументов, полей или выражение PINT XINT7;; порядок элементов сохраняется. */
PINT XINT7;
/* Продолжает список аргументов, полей или выражение PINT rsvd12_6;; порядок элементов сохраняется. */
PINT rsvd12_6;
/* Продолжает список аргументов, полей или выражение PINT LVF;; порядок элементов сохраняется. */
PINT LVF; // Latched overflow
/* Продолжает список аргументов, полей или выражение PINT LUF;; порядок элементов сохраняется. */
PINT LUF; // Latched underflow
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// PIE Interrupt Vector Table External References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern struct PIE_VECT_TABLE PieVectTable;; порядок элементов сохраняется. */
extern struct PIE_VECT_TABLE PieVectTable;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_PIE_VECT_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание Sci для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/2 $
// Checkin $Date: March 1, 2007 15:57:02 $
//###########################################################################
@@ -11,12 +12,17 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_SCI_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_SCI_H
/* Определяет защитный символ или переключатель DSP2833x_SCI_H для последующей компиляции. */
#define DSP2833x_SCI_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
//---------------------------------------------------------------------------
@@ -26,97 +32,160 @@ extern "C" {
// SCICCR communication control register bit definitions:
//
/* Описывает структуру SCICCR_BITS; порядок полей определяет расположение данных. */
struct SCICCR_BITS { // bit description
/* Битовое поле SCICHAR, ширина 3 бит; данные SCICHAR. */
Uint16 SCICHAR:3; // 2:0 Character length control
/* Битовое поле ADDRIDLE_MODE, ширина 1 бит; ADDRIDLE режим. */
Uint16 ADDRIDLE_MODE:1; // 3 ADDR/IDLE Mode control
/* Битовое поле LOOPBKENA, ширина 1 бит; данные LOOPBKENA. */
Uint16 LOOPBKENA:1; // 4 Loop Back enable
/* Битовое поле PARITYENA, ширина 1 бит; данные PARITYENA. */
Uint16 PARITYENA:1; // 5 Parity enable
/* Битовое поле PARITY, ширина 1 бит; чётность. */
Uint16 PARITY:1; // 6 Even or Odd Parity
/* Битовое поле STOPBITS, ширина 1 бит; данные STOPBITS. */
Uint16 STOPBITS:1; // 7 Number of Stop Bits
/* Битовое поле rsvd1, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:8; // 15:8 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SCICCR_REG в одной области памяти. */
union SCICCR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SCICCR_BITS bit;; порядок полей определяет расположение данных. */
struct SCICCR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//-------------------------------------------
// SCICTL1 control register 1 bit definitions:
//
/* Описывает структуру SCICTL1_BITS; порядок полей определяет расположение данных. */
struct SCICTL1_BITS { // bit description
/* Битовое поле RXENA, ширина 1 бит; данные RXENA. */
Uint16 RXENA:1; // 0 SCI receiver enable
/* Битовое поле TXENA, ширина 1 бит; данные TXENA. */
Uint16 TXENA:1; // 1 SCI transmitter enable
/* Битовое поле SLEEP, ширина 1 бит; данные SLEEP. */
Uint16 SLEEP:1; // 2 SCI sleep
/* Битовое поле TXWAKE, ширина 1 бит; данные TXWAKE. */
Uint16 TXWAKE:1; // 3 Transmitter wakeup method
/* Битовое поле rsvd, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:1; // 4 reserved
/* Битовое поле SWRESET, ширина 1 бит; данные SWRESET. */
Uint16 SWRESET:1; // 5 Software reset
/* Битовое поле RXERRINTENA, ширина 1 бит; данные RXERRINTENA. */
Uint16 RXERRINTENA:1; // 6 Recieve interrupt enable
/* Битовое поле rsvd1, ширина 9 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:9; // 15:7 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SCICTL1_REG в одной области памяти. */
union SCICTL1_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SCICTL1_BITS bit;; порядок полей определяет расположение данных. */
struct SCICTL1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------
// SCICTL2 control register 2 bit definitions:
//
/* Описывает структуру SCICTL2_BITS; порядок полей определяет расположение данных. */
struct SCICTL2_BITS { // bit description
/* Битовое поле TXINTENA, ширина 1 бит; данные TXINTENA. */
Uint16 TXINTENA:1; // 0 Transmit interrupt enable
/* Битовое поле RXBKINTENA, ширина 1 бит; данные RXBKINTENA. */
Uint16 RXBKINTENA:1; // 1 Receiver-buffer break enable
/* Битовое поле rsvd, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:4; // 5:2 reserved
/* Битовое поле TXEMPTY, ширина 1 бит; данные TXEMPTY. */
Uint16 TXEMPTY:1; // 6 Transmitter empty flag
/* Битовое поле TXRDY, ширина 1 бит; данные TXRDY. */
Uint16 TXRDY:1; // 7 Transmitter ready flag
/* Битовое поле rsvd1, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:8; // 15:8 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SCICTL2_REG в одной области памяти. */
union SCICTL2_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SCICTL2_BITS bit;; порядок полей определяет расположение данных. */
struct SCICTL2_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------
// SCIRXST Receiver status register bit definitions:
//
/* Описывает структуру SCIRXST_BITS; порядок полей определяет расположение данных. */
struct SCIRXST_BITS { // bit description
/* Битовое поле rsvd, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:1; // 0 reserved
/* Битовое поле RXWAKE, ширина 1 бит; данные RXWAKE. */
Uint16 RXWAKE:1; // 1 Receiver wakeup detect flag
/* Битовое поле PE, ширина 1 бит; данные PE. */
Uint16 PE:1; // 2 Parity error flag
/* Битовое поле OE, ширина 1 бит; данные OE. */
Uint16 OE:1; // 3 Overrun error flag
/* Битовое поле FE, ширина 1 бит; данные FE. */
Uint16 FE:1; // 4 Framing error flag
/* Битовое поле BRKDT, ширина 1 бит; данные BRKDT. */
Uint16 BRKDT:1; // 5 Break-detect flag
/* Битовое поле RXRDY, ширина 1 бит; данные RXRDY. */
Uint16 RXRDY:1; // 6 Receiver ready flag
/* Битовое поле RXERROR, ширина 1 бит; данные RXERROR. */
Uint16 RXERROR:1; // 7 Receiver error flag
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SCIRXST_REG в одной области памяти. */
union SCIRXST_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SCIRXST_BITS bit;; порядок полей определяет расположение данных. */
struct SCIRXST_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//----------------------------------------------------
// SCIRXBUF Receiver Data Buffer with FIFO bit definitions:
//
/* Описывает структуру SCIRXBUF_BITS; порядок полей определяет расположение данных. */
struct SCIRXBUF_BITS { // bits description
/* Битовое поле RXDT, ширина 8 бит; данные RXDT. */
Uint16 RXDT:8; // 7:0 Receive word
/* Битовое поле rsvd, ширина 6 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:6; // 13:8 reserved
/* Битовое поле SCIFFPE, ширина 1 бит; данные SCIFFPE. */
Uint16 SCIFFPE:1; // 14 SCI PE error in FIFO mode
/* Битовое поле SCIFFFE, ширина 1 бит; данные SCIFFFE. */
Uint16 SCIFFFE:1; // 15 SCI FE error in FIFO mode
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SCIRXBUF_REG в одной области памяти. */
union SCIRXBUF_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SCIRXBUF_BITS bit;; порядок полей определяет расположение данных. */
struct SCIRXBUF_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//--------------------------------------------------
@@ -124,16 +193,26 @@ union SCIRXBUF_REG {
//
//
/* Описывает структуру SCIPRI_BITS; порядок полей определяет расположение данных. */
struct SCIPRI_BITS { // bit description
/* Битовое поле rsvd, ширина 3 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:3; // 2:0 reserved
/* Битовое поле FREE, ширина 1 бит; данные FREE. */
Uint16 FREE:1; // 3 Free emulation suspend mode
/* Битовое поле SOFT, ширина 1 бит; данные SOFT. */
Uint16 SOFT:1; // 4 Soft emulation suspend mode
/* Битовое поле rsvd1, ширина 3 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:3; // 7:5 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SCIPRI_REG в одной области памяти. */
union SCIPRI_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SCIPRI_BITS bit;; порядок полей определяет расположение данных. */
struct SCIPRI_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//-------------------------------------------------
@@ -141,21 +220,35 @@ union SCIPRI_REG {
//
//
/* Описывает структуру SCIFFTX_BITS; порядок полей определяет расположение данных. */
struct SCIFFTX_BITS { // bit description
/* Битовое поле TXFFIL, ширина 5 бит; данные TXFFIL. */
Uint16 TXFFIL:5; // 4:0 Interrupt level
/* Битовое поле TXFFIENA, ширина 1 бит; данные TXFFIENA. */
Uint16 TXFFIENA:1; // 5 Interrupt enable
/* Битовое поле TXFFINTCLR, ширина 1 бит; данные TXFFINTCLR. */
Uint16 TXFFINTCLR:1; // 6 Clear INT flag
/* Битовое поле TXFFINT, ширина 1 бит; данные TXFFINT. */
Uint16 TXFFINT:1; // 7 INT flag
/* Битовое поле TXFFST, ширина 5 бит; данные TXFFST. */
Uint16 TXFFST:5; // 12:8 FIFO status
/* Битовое поле TXFIFOXRESET, ширина 1 бит; данные TXFIFOXRESET. */
Uint16 TXFIFOXRESET:1; // 13 FIFO reset
/* Битовое поле SCIFFENA, ширина 1 бит; данные SCIFFENA. */
Uint16 SCIFFENA:1; // 14 Enhancement enable
/* Битовое поле SCIRST, ширина 1 бит; данные SCIRST. */
Uint16 SCIRST:1; // 15 SCI reset rx/tx channels
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SCIFFTX_REG в одной области памяти. */
union SCIFFTX_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SCIFFTX_BITS bit;; порядок полей определяет расположение данных. */
struct SCIFFTX_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//------------------------------------------------
@@ -163,70 +256,119 @@ union SCIFFTX_REG {
//
//
/* Описывает структуру SCIFFRX_BITS; порядок полей определяет расположение данных. */
struct SCIFFRX_BITS { // bits description
/* Битовое поле RXFFIL, ширина 5 бит; данные RXFFIL. */
Uint16 RXFFIL:5; // 4:0 Interrupt level
/* Битовое поле RXFFIENA, ширина 1 бит; данные RXFFIENA. */
Uint16 RXFFIENA:1; // 5 Interrupt enable
/* Битовое поле RXFFINTCLR, ширина 1 бит; данные RXFFINTCLR. */
Uint16 RXFFINTCLR:1; // 6 Clear INT flag
/* Битовое поле RXFFINT, ширина 1 бит; данные RXFFINT. */
Uint16 RXFFINT:1; // 7 INT flag
/* Битовое поле RXFFST, ширина 5 бит; данные RXFFST. */
Uint16 RXFFST:5; // 12:8 FIFO status
/* Битовое поле RXFIFORESET, ширина 1 бит; данные RXFIFORESET. */
Uint16 RXFIFORESET:1; // 13 FIFO reset
/* Битовое поле RXFFOVRCLR, ширина 1 бит; данные RXFFOVRCLR. */
Uint16 RXFFOVRCLR:1; // 14 Clear overflow
/* Битовое поле RXFFOVF, ширина 1 бит; данные RXFFOVF. */
Uint16 RXFFOVF:1; // 15 FIFO overflow
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SCIFFRX_REG в одной области памяти. */
union SCIFFRX_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SCIFFRX_BITS bit;; порядок полей определяет расположение данных. */
struct SCIFFRX_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// SCI FIFO control register bit definitions:
/* Описывает структуру SCIFFCT_BITS; порядок полей определяет расположение данных. */
struct SCIFFCT_BITS { // bits description
/* Битовое поле FFTXDLY, ширина 8 бит; данные FFTXDLY. */
Uint16 FFTXDLY:8; // 7:0 FIFO transmit delay
/* Битовое поле rsvd, ширина 5 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:5; // 12:8 reserved
/* Битовое поле CDC, ширина 1 бит; данные CDC. */
Uint16 CDC:1; // 13 Auto baud mode enable
/* Битовое поле ABDCLR, ширина 1 бит; данные ABDCLR. */
Uint16 ABDCLR:1; // 14 Auto baud clear
/* Битовое поле ABD, ширина 1 бит; данные ABD. */
Uint16 ABD:1; // 15 Auto baud detect
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SCIFFCT_REG в одной области памяти. */
union SCIFFCT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SCIFFCT_BITS bit;; порядок полей определяет расположение данных. */
struct SCIFFCT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// SCI Register File:
//
/* Описывает структуру SCI_REGS; порядок полей определяет расположение данных. */
struct SCI_REGS {
/* Объединяет несколько представлений SCICCR_REG SCICCR; в одной области памяти. */
union SCICCR_REG SCICCR; // Communications control register
/* Объединяет несколько представлений SCICTL1_REG SCICTL1; в одной области памяти. */
union SCICTL1_REG SCICTL1; // Control register 1
/* Объявляет SCIHBAUD — данные SCIHBAUD. */
Uint16 SCIHBAUD; // Baud rate (high) register
/* Объявляет SCILBAUD — данные SCILBAUD. */
Uint16 SCILBAUD; // Baud rate (low) register
/* Объединяет несколько представлений SCICTL2_REG SCICTL2; в одной области памяти. */
union SCICTL2_REG SCICTL2; // Control register 2
/* Объединяет несколько представлений SCIRXST_REG SCIRXST; в одной области памяти. */
union SCIRXST_REG SCIRXST; // Recieve status register
/* Объявляет SCIRXEMU — данные SCIRXEMU. */
Uint16 SCIRXEMU; // Recieve emulation buffer register
/* Объединяет несколько представлений SCIRXBUF_REG SCIRXBUF; в одной области памяти. */
union SCIRXBUF_REG SCIRXBUF; // Recieve data buffer
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1; // reserved
/* Объявляет SCITXBUF — данные SCITXBUF. */
Uint16 SCITXBUF; // Transmit data buffer
/* Объединяет несколько представлений SCIFFTX_REG SCIFFTX; в одной области памяти. */
union SCIFFTX_REG SCIFFTX; // FIFO transmit register
/* Объединяет несколько представлений SCIFFRX_REG SCIFFRX; в одной области памяти. */
union SCIFFRX_REG SCIFFRX; // FIFO recieve register
/* Объединяет несколько представлений SCIFFCT_REG SCIFFCT; в одной области памяти. */
union SCIFFCT_REG SCIFFCT; // FIFO control register
/* Объявляет rsvd2 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2; // reserved
/* Объявляет rsvd3 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3; // reserved
/* Объединяет несколько представлений SCIPRI_REG SCIPRI; в одной области памяти. */
union SCIPRI_REG SCIPRI; // FIFO Priority control
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// SCI External References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern volatile struct SCI_REGS SciaRegs;; порядок элементов сохраняется. */
extern volatile struct SCI_REGS SciaRegs;
/* Продолжает список аргументов, полей или выражение extern volatile struct SCI_REGS ScibRegs;; порядок элементов сохраняется. */
extern volatile struct SCI_REGS ScibRegs;
/* Продолжает список аргументов, полей или выражение extern volatile struct SCI_REGS ScicRegs;; порядок элементов сохраняется. */
extern volatile struct SCI_REGS ScicRegs;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_SCI_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание Spi для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/3 $
// Checkin $Date: April 17, 2008 11:08:27 $
//###########################################################################
@@ -11,12 +12,17 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_SPI_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_SPI_H
/* Определяет защитный символ или переключатель DSP2833x_SPI_H для последующей компиляции. */
#define DSP2833x_SPI_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
@@ -24,157 +30,260 @@ extern "C" {
// SPI Individual Register Bit Definitions:
//
// SPI FIFO Transmit register bit definitions:
/* Описывает структуру SPIFFTX_BITS; порядок полей определяет расположение данных. */
struct SPIFFTX_BITS { // bit description
/* Битовое поле TXFFIL, ширина 5 бит; данные TXFFIL. */
Uint16 TXFFIL:5; // 4:0 Interrupt level
/* Битовое поле TXFFIENA, ширина 1 бит; данные TXFFIENA. */
Uint16 TXFFIENA:1; // 5 Interrupt enable
/* Битовое поле TXFFINTCLR, ширина 1 бит; данные TXFFINTCLR. */
Uint16 TXFFINTCLR:1; // 6 Clear INT flag
/* Битовое поле TXFFINT, ширина 1 бит; данные TXFFINT. */
Uint16 TXFFINT:1; // 7 INT flag
/* Битовое поле TXFFST, ширина 5 бит; данные TXFFST. */
Uint16 TXFFST:5; // 12:8 FIFO status
/* Битовое поле TXFIFO, ширина 1 бит; данные TXFIFO. */
Uint16 TXFIFO:1; // 13 FIFO reset
/* Битовое поле SPIFFENA, ширина 1 бит; данные SPIFFENA. */
Uint16 SPIFFENA:1; // 14 Enhancement enable
/* Битовое поле SPIRST, ширина 1 бит; данные SPIRST. */
Uint16 SPIRST:1; // 15 Reset SPI
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SPIFFTX_REG в одной области памяти. */
union SPIFFTX_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SPIFFTX_BITS bit;; порядок полей определяет расположение данных. */
struct SPIFFTX_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//--------------------------------------------
// SPI FIFO recieve register bit definitions:
//
//
/* Описывает структуру SPIFFRX_BITS; порядок полей определяет расположение данных. */
struct SPIFFRX_BITS { // bits description
/* Битовое поле RXFFIL, ширина 5 бит; данные RXFFIL. */
Uint16 RXFFIL:5; // 4:0 Interrupt level
/* Битовое поле RXFFIENA, ширина 1 бит; данные RXFFIENA. */
Uint16 RXFFIENA:1; // 5 Interrupt enable
/* Битовое поле RXFFINTCLR, ширина 1 бит; данные RXFFINTCLR. */
Uint16 RXFFINTCLR:1; // 6 Clear INT flag
/* Битовое поле RXFFINT, ширина 1 бит; данные RXFFINT. */
Uint16 RXFFINT:1; // 7 INT flag
/* Битовое поле RXFFST, ширина 5 бит; данные RXFFST. */
Uint16 RXFFST:5; // 12:8 FIFO status
/* Битовое поле RXFIFORESET, ширина 1 бит; данные RXFIFORESET. */
Uint16 RXFIFORESET:1; // 13 FIFO reset
/* Битовое поле RXFFOVFCLR, ширина 1 бит; данные RXFFOVFCLR. */
Uint16 RXFFOVFCLR:1; // 14 Clear overflow
/* Битовое поле RXFFOVF, ширина 1 бит; данные RXFFOVF. */
Uint16 RXFFOVF:1; // 15 FIFO overflow
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SPIFFRX_REG в одной области памяти. */
union SPIFFRX_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SPIFFRX_BITS bit;; порядок полей определяет расположение данных. */
struct SPIFFRX_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//--------------------------------------------
// SPI FIFO control register bit definitions:
//
//
/* Описывает структуру SPIFFCT_BITS; порядок полей определяет расположение данных. */
struct SPIFFCT_BITS { // bits description
/* Битовое поле TXDLY, ширина 8 бит; данные TXDLY. */
Uint16 TXDLY:8; // 7:0 FIFO transmit delay
/* Битовое поле rsvd, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:8; // 15:8 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SPIFFCT_REG в одной области памяти. */
union SPIFFCT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SPIFFCT_BITS bit;; порядок полей определяет расположение данных. */
struct SPIFFCT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------
// SPI configuration register bit definitions:
//
//
/* Описывает структуру SPICCR_BITS; порядок полей определяет расположение данных. */
struct SPICCR_BITS { // bits description
/* Битовое поле SPICHAR, ширина 4 бит; данные SPICHAR. */
Uint16 SPICHAR:4; // 3:0 Character length control
/* Битовое поле SPILBK, ширина 1 бит; данные SPILBK. */
Uint16 SPILBK:1; // 4 Loop-back enable/disable
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 5 reserved
/* Битовое поле CLKPOLARITY, ширина 1 бит; данные CLKPOLARITY. */
Uint16 CLKPOLARITY:1; // 6 Clock polarity
/* Битовое поле SPISWRESET, ширина 1 бит; данные SPISWRESET. */
Uint16 SPISWRESET:1; // 7 SPI SW Reset
/* Битовое поле rsvd2, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:8; // 15:8 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SPICCR_REG в одной области памяти. */
union SPICCR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SPICCR_BITS bit;; порядок полей определяет расположение данных. */
struct SPICCR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//-------------------------------------------------
// SPI operation control register bit definitions:
//
//
/* Описывает структуру SPICTL_BITS; порядок полей определяет расположение данных. */
struct SPICTL_BITS { // bits description
/* Битовое поле SPIINTENA, ширина 1 бит; данные SPIINTENA. */
Uint16 SPIINTENA:1; // 0 Interrupt enable
/* Битовое поле TALK, ширина 1 бит; данные TALK. */
Uint16 TALK:1; // 1 Master/Slave transmit enable
/* Битовое поле MASTER_SLAVE, ширина 1 бит; данные MASTER_SLAVE. */
Uint16 MASTER_SLAVE:1; // 2 Network control mode
/* Битовое поле CLK_PHASE, ширина 1 бит; CLK фаза. */
Uint16 CLK_PHASE:1; // 3 Clock phase select
/* Битовое поле OVERRUNINTENA, ширина 1 бит; данные OVERRUNINTENA. */
Uint16 OVERRUNINTENA:1; // 4 Overrun interrupt enable
/* Битовое поле rsvd, ширина 11 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:11; // 15:5 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SPICTL_REG в одной области памяти. */
union SPICTL_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SPICTL_BITS bit;; порядок полей определяет расположение данных. */
struct SPICTL_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//--------------------------------------
// SPI status register bit definitions:
//
//
/* Описывает структуру SPISTS_BITS; порядок полей определяет расположение данных. */
struct SPISTS_BITS { // bits description
/* Битовое поле rsvd1, ширина 5 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:5; // 4:0 reserved
/* Битовое поле BUFFULL_FLAG, ширина 1 бит; BUFFULL флаг. */
Uint16 BUFFULL_FLAG:1; // 5 SPI transmit buffer full flag
/* Битовое поле INT_FLAG, ширина 1 бит; INT флаг. */
Uint16 INT_FLAG:1; // 6 SPI interrupt flag
/* Битовое поле OVERRUN_FLAG, ширина 1 бит; OVERRUN флаг. */
Uint16 OVERRUN_FLAG:1; // 7 SPI reciever overrun flag
/* Битовое поле rsvd2, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:8; // 15:8 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SPISTS_REG в одной области памяти. */
union SPISTS_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SPISTS_BITS bit;; порядок полей определяет расположение данных. */
struct SPISTS_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//------------------------------------------------
// SPI priority control register bit definitions:
//
//
/* Описывает структуру SPIPRI_BITS; порядок полей определяет расположение данных. */
struct SPIPRI_BITS { // bits description
/* Битовое поле rsvd1, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:4; // 3:0 reserved
/* Битовое поле FREE, ширина 1 бит; данные FREE. */
Uint16 FREE:1; // 4 Free emulation mode control
/* Битовое поле SOFT, ширина 1 бит; данные SOFT. */
Uint16 SOFT:1; // 5 Soft emulation mode control
/* Битовое поле rsvd2, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:1; // 6 reserved
/* Битовое поле rsvd3, ширина 9 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3:9; // 15:7 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений SPIPRI_REG в одной области памяти. */
union SPIPRI_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру SPIPRI_BITS bit;; порядок полей определяет расположение данных. */
struct SPIPRI_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// SPI Register File:
//
/* Описывает структуру SPI_REGS; порядок полей определяет расположение данных. */
struct SPI_REGS {
/* Объединяет несколько представлений SPICCR_REG SPICCR; в одной области памяти. */
union SPICCR_REG SPICCR; // Configuration register
/* Объединяет несколько представлений SPICTL_REG SPICTL; в одной области памяти. */
union SPICTL_REG SPICTL; // Operation control register
/* Объединяет несколько представлений SPISTS_REG SPISTS; в одной области памяти. */
union SPISTS_REG SPISTS; // Status register
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1; // reserved
/* Объявляет SPIBRR — данные SPIBRR. */
Uint16 SPIBRR; // Baud Rate
/* Объявляет rsvd2 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2; // reserved
/* Объявляет SPIRXEMU — данные SPIRXEMU. */
Uint16 SPIRXEMU; // Emulation buffer
/* Объявляет SPIRXBUF — данные SPIRXBUF. */
Uint16 SPIRXBUF; // Serial input buffer
/* Объявляет SPITXBUF — данные SPITXBUF. */
Uint16 SPITXBUF; // Serial output buffer
/* Объявляет SPIDAT — данные SPIDAT. */
Uint16 SPIDAT; // Serial data
/* Объединяет несколько представлений SPIFFTX_REG SPIFFTX; в одной области памяти. */
union SPIFFTX_REG SPIFFTX; // FIFO transmit register
/* Объединяет несколько представлений SPIFFRX_REG SPIFFRX; в одной области памяти. */
union SPIFFRX_REG SPIFFRX; // FIFO recieve register
/* Объединяет несколько представлений SPIFFCT_REG SPIFFCT; в одной области памяти. */
union SPIFFCT_REG SPIFFCT; // FIFO control register
/* Объявляет rsvd3 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3[2]; // reserved
/* Объединяет несколько представлений SPIPRI_REG SPIPRI; в одной области памяти. */
union SPIPRI_REG SPIPRI; // FIFO Priority control
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// SPI External References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern volatile struct SPI_REGS SpiaRegs;; порядок элементов сохраняется. */
extern volatile struct SPI_REGS SpiaRegs;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_SPI_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание SysCtrl для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/5 $
// Checkin $Date: May 12, 2008 09:34:58 $
//###########################################################################
@@ -11,12 +12,17 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_SYS_CTRL_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_SYS_CTRL_H
/* Определяет защитный символ или переключатель DSP2833x_SYS_CTRL_H для последующей компиляции. */
#define DSP2833x_SYS_CTRL_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
@@ -26,176 +32,310 @@ extern "C" {
// PLL Status Register
/* Описывает структуру PLLSTS_BITS; порядок полей определяет расположение данных. */
struct PLLSTS_BITS { // bits description
/* Битовое поле PLLLOCKS, ширина 1 бит; данные PLLLOCKS. */
Uint16 PLLLOCKS:1; // 0 PLL lock status
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 1 reserved
/* Битовое поле PLLOFF, ширина 1 бит; данные PLLOFF. */
Uint16 PLLOFF:1; // 2 PLL off bit
/* Битовое поле MCLKSTS, ширина 1 бит; данные MCLKSTS. */
Uint16 MCLKSTS:1; // 3 Missing clock status bit
/* Битовое поле MCLKCLR, ширина 1 бит; данные MCLKCLR. */
Uint16 MCLKCLR:1; // 4 Missing clock clear bit
/* Битовое поле OSCOFF, ширина 1 бит; данные OSCOFF. */
Uint16 OSCOFF:1; // 5 Oscillator clock off
/* Битовое поле MCLKOFF, ширина 1 бит; данные MCLKOFF. */
Uint16 MCLKOFF:1; // 6 Missing clock detect
/* Битовое поле DIVSEL, ширина 2 бит; данные DIVSEL. */
Uint16 DIVSEL:2; // 7 Divide Select
/* Битовое поле rsvd2, ширина 7 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:7; // 15:7 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений PLLSTS_REG в одной области памяти. */
union PLLSTS_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру PLLSTS_BITS bit;; порядок полей определяет расположение данных. */
struct PLLSTS_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// High speed peripheral clock register bit definitions:
/* Описывает структуру HISPCP_BITS; порядок полей определяет расположение данных. */
struct HISPCP_BITS { // bits description
/* Битовое поле HSPCLK, ширина 3 бит; данные HSPCLK. */
Uint16 HSPCLK:3; // 2:0 Rate relative to SYSCLKOUT
/* Битовое поле rsvd1, ширина 13 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:13; // 15:3 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений HISPCP_REG в одной области памяти. */
union HISPCP_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру HISPCP_BITS bit;; порядок полей определяет расположение данных. */
struct HISPCP_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// Low speed peripheral clock register bit definitions:
/* Описывает структуру LOSPCP_BITS; порядок полей определяет расположение данных. */
struct LOSPCP_BITS { // bits description
/* Битовое поле LSPCLK, ширина 3 бит; данные LSPCLK. */
Uint16 LSPCLK:3; // 2:0 Rate relative to SYSCLKOUT
/* Битовое поле rsvd1, ширина 13 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:13; // 15:3 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений LOSPCP_REG в одной области памяти. */
union LOSPCP_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру LOSPCP_BITS bit;; порядок полей определяет расположение данных. */
struct LOSPCP_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// Peripheral clock control register 0 bit definitions:
/* Описывает структуру PCLKCR0_BITS; порядок полей определяет расположение данных. */
struct PCLKCR0_BITS { // bits description
/* Битовое поле rsvd1, ширина 2 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:2; // 1:0 reserved
/* Битовое поле TBCLKSYNC, ширина 1 бит; данные TBCLKSYNC. */
Uint16 TBCLKSYNC:1; // 2 EWPM Module TBCLK enable/sync
/* Битовое поле ADCENCLK, ширина 1 бит; данные ADCENCLK. */
Uint16 ADCENCLK:1; // 3 Enable high speed clk to ADC
/* Битовое поле I2CAENCLK, ширина 1 бит; данные I2CAENCLK. */
Uint16 I2CAENCLK:1; // 4 Enable SYSCLKOUT to I2C-A
/* Битовое поле SCICENCLK, ширина 1 бит; данные SCICENCLK. */
Uint16 SCICENCLK:1; // 5 Enalbe low speed clk to SCI-C
/* Битовое поле rsvd2, ширина 2 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:2; // 7:6 reserved
/* Битовое поле SPIAENCLK, ширина 1 бит; данные SPIAENCLK. */
Uint16 SPIAENCLK:1; // 8 Enable low speed clk to SPI-A
/* Битовое поле rsvd3, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3:1; // 9 reserved
/* Битовое поле SCIAENCLK, ширина 1 бит; данные SCIAENCLK. */
Uint16 SCIAENCLK:1; // 10 Enable low speed clk to SCI-A
/* Битовое поле SCIBENCLK, ширина 1 бит; данные SCIBENCLK. */
Uint16 SCIBENCLK:1; // 11 Enable low speed clk to SCI-B
/* Битовое поле MCBSPAENCLK, ширина 1 бит; данные MCBSPAENCLK. */
Uint16 MCBSPAENCLK:1; // 12 Enable low speed clk to McBSP-A
/* Битовое поле MCBSPBENCLK, ширина 1 бит; данные MCBSPBENCLK. */
Uint16 MCBSPBENCLK:1; // 13 Enable low speed clk to McBSP-B
/* Битовое поле ECANAENCLK, ширина 1 бит; данные ECANAENCLK. */
Uint16 ECANAENCLK:1; // 14 Enable system clk to eCAN-A
/* Битовое поле ECANBENCLK, ширина 1 бит; данные ECANBENCLK. */
Uint16 ECANBENCLK:1; // 15 Enable system clk to eCAN-B
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений PCLKCR0_REG в одной области памяти. */
union PCLKCR0_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру PCLKCR0_BITS bit;; порядок полей определяет расположение данных. */
struct PCLKCR0_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// Peripheral clock control register 1 bit definitions:
/* Описывает структуру PCLKCR1_BITS; порядок полей определяет расположение данных. */
struct PCLKCR1_BITS { // bits description
/* Битовое поле EPWM1ENCLK, ширина 1 бит; данные EPWM1ENCLK. */
Uint16 EPWM1ENCLK:1; // 0 Enable SYSCLKOUT to EPWM1
/* Битовое поле EPWM2ENCLK, ширина 1 бит; данные EPWM2ENCLK. */
Uint16 EPWM2ENCLK:1; // 1 Enable SYSCLKOUT to EPWM2
/* Битовое поле EPWM3ENCLK, ширина 1 бит; данные EPWM3ENCLK. */
Uint16 EPWM3ENCLK:1; // 2 Enable SYSCLKOUT to EPWM3
/* Битовое поле EPWM4ENCLK, ширина 1 бит; данные EPWM4ENCLK. */
Uint16 EPWM4ENCLK:1; // 3 Enable SYSCLKOUT to EPWM4
/* Битовое поле EPWM5ENCLK, ширина 1 бит; данные EPWM5ENCLK. */
Uint16 EPWM5ENCLK:1; // 4 Enable SYSCLKOUT to EPWM5
/* Битовое поле EPWM6ENCLK, ширина 1 бит; данные EPWM6ENCLK. */
Uint16 EPWM6ENCLK:1; // 5 Enable SYSCLKOUT to EPWM6
/* Битовое поле rsvd1, ширина 2 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:2; // 7:6 reserved
/* Битовое поле ECAP1ENCLK, ширина 1 бит; данные ECAP1ENCLK. */
Uint16 ECAP1ENCLK:1; // 8 Enable SYSCLKOUT to ECAP1
/* Битовое поле ECAP2ENCLK, ширина 1 бит; данные ECAP2ENCLK. */
Uint16 ECAP2ENCLK:1; // 9 Enable SYSCLKOUT to ECAP2
/* Битовое поле ECAP3ENCLK, ширина 1 бит; данные ECAP3ENCLK. */
Uint16 ECAP3ENCLK:1; // 10 Enable SYSCLKOUT to ECAP3
/* Битовое поле ECAP4ENCLK, ширина 1 бит; данные ECAP4ENCLK. */
Uint16 ECAP4ENCLK:1; // 11 Enable SYSCLKOUT to ECAP4
/* Битовое поле ECAP5ENCLK, ширина 1 бит; данные ECAP5ENCLK. */
Uint16 ECAP5ENCLK:1; // 12 Enable SYSCLKOUT to ECAP5
/* Битовое поле ECAP6ENCLK, ширина 1 бит; данные ECAP6ENCLK. */
Uint16 ECAP6ENCLK:1; // 13 Enable SYSCLKOUT to ECAP6
/* Битовое поле EQEP1ENCLK, ширина 1 бит; данные EQEP1ENCLK. */
Uint16 EQEP1ENCLK:1; // 14 Enable SYSCLKOUT to EQEP1
/* Битовое поле EQEP2ENCLK, ширина 1 бит; данные EQEP2ENCLK. */
Uint16 EQEP2ENCLK:1; // 15 Enable SYSCLKOUT to EQEP2
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений PCLKCR1_REG в одной области памяти. */
union PCLKCR1_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру PCLKCR1_BITS bit;; порядок полей определяет расположение данных. */
struct PCLKCR1_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// Peripheral clock control register 2 bit definitions:
/* Описывает структуру PCLKCR3_BITS; порядок полей определяет расположение данных. */
struct PCLKCR3_BITS { // bits description
/* Битовое поле rsvd1, ширина 8 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:8; // 7:0 reserved
/* Битовое поле CPUTIMER0ENCLK, ширина 1 бит; данные CPUTIMER0ENCLK. */
Uint16 CPUTIMER0ENCLK:1; // 8 Enable SYSCLKOUT to CPU-Timer 0
/* Битовое поле CPUTIMER1ENCLK, ширина 1 бит; данные CPUTIMER1ENCLK. */
Uint16 CPUTIMER1ENCLK:1; // 9 Enable SYSCLKOUT to CPU-Timer 1
/* Битовое поле CPUTIMER2ENCLK, ширина 1 бит; данные CPUTIMER2ENCLK. */
Uint16 CPUTIMER2ENCLK:1; // 10 Enable SYSCLKOUT to CPU-Timer 2
/* Битовое поле DMAENCLK, ширина 1 бит; данные DMAENCLK. */
Uint16 DMAENCLK:1; // 11 Enable the DMA clock
/* Битовое поле XINTFENCLK, ширина 1 бит; данные XINTFENCLK. */
Uint16 XINTFENCLK:1; // 12 Enable SYSCLKOUT to XINTF
/* Битовое поле GPIOINENCLK, ширина 1 бит; аппаратная линия ввода/вывода GPIOINENCLK. */
Uint16 GPIOINENCLK:1; // Enable GPIO input clock
/* Битовое поле rsvd2, ширина 2 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:2; // 15:14 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений PCLKCR3_REG в одной области памяти. */
union PCLKCR3_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру PCLKCR3_BITS bit;; порядок полей определяет расположение данных. */
struct PCLKCR3_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// PLL control register bit definitions:
/* Описывает структуру PLLCR_BITS; порядок полей определяет расположение данных. */
struct PLLCR_BITS { // bits description
/* Битовое поле DIV, ширина 4 бит; данные DIV. */
Uint16 DIV:4; // 3:0 Set clock ratio for the PLL
/* Битовое поле rsvd1, ширина 12 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:12; // 15:4 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений PLLCR_REG в одной области памяти. */
union PLLCR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру PLLCR_BITS bit;; порядок полей определяет расположение данных. */
struct PLLCR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// Low Power Mode 0 control register bit definitions:
/* Описывает структуру LPMCR0_BITS; порядок полей определяет расположение данных. */
struct LPMCR0_BITS { // bits description
/* Битовое поле LPM, ширина 2 бит; данные LPM. */
Uint16 LPM:2; // 1:0 Set the low power mode
/* Битовое поле QUALSTDBY, ширина 6 бит; данные QUALSTDBY. */
Uint16 QUALSTDBY:6; // 7:2 Qualification
/* Битовое поле rsvd1, ширина 7 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:7; // 14:8 reserved
/* Битовое поле WDINTE, ширина 1 бит; данные WDINTE. */
Uint16 WDINTE:1; // 15 Enables WD to wake the device from STANDBY
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений LPMCR0_REG в одной области памяти. */
union LPMCR0_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру LPMCR0_BITS bit;; порядок полей определяет расположение данных. */
struct LPMCR0_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// Dual-mapping configuration register bit definitions:
/* Описывает структуру MAPCNF_BITS; порядок полей определяет расположение данных. */
struct MAPCNF_BITS { // bits description
/* Битовое поле MAPEPWM, ширина 1 бит; данные MAPEPWM. */
Uint16 MAPEPWM:1; // 0 EPWM dual-map enable
/* Битовое поле rsvd1, ширина 15 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:15; // 15:1 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений MAPCNF_REG в одной области памяти. */
union MAPCNF_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру MAPCNF_BITS bit;; порядок полей определяет расположение данных. */
struct MAPCNF_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// System Control Register File:
//
/* Описывает структуру SYS_CTRL_REGS; порядок полей определяет расположение данных. */
struct SYS_CTRL_REGS {
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1; // 0
/* Объединяет несколько представлений PLLSTS_REG PLLSTS; в одной области памяти. */
union PLLSTS_REG PLLSTS; // 1
/* Объявляет rsvd2 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2[8]; // 2-9
/* Объединяет несколько представлений HISPCP_REG HISPCP; в одной области памяти. */
union HISPCP_REG HISPCP; // 10: High-speed peripheral clock pre-scaler
/* Объединяет несколько представлений LOSPCP_REG LOSPCP; в одной области памяти. */
union LOSPCP_REG LOSPCP; // 11: Low-speed peripheral clock pre-scaler
/* Объединяет несколько представлений PCLKCR0_REG PCLKCR0; в одной области памяти. */
union PCLKCR0_REG PCLKCR0; // 12: Peripheral clock control register
/* Объединяет несколько представлений PCLKCR1_REG PCLKCR1; в одной области памяти. */
union PCLKCR1_REG PCLKCR1; // 13: Peripheral clock control register
/* Объединяет несколько представлений LPMCR0_REG LPMCR0; в одной области памяти. */
union LPMCR0_REG LPMCR0; // 14: Low-power mode control register 0
/* Объявляет rsvd3 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3; // 15: reserved
/* Объединяет несколько представлений PCLKCR3_REG PCLKCR3; в одной области памяти. */
union PCLKCR3_REG PCLKCR3; // 16: Peripheral clock control register
/* Объединяет несколько представлений PLLCR_REG PLLCR; в одной области памяти. */
union PLLCR_REG PLLCR; // 17: PLL control register
// No bit definitions are defined for SCSR because
// a read-modify-write instruction can clear the WDOVERRIDE bit
/* Объявляет SCSR — данные SCSR. */
Uint16 SCSR; // 18: System control and status register
/* Объявляет WDCNTR — данные WDCNTR. */
Uint16 WDCNTR; // 19: WD counter register
/* Объявляет rsvd4 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd4; // 20
/* Объявляет WDKEY — данные WDKEY. */
Uint16 WDKEY; // 21: WD reset key register
/* Объявляет rsvd5 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd5[3]; // 22-24
// No bit definitions are defined for WDCR because
// the proper value must be written to the WDCHK field
// whenever writing to this register.
/* Объявляет WDCR — данные WDCR. */
Uint16 WDCR; // 25: WD timer control register
/* Объявляет rsvd6 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd6[4]; // 26-29
/* Объединяет несколько представлений MAPCNF_REG MAPCNF; в одной области памяти. */
union MAPCNF_REG MAPCNF; // 30: Dual-mapping configuration register
/* Объявляет rsvd7 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd7[1]; // 31
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
@@ -205,176 +345,295 @@ struct SYS_CTRL_REGS {
/* ----------------------------------------------------*/
/* CSM Status & Control register bit definitions */
/* Описывает структуру CSMSCR_BITS; порядок полей определяет расположение данных. */
struct CSMSCR_BITS { // bit description
/* Битовое поле SECURE, ширина 1 бит; данные SECURE. */
Uint16 SECURE:1; // 0 Secure flag
/* Битовое поле rsvd1, ширина 14 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:14; // 14-1 reserved
/* Битовое поле FORCESEC, ширина 1 бит; данные FORCESEC. */
Uint16 FORCESEC:1; // 15 Force Secure control bit
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений CSMSCR_REG в одной области памяти. */
union CSMSCR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру CSMSCR_BITS bit;; порядок полей определяет расположение данных. */
struct CSMSCR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* CSM Register File */
/* Описывает структуру CSM_REGS; порядок полей определяет расположение данных. */
struct CSM_REGS {
/* Объявляет KEY0 — данные KEY0. */
Uint16 KEY0; // KEY reg bits 15-0
/* Объявляет KEY1 — данные KEY1. */
Uint16 KEY1; // KEY reg bits 31-16
/* Объявляет KEY2 — данные KEY2. */
Uint16 KEY2; // KEY reg bits 47-32
/* Объявляет KEY3 — данные KEY3. */
Uint16 KEY3; // KEY reg bits 63-48
/* Объявляет KEY4 — данные KEY4. */
Uint16 KEY4; // KEY reg bits 79-64
/* Объявляет KEY5 — данные KEY5. */
Uint16 KEY5; // KEY reg bits 95-80
/* Объявляет KEY6 — данные KEY6. */
Uint16 KEY6; // KEY reg bits 111-96
/* Объявляет KEY7 — данные KEY7. */
Uint16 KEY7; // KEY reg bits 127-112
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1; // reserved
/* Объявляет rsvd2 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2; // reserved
/* Объявляет rsvd3 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3; // reserved
/* Объявляет rsvd4 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd4; // reserved
/* Объявляет rsvd5 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd5; // reserved
/* Объявляет rsvd6 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd6; // reserved
/* Объявляет rsvd7 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd7; // reserved
/* Объединяет несколько представлений CSMSCR_REG CSMSCR; в одной области памяти. */
union CSMSCR_REG CSMSCR; // CSM Status & Control register
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Password locations */
/* Описывает структуру CSM_PWL; порядок полей определяет расположение данных. */
struct CSM_PWL {
/* Объявляет PSWD0 — данные PSWD0. */
Uint16 PSWD0; // PSWD bits 15-0
/* Объявляет PSWD1 — данные PSWD1. */
Uint16 PSWD1; // PSWD bits 31-16
/* Объявляет PSWD2 — данные PSWD2. */
Uint16 PSWD2; // PSWD bits 47-32
/* Объявляет PSWD3 — данные PSWD3. */
Uint16 PSWD3; // PSWD bits 63-48
/* Объявляет PSWD4 — данные PSWD4. */
Uint16 PSWD4; // PSWD bits 79-64
/* Объявляет PSWD5 — данные PSWD5. */
Uint16 PSWD5; // PSWD bits 95-80
/* Объявляет PSWD6 — данные PSWD6. */
Uint16 PSWD6; // PSWD bits 111-96
/* Объявляет PSWD7 — данные PSWD7. */
Uint16 PSWD7; // PSWD bits 127-112
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Flash Registers */
/* Задаёт FLASH_SLEEP = 0x0000;; данные FLASH_SLEEP. */
#define FLASH_SLEEP 0x0000;
/* Задаёт FLASH_STANDBY = 0x0001;; данные FLASH_STANDBY. */
#define FLASH_STANDBY 0x0001;
/* Задаёт FLASH_ACTIVE = 0x0003;; данные FLASH_ACTIVE. */
#define FLASH_ACTIVE 0x0003;
/* Flash Option Register bit definitions */
/* Описывает структуру FOPT_BITS; порядок полей определяет расположение данных. */
struct FOPT_BITS { // bit description
/* Битовое поле ENPIPE, ширина 1 бит; данные ENPIPE. */
Uint16 ENPIPE:1; // 0 Enable Pipeline Mode
/* Битовое поле rsvd, ширина 15 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:15; // 1-15 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений FOPT_REG в одной области памяти. */
union FOPT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру FOPT_BITS bit;; порядок полей определяет расположение данных. */
struct FOPT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Flash Power Modes Register bit definitions */
/* Описывает структуру FPWR_BITS; порядок полей определяет расположение данных. */
struct FPWR_BITS { // bit description
/* Битовое поле PWR, ширина 2 бит; данные PWR. */
Uint16 PWR:2; // 0-1 Power Mode bits
/* Битовое поле rsvd, ширина 14 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:14; // 2-15 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений FPWR_REG в одной области памяти. */
union FPWR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру FPWR_BITS bit;; порядок полей определяет расположение данных. */
struct FPWR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Flash Status Register bit definitions */
/* Описывает структуру FSTATUS_BITS; порядок полей определяет расположение данных. */
struct FSTATUS_BITS { // bit description
/* Битовое поле PWRS, ширина 2 бит; данные PWRS. */
Uint16 PWRS:2; // 0-1 Power Mode Status bits
/* Битовое поле STDBYWAITS, ширина 1 бит; данные STDBYWAITS. */
Uint16 STDBYWAITS:1; // 2 Bank/Pump Sleep to Standby Wait Counter Status bits
/* Битовое поле ACTIVEWAITS, ширина 1 бит; данные ACTIVEWAITS. */
Uint16 ACTIVEWAITS:1; // 3 Bank/Pump Standby to Active Wait Counter Status bits
/* Битовое поле rsvd1, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:4; // 4-7 reserved
/* Битовое поле V3STAT, ширина 1 бит; данные V3STAT. */
Uint16 V3STAT:1; // 8 VDD3V Status Latch bit
/* Битовое поле rsvd2, ширина 7 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:7; // 9-15 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений FSTATUS_REG в одной области памяти. */
union FSTATUS_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру FSTATUS_BITS bit;; порядок полей определяет расположение данных. */
struct FSTATUS_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Flash Sleep to Standby Wait Counter Register bit definitions */
/* Описывает структуру FSTDBYWAIT_BITS; порядок полей определяет расположение данных. */
struct FSTDBYWAIT_BITS { // bit description
/* Битовое поле STDBYWAIT, ширина 9 бит; данные STDBYWAIT. */
Uint16 STDBYWAIT:9; // 0-8 Bank/Pump Sleep to Standby Wait Count bits
/* Битовое поле rsvd, ширина 7 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:7; // 9-15 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений FSTDBYWAIT_REG в одной области памяти. */
union FSTDBYWAIT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру FSTDBYWAIT_BITS bit;; порядок полей определяет расположение данных. */
struct FSTDBYWAIT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Flash Standby to Active Wait Counter Register bit definitions */
/* Описывает структуру FACTIVEWAIT_BITS; порядок полей определяет расположение данных. */
struct FACTIVEWAIT_BITS { // bit description
/* Битовое поле ACTIVEWAIT, ширина 9 бит; данные ACTIVEWAIT. */
Uint16 ACTIVEWAIT:9; // 0-8 Bank/Pump Standby to Active Wait Count bits
/* Битовое поле rsvd, ширина 7 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:7; // 9-15 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений FACTIVEWAIT_REG в одной области памяти. */
union FACTIVEWAIT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру FACTIVEWAIT_BITS bit;; порядок полей определяет расположение данных. */
struct FACTIVEWAIT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Bank Read Access Wait State Register bit definitions */
/* Описывает структуру FBANKWAIT_BITS; порядок полей определяет расположение данных. */
struct FBANKWAIT_BITS { // bit description
/* Битовое поле RANDWAIT, ширина 4 бит; данные RANDWAIT. */
Uint16 RANDWAIT:4; // 0-3 Flash Random Read Wait State bits
/* Битовое поле rsvd1, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:4; // 4-7 reserved
/* Битовое поле PAGEWAIT, ширина 4 бит; данные PAGEWAIT. */
Uint16 PAGEWAIT:4; // 8-11 Flash Paged Read Wait State bits
/* Битовое поле rsvd2, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:4; // 12-15 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений FBANKWAIT_REG в одной области памяти. */
union FBANKWAIT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру FBANKWAIT_BITS bit;; порядок полей определяет расположение данных. */
struct FBANKWAIT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* OTP Read Access Wait State Register bit definitions */
/* Описывает структуру FOTPWAIT_BITS; порядок полей определяет расположение данных. */
struct FOTPWAIT_BITS { // bit description
/* Битовое поле OTPWAIT, ширина 5 бит; данные OTPWAIT. */
Uint16 OTPWAIT:5; // 0-4 OTP Read Wait State bits
/* Битовое поле rsvd, ширина 11 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:11; // 5-15 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Allow access to the bit fields or entire register */
/* Объединяет несколько представлений FOTPWAIT_REG в одной области памяти. */
union FOTPWAIT_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру FOTPWAIT_BITS bit;; порядок полей определяет расположение данных. */
struct FOTPWAIT_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру FLASH_REGS; порядок полей определяет расположение данных. */
struct FLASH_REGS {
/* Объединяет несколько представлений FOPT_REG FOPT; в одной области памяти. */
union FOPT_REG FOPT; // Option Register
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1; // reserved
/* Объединяет несколько представлений FPWR_REG FPWR; в одной области памяти. */
union FPWR_REG FPWR; // Power Modes Register
/* Объединяет несколько представлений FSTATUS_REG FSTATUS; в одной области памяти. */
union FSTATUS_REG FSTATUS; // Status Register
/* Объединяет несколько представлений FSTDBYWAIT_REG FSTDBYWAIT; в одной области памяти. */
union FSTDBYWAIT_REG FSTDBYWAIT; // Pump/Bank Sleep to Standby Wait State Register
/* Объединяет несколько представлений FACTIVEWAIT_REG FACTIVEWAIT; в одной области памяти. */
union FACTIVEWAIT_REG FACTIVEWAIT; // Pump/Bank Standby to Active Wait State Register
/* Объединяет несколько представлений FBANKWAIT_REG FBANKWAIT; в одной области памяти. */
union FBANKWAIT_REG FBANKWAIT; // Bank Read Access Wait State Register
/* Объединяет несколько представлений FOTPWAIT_REG FOTPWAIT; в одной области памяти. */
union FOTPWAIT_REG FOTPWAIT; // OTP Read Access Wait State Register
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// System Control External References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern volatile struct SYS_CTRL_REGS SysCtrlRegs;; порядок элементов сохраняется. */
extern volatile struct SYS_CTRL_REGS SysCtrlRegs;
/* Продолжает список аргументов, полей или выражение extern volatile struct CSM_REGS CsmRegs;; порядок элементов сохраняется. */
extern volatile struct CSM_REGS CsmRegs;
/* Продолжает список аргументов, полей или выражение extern volatile struct CSM_PWL CsmPwl;; порядок элементов сохраняется. */
extern volatile struct CSM_PWL CsmPwl;
/* Продолжает список аргументов, полей или выражение extern volatile struct FLASH_REGS FlashRegs;; порядок элементов сохраняется. */
extern volatile struct FLASH_REGS FlashRegs;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_SYS_CTRL_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание XIntrupt для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/1 $
// Checkin $Date: August 18, 2006 13:52:39 $
//###########################################################################
@@ -11,38 +12,63 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_XINTRUPT_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_XINTRUPT_H
/* Определяет защитный символ или переключатель DSP2833x_XINTRUPT_H для последующей компиляции. */
#define DSP2833x_XINTRUPT_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
//---------------------------------------------------------------------------
/* Описывает структуру XINTCR_BITS; порядок полей определяет расположение данных. */
struct XINTCR_BITS {
/* Битовое поле ENABLE, ширина 1 бит; разрешение. */
Uint16 ENABLE:1; // 0 enable/disable
/* Битовое поле rsvd1, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:1; // 1 reserved
/* Битовое поле POLARITY, ширина 2 бит; данные POLARITY. */
Uint16 POLARITY:2; // 3:2 pos/neg, both triggered
/* Битовое поле rsvd2, ширина 12 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:12; //15:4 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений XINTCR_REG в одной области памяти. */
union XINTCR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру XINTCR_BITS bit;; порядок полей определяет расположение данных. */
struct XINTCR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру XNMICR_BITS; порядок полей определяет расположение данных. */
struct XNMICR_BITS {
/* Битовое поле ENABLE, ширина 1 бит; разрешение. */
Uint16 ENABLE:1; // 0 enable/disable
/* Битовое поле SELECT, ширина 1 бит; выбор. */
Uint16 SELECT:1; // 1 Timer 1 or XNMI connected to int13
/* Битовое поле POLARITY, ширина 2 бит; данные POLARITY. */
Uint16 POLARITY:2; // 3:2 pos/neg, or both triggered
/* Битовое поле rsvd2, ширина 12 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:12; // 15:4 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений XNMICR_REG в одной области памяти. */
union XNMICR_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру XNMICR_BITS bit;; порядок полей определяет расположение данных. */
struct XNMICR_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
@@ -51,30 +77,48 @@ union XNMICR_REG {
//---------------------------------------------------------------------------
// External Interrupt Register File:
//
/* Описывает структуру XINTRUPT_REGS; порядок полей определяет расположение данных. */
struct XINTRUPT_REGS {
/* Объединяет несколько представлений XINTCR_REG XINT1CR; в одной области памяти. */
union XINTCR_REG XINT1CR;
/* Объединяет несколько представлений XINTCR_REG XINT2CR; в одной области памяти. */
union XINTCR_REG XINT2CR;
/* Объединяет несколько представлений XINTCR_REG XINT3CR; в одной области памяти. */
union XINTCR_REG XINT3CR;
/* Объединяет несколько представлений XINTCR_REG XINT4CR; в одной области памяти. */
union XINTCR_REG XINT4CR;
/* Объединяет несколько представлений XINTCR_REG XINT5CR; в одной области памяти. */
union XINTCR_REG XINT5CR;
/* Объединяет несколько представлений XINTCR_REG XINT6CR; в одной области памяти. */
union XINTCR_REG XINT6CR;
/* Объединяет несколько представлений XINTCR_REG XINT7CR; в одной области памяти. */
union XINTCR_REG XINT7CR;
/* Объединяет несколько представлений XNMICR_REG XNMICR; в одной области памяти. */
union XNMICR_REG XNMICR;
/* Объявляет XINT1CTR — данные XINT1CTR. */
Uint16 XINT1CTR;
/* Объявляет XINT2CTR — данные XINT2CTR. */
Uint16 XINT2CTR;
/* Объявляет rsvd — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd[5];
/* Объявляет XNMICTR — данные XNMICTR. */
Uint16 XNMICTR;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// External Interrupt References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern volatile struct XINTRUPT_REGS XIntruptRegs;; порядок элементов сохраняется. */
extern volatile struct XINTRUPT_REGS XIntruptRegs;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_XINTF_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание Xintf для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/3 $
// Checkin $Date: March 20, 2007 16:34:08 $
//###########################################################################
@@ -11,108 +12,184 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Начинает условие: DSP2833x_XINTF_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
#ifndef DSP2833x_XINTF_H
/* Определяет защитный символ или переключатель DSP2833x_XINTF_H для последующей компиляции. */
#define DSP2833x_XINTF_H
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Задаёт C-соглашение о связывании имён при включении заголовка из C++. */
extern "C" {
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// XINTF timing register bit definitions:
/* Описывает структуру XTIMING_BITS; порядок полей определяет расположение данных. */
struct XTIMING_BITS { // bits description
/* Битовое поле XWRTRAIL, ширина 2 бит; данные XWRTRAIL. */
Uint16 XWRTRAIL:2; // 1:0 Write access trail timing
/* Битовое поле XWRACTIVE, ширина 3 бит; данные XWRACTIVE. */
Uint16 XWRACTIVE:3; // 4:2 Write access active timing
/* Битовое поле XWRLEAD, ширина 2 бит; данные XWRLEAD. */
Uint16 XWRLEAD:2; // 6:5 Write access lead timing
/* Битовое поле XRDTRAIL, ширина 2 бит; данные XRDTRAIL. */
Uint16 XRDTRAIL:2; // 8:7 Read access trail timing
/* Битовое поле XRDACTIVE, ширина 3 бит; данные XRDACTIVE. */
Uint16 XRDACTIVE:3; // 11:9 Read access active timing
/* Битовое поле XRDLEAD, ширина 2 бит; данные XRDLEAD. */
Uint16 XRDLEAD:2; // 13:12 Read access lead timing
/* Битовое поле USEREADY, ширина 1 бит; данные USEREADY. */
Uint16 USEREADY:1; // 14 Extend access using HW waitstates
/* Битовое поле READYMODE, ширина 1 бит; данные READYMODE. */
Uint16 READYMODE:1; // 15 Ready mode
/* Битовое поле XSIZE, ширина 2 бит; данные XSIZE. */
Uint16 XSIZE:2; // 17:16 XINTF bus width - must be written as 11b
/* Битовое поле rsvd1, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:4; // 21:18 reserved
/* Битовое поле X2TIMING, ширина 1 бит; данные X2TIMING. */
Uint16 X2TIMING:1; // 22 Double lead/active/trail timing
/* Битовое поле rsvd3, ширина 9 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3:9; // 31:23 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений XTIMING_REG в одной области памяти. */
union XTIMING_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру XTIMING_BITS bit;; порядок полей определяет расположение данных. */
struct XTIMING_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// XINTF control register bit definitions:
/* Описывает структуру XINTCNF2_BITS; порядок полей определяет расположение данных. */
struct XINTCNF2_BITS { // bits description
/* Битовое поле WRBUFF, ширина 2 бит; данные WRBUFF. */
Uint16 WRBUFF:2; // 1:0 Write buffer depth
/* Битовое поле CLKMODE, ширина 1 бит; данные CLKMODE. */
Uint16 CLKMODE:1; // 2 Ratio for XCLKOUT with respect to XTIMCLK
/* Битовое поле CLKOFF, ширина 1 бит; данные CLKOFF. */
Uint16 CLKOFF:1; // 3 Disable XCLKOUT
/* Битовое поле rsvd1, ширина 2 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:2; // 5:4 reserved
/* Битовое поле WLEVEL, ширина 2 бит; данные WLEVEL. */
Uint16 WLEVEL:2; // 7:6 Current level of the write buffer
/* Битовое поле rsvd2, ширина 1 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2:1; // 8 reserved
/* Битовое поле HOLD, ширина 1 бит; данные HOLD. */
Uint16 HOLD:1; // 9 Hold enable/disable
/* Битовое поле HOLDS, ширина 1 бит; данные HOLDS. */
Uint16 HOLDS:1; // 10 Current state of HOLDn input
/* Битовое поле HOLDAS, ширина 1 бит; данные HOLDAS. */
Uint16 HOLDAS:1; // 11 Current state of HOLDAn output
/* Битовое поле rsvd3, ширина 4 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3:4; // 15:12 reserved
/* Битовое поле XTIMCLK, ширина 3 бит; данные XTIMCLK. */
Uint16 XTIMCLK:3; // 18:16 Ratio for XTIMCLK
/* Битовое поле rsvd4, ширина 13 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd4:13; // 31:19 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений XINTCNF2_REG в одной области памяти. */
union XINTCNF2_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint32 all;
/* Описывает структуру XINTCNF2_BITS bit;; порядок полей определяет расположение данных. */
struct XINTCNF2_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// XINTF bank switching register bit definitions:
/* Описывает структуру XBANK_BITS; порядок полей определяет расположение данных. */
struct XBANK_BITS { // bits description
/* Битовое поле BANK, ширина 3 бит; данные BANK. */
Uint16 BANK:3; // 2:0 Zone for which banking is enabled
/* Битовое поле BCYC, ширина 3 бит; данные BCYC. */
Uint16 BCYC:3; // 5:3 XTIMCLK cycles to add
/* Битовое поле rsvd, ширина 10 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd:10; // 15:6 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений XBANK_REG в одной области памяти. */
union XBANK_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру XBANK_BITS bit;; порядок полей определяет расположение данных. */
struct XBANK_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру XRESET_BITS; порядок полей определяет расположение данных. */
struct XRESET_BITS {
/* Битовое поле XHARDRESET, ширина 1 бит; данные XHARDRESET. */
Uint16 XHARDRESET:1;
/* Битовое поле rsvd1, ширина 15 бит; зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1:15;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Объединяет несколько представлений XRESET_REG в одной области памяти. */
union XRESET_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру XBANK_BITS bit;; порядок полей определяет расположение данных. */
struct XBANK_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// XINTF Register File:
//
/* Описывает структуру XINTF_REGS; порядок полей определяет расположение данных. */
struct XINTF_REGS {
/* Объединяет несколько представлений XTIMING_REG XTIMING0; в одной области памяти. */
union XTIMING_REG XTIMING0;
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint32 rsvd1[5];
/* Объединяет несколько представлений XTIMING_REG XTIMING6; в одной области памяти. */
union XTIMING_REG XTIMING6;
/* Объединяет несколько представлений XTIMING_REG XTIMING7; в одной области памяти. */
union XTIMING_REG XTIMING7;
/* Объявляет rsvd2 — зарезервированные биты для сохранения аппаратного расположения. */
Uint32 rsvd2[2];
/* Объединяет несколько представлений XINTCNF2_REG XINTCNF2; в одной области памяти. */
union XINTCNF2_REG XINTCNF2;
/* Объявляет rsvd3 — зарезервированные биты для сохранения аппаратного расположения. */
Uint32 rsvd3;
/* Объединяет несколько представлений XBANK_REG XBANK; в одной области памяти. */
union XBANK_REG XBANK;
/* Объявляет rsvd4 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd4;
/* Объявляет XREVISION — данные XREVISION. */
Uint16 XREVISION;
/* Объявляет rsvd5 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd5[2];
/* Объединяет несколько представлений XRESET_REG XRESET; в одной области памяти. */
union XRESET_REG XRESET;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// XINTF External References & Function Declarations:
//
/* Продолжает список аргументов, полей или выражение extern volatile struct XINTF_REGS XintfRegs;; порядок элементов сохраняется. */
extern volatile struct XINTF_REGS XintfRegs;
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
#endif /* extern "C" */
#endif /* extern "C" */ /* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif // end of DSP2833x_XINTF_H definition
//===========================================================================

View File

@@ -1,3 +1,4 @@
/* Поставляемое TI описание GlobalVariableDefs для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/4 $
// Checkin $Date: June 2, 2008 11:12:33 $
//###########################################################################
@@ -11,421 +12,722 @@
// $Release Date: August 1, 2008 $
//###########################################################################
/* Подключает "DSP2833x_Device.h": поставляемое TI описание Device для семейства C2833x. */
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
//---------------------------------------------------------------------------
// Define Global Peripheral Variables:
//
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("AdcRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("AdcRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(AdcRegs,"AdcRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(AdcRegs,"AdcRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct ADC_REGS AdcRegs;; порядок элементов сохраняется. */
volatile struct ADC_REGS AdcRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("AdcMirrorFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("AdcMirrorFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(AdcMirror,"AdcMirrorFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(AdcMirror,"AdcMirrorFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct ADC_RESULT_MIRROR_REGS AdcMirror;; порядок элементов сохраняется. */
volatile struct ADC_RESULT_MIRROR_REGS AdcMirror;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("CpuTimer0RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("CpuTimer0RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(CpuTimer0Regs,"CpuTimer0RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(CpuTimer0Regs,"CpuTimer0RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct CPUTIMER_REGS CpuTimer0Regs;; порядок элементов сохраняется. */
volatile struct CPUTIMER_REGS CpuTimer0Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("CpuTimer1RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("CpuTimer1RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(CpuTimer1Regs,"CpuTimer1RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(CpuTimer1Regs,"CpuTimer1RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct CPUTIMER_REGS CpuTimer1Regs;; порядок элементов сохраняется. */
volatile struct CPUTIMER_REGS CpuTimer1Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("CpuTimer2RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("CpuTimer2RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(CpuTimer2Regs,"CpuTimer2RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(CpuTimer2Regs,"CpuTimer2RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct CPUTIMER_REGS CpuTimer2Regs;; порядок элементов сохраняется. */
volatile struct CPUTIMER_REGS CpuTimer2Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("CsmPwlFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("CsmPwlFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(CsmPwl,"CsmPwlFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(CsmPwl,"CsmPwlFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct CSM_PWL CsmPwl;; порядок элементов сохраняется. */
volatile struct CSM_PWL CsmPwl;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("CsmRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("CsmRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(CsmRegs,"CsmRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(CsmRegs,"CsmRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct CSM_REGS CsmRegs;; порядок элементов сохраняется. */
volatile struct CSM_REGS CsmRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("DevEmuRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("DevEmuRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(DevEmuRegs,"DevEmuRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(DevEmuRegs,"DevEmuRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct DEV_EMU_REGS DevEmuRegs;; порядок элементов сохраняется. */
volatile struct DEV_EMU_REGS DevEmuRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("DmaRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("DmaRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(DmaRegs,"DmaRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(DmaRegs,"DmaRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct DMA_REGS DmaRegs;; порядок элементов сохраняется. */
volatile struct DMA_REGS DmaRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ECanaRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ECanaRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ECanaRegs,"ECanaRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ECanaRegs,"ECanaRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct ECAN_REGS ECanaRegs;; порядок элементов сохраняется. */
volatile struct ECAN_REGS ECanaRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ECanaMboxesFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ECanaMboxesFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ECanaMboxes,"ECanaMboxesFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ECanaMboxes,"ECanaMboxesFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct ECAN_MBOXES ECanaMboxes;; порядок элементов сохраняется. */
volatile struct ECAN_MBOXES ECanaMboxes;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ECanaLAMRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ECanaLAMRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ECanaLAMRegs,"ECanaLAMRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ECanaLAMRegs,"ECanaLAMRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct LAM_REGS ECanaLAMRegs;; порядок элементов сохраняется. */
volatile struct LAM_REGS ECanaLAMRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ECanaMOTSRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ECanaMOTSRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ECanaMOTSRegs,"ECanaMOTSRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ECanaMOTSRegs,"ECanaMOTSRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct MOTS_REGS ECanaMOTSRegs;; порядок элементов сохраняется. */
volatile struct MOTS_REGS ECanaMOTSRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ECanaMOTORegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ECanaMOTORegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ECanaMOTORegs,"ECanaMOTORegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ECanaMOTORegs,"ECanaMOTORegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct MOTO_REGS ECanaMOTORegs;; порядок элементов сохраняется. */
volatile struct MOTO_REGS ECanaMOTORegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ECanbRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ECanbRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ECanbRegs,"ECanbRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ECanbRegs,"ECanbRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct ECAN_REGS ECanbRegs;; порядок элементов сохраняется. */
volatile struct ECAN_REGS ECanbRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ECanbMboxesFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ECanbMboxesFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ECanbMboxes,"ECanbMboxesFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ECanbMboxes,"ECanbMboxesFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct ECAN_MBOXES ECanbMboxes;; порядок элементов сохраняется. */
volatile struct ECAN_MBOXES ECanbMboxes;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ECanbLAMRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ECanbLAMRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ECanbLAMRegs,"ECanbLAMRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ECanbLAMRegs,"ECanbLAMRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct LAM_REGS ECanbLAMRegs;; порядок элементов сохраняется. */
volatile struct LAM_REGS ECanbLAMRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ECanbMOTSRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ECanbMOTSRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ECanbMOTSRegs,"ECanbMOTSRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ECanbMOTSRegs,"ECanbMOTSRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct MOTS_REGS ECanbMOTSRegs;; порядок элементов сохраняется. */
volatile struct MOTS_REGS ECanbMOTSRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ECanbMOTORegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ECanbMOTORegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ECanbMOTORegs,"ECanbMOTORegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ECanbMOTORegs,"ECanbMOTORegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct MOTO_REGS ECanbMOTORegs;; порядок элементов сохраняется. */
volatile struct MOTO_REGS ECanbMOTORegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("EPwm1RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("EPwm1RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(EPwm1Regs,"EPwm1RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(EPwm1Regs,"EPwm1RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct EPWM_REGS EPwm1Regs;; порядок элементов сохраняется. */
volatile struct EPWM_REGS EPwm1Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("EPwm2RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("EPwm2RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(EPwm2Regs,"EPwm2RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(EPwm2Regs,"EPwm2RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct EPWM_REGS EPwm2Regs;; порядок элементов сохраняется. */
volatile struct EPWM_REGS EPwm2Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("EPwm3RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("EPwm3RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(EPwm3Regs,"EPwm3RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(EPwm3Regs,"EPwm3RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct EPWM_REGS EPwm3Regs;; порядок элементов сохраняется. */
volatile struct EPWM_REGS EPwm3Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("EPwm4RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("EPwm4RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(EPwm4Regs,"EPwm4RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(EPwm4Regs,"EPwm4RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct EPWM_REGS EPwm4Regs;; порядок элементов сохраняется. */
volatile struct EPWM_REGS EPwm4Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("EPwm5RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("EPwm5RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(EPwm5Regs,"EPwm5RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(EPwm5Regs,"EPwm5RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct EPWM_REGS EPwm5Regs;; порядок элементов сохраняется. */
volatile struct EPWM_REGS EPwm5Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("EPwm6RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("EPwm6RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(EPwm6Regs,"EPwm6RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(EPwm6Regs,"EPwm6RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct EPWM_REGS EPwm6Regs;; порядок элементов сохраняется. */
volatile struct EPWM_REGS EPwm6Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ECap1RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ECap1RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ECap1Regs,"ECap1RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ECap1Regs,"ECap1RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct ECAP_REGS ECap1Regs;; порядок элементов сохраняется. */
volatile struct ECAP_REGS ECap1Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ECap2RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ECap2RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ECap2Regs,"ECap2RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ECap2Regs,"ECap2RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct ECAP_REGS ECap2Regs;; порядок элементов сохраняется. */
volatile struct ECAP_REGS ECap2Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ECap3RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ECap3RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ECap3Regs,"ECap3RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ECap3Regs,"ECap3RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct ECAP_REGS ECap3Regs;; порядок элементов сохраняется. */
volatile struct ECAP_REGS ECap3Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ECap4RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ECap4RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ECap4Regs,"ECap4RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ECap4Regs,"ECap4RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct ECAP_REGS ECap4Regs;; порядок элементов сохраняется. */
volatile struct ECAP_REGS ECap4Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ECap5RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ECap5RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ECap5Regs,"ECap5RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ECap5Regs,"ECap5RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct ECAP_REGS ECap5Regs;; порядок элементов сохраняется. */
volatile struct ECAP_REGS ECap5Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ECap6RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ECap6RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ECap6Regs,"ECap6RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ECap6Regs,"ECap6RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct ECAP_REGS ECap6Regs;; порядок элементов сохраняется. */
volatile struct ECAP_REGS ECap6Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("EQep1RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("EQep1RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(EQep1Regs,"EQep1RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(EQep1Regs,"EQep1RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct EQEP_REGS EQep1Regs;; порядок элементов сохраняется. */
volatile struct EQEP_REGS EQep1Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("EQep2RegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("EQep2RegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(EQep2Regs,"EQep2RegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(EQep2Regs,"EQep2RegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct EQEP_REGS EQep2Regs;; порядок элементов сохраняется. */
volatile struct EQEP_REGS EQep2Regs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("GpioCtrlRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("GpioCtrlRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(GpioCtrlRegs,"GpioCtrlRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(GpioCtrlRegs,"GpioCtrlRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct GPIO_CTRL_REGS GpioCtrlRegs;; порядок элементов сохраняется. */
volatile struct GPIO_CTRL_REGS GpioCtrlRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("GpioDataRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("GpioDataRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(GpioDataRegs,"GpioDataRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(GpioDataRegs,"GpioDataRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct GPIO_DATA_REGS GpioDataRegs;; порядок элементов сохраняется. */
volatile struct GPIO_DATA_REGS GpioDataRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("GpioIntRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("GpioIntRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(GpioIntRegs,"GpioIntRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(GpioIntRegs,"GpioIntRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct GPIO_INT_REGS GpioIntRegs;; порядок элементов сохраняется. */
volatile struct GPIO_INT_REGS GpioIntRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("I2caRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("I2caRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(I2caRegs,"I2caRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(I2caRegs,"I2caRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct I2C_REGS I2caRegs;; порядок элементов сохраняется. */
volatile struct I2C_REGS I2caRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("McbspaRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("McbspaRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(McbspaRegs,"McbspaRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(McbspaRegs,"McbspaRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct MCBSP_REGS McbspaRegs;; порядок элементов сохраняется. */
volatile struct MCBSP_REGS McbspaRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("McbspbRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("McbspbRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(McbspbRegs,"McbspbRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(McbspbRegs,"McbspbRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct MCBSP_REGS McbspbRegs;; порядок элементов сохраняется. */
volatile struct MCBSP_REGS McbspbRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("PartIdRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("PartIdRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(PartIdRegs,"PartIdRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(PartIdRegs,"PartIdRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct PARTID_REGS PartIdRegs;; порядок элементов сохраняется. */
volatile struct PARTID_REGS PartIdRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("PieCtrlRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("PieCtrlRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(PieCtrlRegs,"PieCtrlRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(PieCtrlRegs,"PieCtrlRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct PIE_CTRL_REGS PieCtrlRegs;; порядок элементов сохраняется. */
volatile struct PIE_CTRL_REGS PieCtrlRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("PieVectTableFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("PieVectTableFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(PieVectTable,"PieVectTableFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(PieVectTable,"PieVectTableFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Описывает структуру PIE_VECT_TABLE PieVectTable;; порядок полей определяет расположение данных. */
struct PIE_VECT_TABLE PieVectTable;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("SciaRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("SciaRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(SciaRegs,"SciaRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(SciaRegs,"SciaRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct SCI_REGS SciaRegs;; порядок элементов сохраняется. */
volatile struct SCI_REGS SciaRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ScibRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ScibRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ScibRegs,"ScibRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ScibRegs,"ScibRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct SCI_REGS ScibRegs;; порядок элементов сохраняется. */
volatile struct SCI_REGS ScibRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("ScicRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("ScicRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(ScicRegs,"ScicRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(ScicRegs,"ScicRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct SCI_REGS ScicRegs;; порядок элементов сохраняется. */
volatile struct SCI_REGS ScicRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("SpiaRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("SpiaRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(SpiaRegs,"SpiaRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(SpiaRegs,"SpiaRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct SPI_REGS SpiaRegs;; порядок элементов сохраняется. */
volatile struct SPI_REGS SpiaRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("SysCtrlRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("SysCtrlRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(SysCtrlRegs,"SysCtrlRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(SysCtrlRegs,"SysCtrlRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct SYS_CTRL_REGS SysCtrlRegs;; порядок элементов сохраняется. */
volatile struct SYS_CTRL_REGS SysCtrlRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("FlashRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("FlashRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(FlashRegs,"FlashRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(FlashRegs,"FlashRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct FLASH_REGS FlashRegs;; порядок элементов сохраняется. */
volatile struct FLASH_REGS FlashRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("XIntruptRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("XIntruptRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(XIntruptRegs,"XIntruptRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(XIntruptRegs,"XIntruptRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct XINTRUPT_REGS XIntruptRegs;; порядок элементов сохраняется. */
volatile struct XINTRUPT_REGS XIntruptRegs;
//----------------------------------------
/* Включает следующий блок только при определённом символе __cplusplus. */
#ifdef __cplusplus
/* Указание компилятору DATA_SECTION("XintfRegsFile"): размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION("XintfRegsFile")
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Указание компилятору DATA_SECTION(XintfRegs,"XintfRegsFile");: размещение данных или настройка обработки объявлений. */
#pragma DATA_SECTION(XintfRegs,"XintfRegsFile");
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение volatile struct XINTF_REGS XintfRegs;; порядок элементов сохраняется. */
volatile struct XINTF_REGS XintfRegs;

View File

@@ -1,43 +1,74 @@
/* Настройка АЦП, обработка преобразований и первичная фильтрация измерений. Русские пояснения сохранены в UTF-8. */
/* Подключает "DSP2833x_Device.h": поставляемое TI описание Device для семейства C2833x. */
#include "DSP2833x_Device.h" // DSP281x Headerfile Include File
/* Подключает "DSP2833x_Examples.h": поставляемое TI описание Examples для семейства C2833x. */
#include "DSP2833x_Examples.h" // DSP281x Examples Include File
/* Подключает "DSP2833x_SWPrioritizedIsrLevels.h": поставляемое TI описание SWPrioritizedIsrLevels для семейства C2833x. */
#include "DSP2833x_SWPrioritizedIsrLevels.h"
/* Подключает "ADC.h": настройка АЦП, обработка преобразований и первичная фильтрация измерений. */
#include "ADC.h"
/* Подключает "log_to_mem.h": двухбанковый регистратор событий нагрузки во внешней RAM. */
#include "log_to_mem.h"
/* Подключает "RS485.h": приём и передача SCI-A/SCI-B, упаковка команд и FIFO первого порта. */
#include "RS485.h"
/* Подключает "filter_bat2.h": накопительный фильтр измерительных каналов. */
#include "filter_bat2.h"
/* Подключает "measure.h": обработка датчиков, вычисление величин и миллисекундный такт системы. */
#include "measure.h"
/* Подключает "message.h": обработка Modbus, заводские параметры и сохранение настроек. */
#include "message.h"
/* Подключает "package.h": адреса устройств, типы плат и псевдонимы технологических регистров. */
#include "package.h"
/* Подключает "peripher.h": перемычки режима платы, дискретные входы и выходы. */
#include "peripher.h"
/* Объявляет adc_table_lem — АЦП table lem. */
Uint16 adc_table_lem[4];
Uint16 ADC_table[28]; // Ïîòîìó ÷òî +4 êàëèáð
/* Объявляет ADC_table — АЦП table. */
Uint16 ADC_table[28]; // Потому что +4 калибр
/* Объявляет prev_ok — данные prev_ok. */
Uint16 prev_ok[28];
/* Объявляет COUNT_ONE_CANAL — число ONE CANAL. */
unsigned int COUNT_ONE_CANAL;
/* Объявляет COUNT_DISCHARGE — число DISCHARGE. */
unsigned int COUNT_DISCHARGE;
/* Объявляет COUNT_TRANSICIA — число TRANSICIA. */
unsigned int COUNT_TRANSICIA;
/* Объявляет FILTER_CLIP — данные FILTER_CLIP. */
unsigned int FILTER_CLIP;
/* Объявляет WAKE — данные WAKE; WAKE_TIME — данные WAKE_TIME. */
long WAKE, WAKE_TIME;
// Prototype statements for functions found within this file.
/* Принимает результаты последовательности АЦП и обновляет измерительные фильтры в прерывании. */
interrupt void adc_isr(void);
/* Настраивает каналы, последовательность преобразований и запуск АЦП. */
void setup_adc()
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Объявляет CLKdiv — данные CLKdiv; HSPCLKdiv — данные HSPCLKdiv; Rate — данные Rate. */
long CLKdiv,HSPCLKdiv,Rate;
/* Объявляет i — данные i. */
int i;
/* Условие компиляции (CPU_FRQ_150MHZ): выбранный блок включается в текущий вариант прошивки. */
#if (CPU_FRQ_150MHZ) // Default - 150 MHz SYSCLKOUT
/* Задаёт ADC_MODCLK = 0x3; АЦП MODCLK. */
#define ADC_MODCLK 0x3 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*3) = 25.0 MHz
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Условие компиляции (CPU_FRQ_100MHZ): выбранный блок включается в текущий вариант прошивки. */
#if (CPU_FRQ_100MHZ)
/* Задаёт ADC_MODCLK = 0x2; АЦП MODCLK. */
#define ADC_MODCLK 0x2 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 100/(2*2) = 25.0 MHz
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
// Specific clock setting for this example:
@@ -47,247 +78,438 @@ void setup_adc()
// Interrupts that are used in this example are re-mapped to
// ISR functions found within this file.
/* Разрешение записи в защищённые регистры периферии. */
EALLOW; // This is needed to write to EALLOW protected register
/* Записывает PieVectTable.ADCINT значением &adc_isr; данные ADCINT. */
PieVectTable.ADCINT = &adc_isr;
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS; // This is needed to disable write to EALLOW protected registers
/* Инициализирует модуль вызовом InitAdc(); перед его дальнейшим использованием. */
InitAdc(); // For this example, init the ADC
// Enable ADCINT in PIE
/* Записывает PieCtrlRegs.PIEIER1.bit.INTx6 значением 1; данные INTx6. */
PieCtrlRegs.PIEIER1.bit.INTx6 = 1;
/* Устанавливает биты IER значением M_INT1; регистр разрешения прерываний ядра C28x. */
IER |= M_INT1; // Enable CPU Interrupt 1
// EINT; // Enable Global interrupt INTM
// ERTM; // Enable Global realtime interrupt DBGM
/* Цикл for(i=0;i<28;i++); задаёт начальное значение, условие продолжения и шаг перебора. */
for(i=0;i<28;i++)
/* Записывает ADC_table[i] значением ; АЦП table. */
ADC_table[i]=
/* Записывает prev_ok[i] значением 0; данные prev_ok. */
prev_ok[i] = 0;
// Configure ADC
/* Проверяет if(Desk==dsk_LOAD); последующий оператор выполняется только при истинном условии. */
if(Desk==dsk_LOAD)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает AdcRegs.ADCMAXCONV.bit.MAX_CONV1 значением 0x0005; данные MAX_CONV1. */
AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 0x0005; // Setup 2 conv's on SEQ1
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x3; // òåìïåðàòóðà (êîòîðîé íåò)
AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x1; // îìåãà
AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x5; // íàïðóãà 1
AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0x4; // íàïðóãà 2
AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 0x7; // òîê 1
AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 0x2; // òîê 2
/* Записывает AdcRegs.ADCCHSELSEQ1.bit.CONV00 значением 0x3; данные CONV00. */
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x3; // температура (которой нет)
/* Записывает AdcRegs.ADCCHSELSEQ1.bit.CONV01 значением 0x1; данные CONV01. */
AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x1; // омега
/* Записывает AdcRegs.ADCCHSELSEQ1.bit.CONV02 значением 0x5; данные CONV02. */
AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x5; // напруга 1
/* Записывает AdcRegs.ADCCHSELSEQ1.bit.CONV03 значением 0x4; данные CONV03. */
AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0x4; // напруга 2
/* Записывает AdcRegs.ADCCHSELSEQ2.bit.CONV04 значением 0x7; данные CONV04. */
AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 0x7; // ток 1
/* Записывает AdcRegs.ADCCHSELSEQ2.bit.CONV05 значением 0x2; данные CONV05. */
AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 0x2; // ток 2
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Проверяет if(Desk==dsk_BKST); последующий оператор выполняется только при истинном условии. */
if(Desk==dsk_BKST)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает AdcRegs.ADCMAXCONV.bit.MAX_CONV1 значением 0x0002; данные MAX_CONV1. */
AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 0x0002; // Setup 2 conv's on SEQ1
/* Записывает AdcRegs.ADCCHSELSEQ1.bit.CONV00 значением 0x0; данные CONV00. */
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; //0x5;//0x7; // Setup ADCINA3 as 1st SEQ1 conv.
/* Записывает AdcRegs.ADCCHSELSEQ1.bit.CONV01 значением 0x1; данные CONV01. */
AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x1; //0x4;// Setup ADCINA2 as 2nd SEQ1 conv.
/* Записывает AdcRegs.ADCCHSELSEQ1.bit.CONV02 значением 0x2; данные CONV02. */
AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x2; //0x4;// Setup ADCINA2 as 2nd SEQ1 conv.
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Проверяет if(Desk==dsk_COMM); последующий оператор выполняется только при истинном условии. */
if(Desk==dsk_COMM)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает AdcRegs.ADCMAXCONV.bit.MAX_CONV1 значением 0x0006; данные MAX_CONV1. */
AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 0x0006; // Setup 2 conv's on SEQ1
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x5; // ñíà÷àëà òîæå áóäóò òåìïåðàòóðû
/* Записывает AdcRegs.ADCCHSELSEQ1.bit.CONV00 значением 0x5; данные CONV00. */
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x5; // сначала тоже будут температуры
/* Записывает AdcRegs.ADCCHSELSEQ1.bit.CONV01 значением 0x4; данные CONV01. */
AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x4; // Setup ADCINA2 as 2nd SEQ1 conv.
/* Записывает AdcRegs.ADCCHSELSEQ1.bit.CONV02 значением 0x7; данные CONV02. */
AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x7; // Setup ADCINA2 as 2nd SEQ1 conv.
/* Записывает AdcRegs.ADCCHSELSEQ1.bit.CONV03 значением 0x2; данные CONV03. */
AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0x2; // Setup ADCINA2 as 2nd SEQ1 conv.
/* Записывает AdcRegs.ADCCHSELSEQ2.bit.CONV04 значением 0x3; данные CONV04. */
AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 0x3; // Setup ADCINA2 as 2nd SEQ1 conv.
/* Записывает AdcRegs.ADCCHSELSEQ2.bit.CONV05 значением 0x6; данные CONV05. */
AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 0x6; // Setup ADCINA2 as 2nd SEQ1 conv.
/* Записывает AdcRegs.ADCCHSELSEQ2.bit.CONV06 значением 0x1; данные CONV06. */
AdcRegs.ADCCHSELSEQ2.bit.CONV06 = 0x1; // Setup ADCINA2 as 2nd SEQ1 conv.
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Проверяет if(Desk==dsk_BKSD); последующий оператор выполняется только при истинном условии. */
if(Desk==dsk_BKSD)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает AdcRegs.ADCMAXCONV.bit.MAX_CONV1 значением 0x0000; данные MAX_CONV1. */
AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 0x0000; // Setup 2 conv's on SEQ1
/* Записывает AdcRegs.ADCCHSELSEQ1.bit.CONV00 значением 0x0; данные CONV00. */
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; // Setup ADCINA3 as 1st SEQ1 conv.
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Проверяет if(Desk==dsk_SHKF); последующий оператор выполняется только при истинном условии. */
if(Desk==dsk_SHKF)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает AdcRegs.ADCMAXCONV.bit.MAX_CONV1 значением 0x000F; данные MAX_CONV1. */
AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 0x000F; // Setup 2 conv's on SEQ1
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x2; // 380Â Ô1
AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x3; // 380Â Ô2
AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x6; // 31Â Ô1
AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0xC; // 31Â Ô2 ?
AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 0xA; // 31Â UC1
AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 0xB; // 31Â UC2
AdcRegs.ADCCHSELSEQ2.bit.CONV06 = 0x7; // 24Â ÏÓ
AdcRegs.ADCCHSELSEQ2.bit.CONV07 = 0x4; // 24Â ÏÓ
/* Записывает AdcRegs.ADCCHSELSEQ1.bit.CONV00 значением 0x2; данные CONV00. */
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x2; // 380В Ф1
/* Записывает AdcRegs.ADCCHSELSEQ1.bit.CONV01 значением 0x3; данные CONV01. */
AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x3; // 380В Ф2
/* Записывает AdcRegs.ADCCHSELSEQ1.bit.CONV02 значением 0x6; данные CONV02. */
AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x6; // 31В Ф1
/* Записывает AdcRegs.ADCCHSELSEQ1.bit.CONV03 значением 0xC; данные CONV03. */
AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0xC; // 31В Ф2 ?
/* Записывает AdcRegs.ADCCHSELSEQ2.bit.CONV04 значением 0xA; данные CONV04. */
AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 0xA; // 31В UC1
/* Записывает AdcRegs.ADCCHSELSEQ2.bit.CONV05 значением 0xB; данные CONV05. */
AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 0xB; // 31В UC2
/* Записывает AdcRegs.ADCCHSELSEQ2.bit.CONV06 значением 0x7; данные CONV06. */
AdcRegs.ADCCHSELSEQ2.bit.CONV06 = 0x7; // 24В ПУ
/* Записывает AdcRegs.ADCCHSELSEQ2.bit.CONV07 значением 0x4; данные CONV07. */
AdcRegs.ADCCHSELSEQ2.bit.CONV07 = 0x4; // 24В ПУ
AdcRegs.ADCCHSELSEQ3.bit.CONV08 = 0x5; // 24Â ÏÊ áûëî 5
AdcRegs.ADCCHSELSEQ3.bit.CONV09 = 0x1; // 15Â Äð
AdcRegs.ADCCHSELSEQ3.bit.CONV10 = 0xE; // +24Â Äò
AdcRegs.ADCCHSELSEQ3.bit.CONV11 = 0x0; // +24Â Äò
AdcRegs.ADCCHSELSEQ4.bit.CONV12 = 0x8; // -24Â Äò áûëî 8
/* Записывает AdcRegs.ADCCHSELSEQ3.bit.CONV08 значением 0x5; данные CONV08. */
AdcRegs.ADCCHSELSEQ3.bit.CONV08 = 0x5; // 24В ПК было 5
/* Записывает AdcRegs.ADCCHSELSEQ3.bit.CONV09 значением 0x1; данные CONV09. */
AdcRegs.ADCCHSELSEQ3.bit.CONV09 = 0x1; // 15В Др
/* Записывает AdcRegs.ADCCHSELSEQ3.bit.CONV10 значением 0xE; данные CONV10. */
AdcRegs.ADCCHSELSEQ3.bit.CONV10 = 0xE; // +24В Дт
/* Записывает AdcRegs.ADCCHSELSEQ3.bit.CONV11 значением 0x0; данные CONV11. */
AdcRegs.ADCCHSELSEQ3.bit.CONV11 = 0x0; // +24В Дт
/* Записывает AdcRegs.ADCCHSELSEQ4.bit.CONV12 значением 0x8; данные CONV12. */
AdcRegs.ADCCHSELSEQ4.bit.CONV12 = 0x8; // -24В Дт было 8
AdcRegs.ADCCHSELSEQ4.bit.CONV13 = 0xF;//0xF; // ÄÒ° 1
AdcRegs.ADCCHSELSEQ4.bit.CONV14 = 0xD;//0xD; // ÄÒ° 2
/* Записывает AdcRegs.ADCCHSELSEQ4.bit.CONV13 значением 0xF; данные CONV13. */
AdcRegs.ADCCHSELSEQ4.bit.CONV13 = 0xF;//0xF; // ДТ° 1
/* Записывает AdcRegs.ADCCHSELSEQ4.bit.CONV14 значением 0xD; данные CONV14. */
AdcRegs.ADCCHSELSEQ4.bit.CONV14 = 0xD;//0xD; // ДТ° 2
/* Записывает AdcRegs.ADCCHSELSEQ4.bit.CONV15 значением 0x9; данные CONV15. */
AdcRegs.ADCCHSELSEQ4.bit.CONV15 = 0x9;//0x9;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Записывает AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1 значением 1; данные EPWM_SOCA_SEQ1. */
AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1 = 1;// Enable SOCA from ePWM to start SEQ1
/* Записывает AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 значением 1; данные INT_ENA_SEQ1. */
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; // Enable SEQ1 interrupt (every EOS)
/* Записывает AdcRegs.ADCST.bit.INT_SEQ1_CLR значением 1; данные INT_SEQ1_CLR. */
AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; // Clear INT SEQ1 bit
/* Записывает AdcRegs.ADCTRL1.bit.SEQ_CASC значением 1; данные SEQ_CASC. */
AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; // 1 Cascaded mode
/* Записывает AdcRegs.ADCTRL1.bit.CONT_RUN значением 0; данные CONT_RUN. */
AdcRegs.ADCTRL1.bit.CONT_RUN=0;
/* Записывает AdcRegs.ADCTRL1.bit.ACQ_PS значением 15; данные ACQ_PS. */
AdcRegs.ADCTRL1.bit.ACQ_PS = 15;
//AdcRegs.ADCTRL1.bit.CPS=1;
/* Записывает AdcRegs.ADCTRL2.bit.RST_SEQ1 значением 1; данные RST_SEQ1. */
AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; // Reset SEQ1
/* Записывает PieCtrlRegs.PIEACK.all значением PIEACK_GROUP1; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // Acknowledge interrupt to PIE
// Assumes ePWM1 clock is already enabled in InitSysCtrl();
/* Записывает EPwm1Regs.ETSEL.bit.SOCAEN значением 1; данные SOCAEN. */
EPwm1Regs.ETSEL.bit.SOCAEN = 1; // Enable SOC on A group
/* Записывает EPwm1Regs.ETSEL.bit.SOCASEL значением 4; данные SOCASEL. */
EPwm1Regs.ETSEL.bit.SOCASEL = 4; // Select SOC from from CPMA on upcount
/* Записывает EPwm1Regs.ETPS.bit.SOCAPRD значением 1; данные SOCAPRD. */
EPwm1Regs.ETPS.bit.SOCAPRD = 1; // Generate pulse on 1st event
/* Записывает EPwm1Regs.CMPA.half.CMPA значением 0x0080; данные CMPA. */
EPwm1Regs.CMPA.half.CMPA = 0x0080; // Set compare A value
/* Записывает EPwm1Regs.TBCTL.bit.HSPCLKDIV значением CLKMULT; данные HSPCLKDIV. */
EPwm1Regs.TBCTL.bit.HSPCLKDIV = CLKMULT;
/* Записывает EPwm1Regs.TBCTL.bit.CLKDIV значением 2; данные CLKDIV. */
EPwm1Regs.TBCTL.bit.CLKDIV=2;
/* Записывает CLKdiv значением 1<<EPwm1Regs.TBCTL.bit.CLKDIV; данные CLKdiv. */
CLKdiv = 1<<EPwm1Regs.TBCTL.bit.CLKDIV;
/* Проверяет if(EPwm1Regs.TBCTL.bit.HSPCLKDIV) HSPCLKdiv = 2*EPwm1Regs.TBCTL.bit.HSPCLKDIV; последующий оператор выполняется только при истинном условии. */
if(EPwm1Regs.TBCTL.bit.HSPCLKDIV) HSPCLKdiv = 2*EPwm1Regs.TBCTL.bit.HSPCLKDIV;
/* Выполняет альтернативу, если предыдущее условие if оказалось ложным. */
else HSPCLKdiv = 1;
/* Записывает Rate значением (SYSCLKOUT/(HSPCLKdiv*CLKdiv))/ADC_FREQ; данные Rate. */
Rate = (SYSCLKOUT/(HSPCLKdiv*CLKdiv))/ADC_FREQ;
/* Записывает EPwm1Regs.TBPRD значением Rate; данные TBPRD. */
EPwm1Regs.TBPRD = Rate; // Set period for ePWM1
/* Записывает EPwm1Regs.TBCTL.bit.CTRMODE значением 0; данные CTRMODE. */
EPwm1Regs.TBCTL.bit.CTRMODE = 0; // count up and start
/* Записывает WAKE_TIME значением 2L * ADC_FREQ; данные WAKE_TIME. */
WAKE_TIME =2L * ADC_FREQ; // dsk_LOAD;
/* Проверяет if(Desk==dsk_BKSD); последующий оператор выполняется только при истинном условии. */
if(Desk==dsk_BKSD)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает COUNT_ONE_CANAL значением ADC_FREQ/250; число ONE CANAL. */
COUNT_ONE_CANAL = ADC_FREQ/250; // 15
/* Записывает COUNT_DISCHARGE значением 4; число DISCHARGE. */
COUNT_DISCHARGE = 4;
/* Записывает COUNT_TRANSICIA значением 9; число TRANSICIA. */
COUNT_TRANSICIA = 9;
/* Записывает FILTER_CLIP значением 20; данные FILTER_CLIP. */
FILTER_CLIP = 20;//40;
/* Записывает WAKE_TIME значением 7L * ADC_FREQ; данные WAKE_TIME. */
WAKE_TIME =7L * ADC_FREQ;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Проверяет if(Desk==dsk_BKST); последующий оператор выполняется только при истинном условии. */
if(Desk==dsk_BKST)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает COUNT_ONE_CANAL значением ADC_FREQ/350; число ONE CANAL. */
COUNT_ONE_CANAL = ADC_FREQ/350; // 10
/* Записывает COUNT_DISCHARGE значением 1; число DISCHARGE. */
COUNT_DISCHARGE = 1;
/* Записывает COUNT_TRANSICIA значением 4; число TRANSICIA. */
COUNT_TRANSICIA = 4;
/* Записывает FILTER_CLIP значением 20; данные FILTER_CLIP. */
FILTER_CLIP = 20;//40;
/* Записывает WAKE_TIME значением 3L * ADC_FREQ; данные WAKE_TIME. */
WAKE_TIME =3L * ADC_FREQ;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Проверяет if(TermoAD); последующий оператор выполняется только при истинном условии. */
if(TermoAD)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает COUNT_ONE_CANAL значением ADC_FREQ/15; число ONE CANAL. */
COUNT_ONE_CANAL = ADC_FREQ/15; // 250;
/* Записывает COUNT_DISCHARGE значением ADC_FREQ/145; число DISCHARGE. */
COUNT_DISCHARGE = ADC_FREQ/145; // 25;
/* Записывает COUNT_TRANSICIA значением ADC_FREQ/25; число TRANSICIA. */
COUNT_TRANSICIA = ADC_FREQ/25; // 150;
/* Записывает FILTER_CLIP значением 20; данные FILTER_CLIP. */
FILTER_CLIP = 20;//200;
/* Записывает WAKE_TIME значением 3L * ADC_FREQ; данные WAKE_TIME. */
WAKE_TIME =3L * ADC_FREQ;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Проверяет if(Desk==dsk_LOAD); последующий оператор выполняется только при истинном условии. */
if(Desk==dsk_LOAD)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает WAKE_TIME значением 10L * ADC_FREQ; данные WAKE_TIME. */
WAKE_TIME =10L * ADC_FREQ;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Проверяет if(Desk==dsk_SHKF); последующий оператор выполняется только при истинном условии. */
if(Desk==dsk_SHKF)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает WAKE_TIME значением 1L * ADC_FREQ; данные WAKE_TIME. */
WAKE_TIME =1L * ADC_FREQ;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Записывает WAKE значением WAKE_TIME; данные WAKE. */
WAKE = WAKE_TIME;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Принимает результаты последовательности АЦП и обновляет измерительные фильтры в прерывании. */
interrupt void adc_isr(void)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Объявляет cownt_one_canal — данные cownt_one_canal. Начальное значение задаётся справа от знака равенства. */
static int cownt_one_canal=0;
/* Объявляет cownt_cans — данные cownt_cans. Начальное значение задаётся справа от знака равенства. */
static int cownt_cans=0;
/* Объявляет code_tpl_canal — данные code_tpl_canal. Начальное значение задаётся справа от знака равенства. */
int code_tpl_canal=0;
/* Объявляет Temper — данные Temper; Filter — данные Filter. */
float Temper,Filter;
/* Объявляет i — данные i; n — данные n. */
int i,n;
/* Объявляет ok — данные ok; cwnt_ok — данные cwnt_ok. Начальное значение задаётся справа от знака равенства. */
static int ok, cwnt_ok[2]={0,0};
// Set interrupt priority:
/* Объявляет TempPIEIER — сохранённая маска разрешённых прерываний группы PIE. volatile требует фактического чтения или записи при каждом доступе. Начальное значение задаётся справа от знака равенства. */
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all;
/* Устанавливает биты IER значением M_INT1; регистр разрешения прерываний ядра C28x. */
IER |= M_INT1;
/* Оставляет биты маски IER значением MINT1; регистр разрешения прерываний ядра C28x. */
IER &= MINT1; // Set "global" priority
/* Оставляет биты маски PieCtrlRegs.PIEIER1.all значением MG11; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all &= MG11;//16; // Set "group" priority
/* Записывает PieCtrlRegs.PIEACK.all значением 0xFFFF; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
/* Разрешение маскируемых прерываний ядра. */
EINT;
/* Проверяет if(WAKE) WAKE--; последующий оператор выполняется только при истинном условии. */
if(WAKE) WAKE--;
/* Проверяет if(!READY) goto fin; последующий оператор выполняется только при истинном условии. */
if(!READY) goto fin;
/* Проверяет if(Caliber_time); последующий оператор выполняется только при истинном условии. */
if(Caliber_time)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Проверяет if(!--Caliber_time); последующий оператор выполняется только при истинном условии. */
if(!--Caliber_time)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает cTermoCal значением 0; данные cTermoCal. */
cTermoCal = 0;
/* Записывает cSaveParam значением 1; данные cSaveParam. */
cSaveParam = 1;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
} }
/* Проверяет if(Kurrent); последующий оператор выполняется только при истинном условии. */
if(Kurrent)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Цикл for(i=0;i<4;i++); задаёт начальное значение, условие продолжения и шаг перебора. */
for(i=0;i<4;i++)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает adc_table_lem[i] значением *((&AdcRegs.ADCRESULT0)+i+2) >>4; Current_count(i); АЦП table lem. */
adc_table_lem[i] = *((&AdcRegs.ADCRESULT0)+i+2) >>4; Current_count(i);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
} }
/* Проверяет if(Desk==dsk_LOAD); последующий оператор выполняется только при истинном условии. */
if(Desk==dsk_LOAD)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает Temper значением AdcRegs.ADCRESULT1 >> 4; данные Temper. */
Temper = AdcRegs.ADCRESULT1 >> 4;
/* Записывает modbus[0x63] значением Temper; массив технологических регистров; слово int на C28x занимает 16 бит. */
modbus[0x63] = Temper;
/* Записывает Temper значением filterbat(&adc_filter[0],Temper); данные Temper. */
Temper = filterbat(&adc_filter[0],Temper);
/* Записывает modbus[0x1D] значением (Temper-DAC_04)/(DAC_20-DAC_04)*(200-40)+40; массив технологических регистров; слово int на C28x занимает 16 бит. */
modbus[0x1D] = (Temper-DAC_04)/(DAC_20-DAC_04)*(200-40)+40;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Проверяет if(Desk==dsk_SHKF); последующий оператор выполняется только при истинном условии. */
if(Desk==dsk_SHKF)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Цикл for(i=0;i<CLKMULT*3;); задаёт начальное значение, условие продолжения и шаг перебора. */
for(i=0;i<CLKMULT*3;)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Проверяет if (++cownt_cans>=tpl_cans) cownt_cans=0; последующий оператор выполняется только при истинном условии. */
if (++cownt_cans>=tpl_cans) cownt_cans=0;
// Èìåííî çäåñü íåò äûð
// Именно здесь нет дыр
// if(sens_type[cownt_cans])
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Изменяет счётчик в выражении i++; на один для следующего шага. */
i++;
/* Записывает Temper значением *(&AdcRegs.ADCRESULT0 + cownt_cans) >>4; данные Temper. */
Temper= *(&AdcRegs.ADCRESULT0 + cownt_cans) >>4;
/* Записывает ADC_table[cownt_cans] значением filterbat(&adc_filter[cownt_cans],Temper); АЦП table. */
ADC_table[cownt_cans]=filterbat(&adc_filter[cownt_cans],Temper);
/* Проверяет if(sens_type[cownt_cans]==TERMO_AD) Temper_count(cownt_cans,0); последующий оператор выполняется только при истинном условии. */
if(sens_type[cownt_cans]==TERMO_AD) Temper_count(cownt_cans,0);
/* Выполняет альтернативу, если предыдущее условие if оказалось ложным. */
else Power_count(cownt_cans);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
} } }
/* Проверяет if(TermoSW); последующий оператор выполняется только при истинном условии. */
if(TermoSW)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Проверяет if(cownt_one_canal==COUNT_DISCHARGE); последующий оператор выполняется только при истинном условии. */
if(cownt_one_canal==COUNT_DISCHARGE)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает code_tpl_canal значением cownt_cans; данные code_tpl_canal. */
code_tpl_canal = cownt_cans;
/* Проверяет if(TermoAD); последующий оператор выполняется только при истинном условии. */
if(TermoAD)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Проверяет if(cownt_cans == TPL_CANS ) code_tpl_canal = TERMOPAIR-1; последующий оператор выполняется только при истинном условии. */
if(cownt_cans == TPL_CANS ) code_tpl_canal = TERMOPAIR-1;
if(cownt_cans == TPL_CANS+1) code_tpl_canal = TERMOPAIR-2; // ïîòîìó ÷òî 300 è 400 íàîáîðîò
/* Проверяет if(cownt_cans == TPL_CANS+1) code_tpl_canal = TERMOPAIR-2; последующий оператор выполняется только при истинном условии. */
if(cownt_cans == TPL_CANS+1) code_tpl_canal = TERMOPAIR-2; // потому что 300 и 400 наоборот
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Вызывает select_tpl_canal с аргументами (code_tpl_canal) в текущей последовательности операций. */
select_tpl_canal(code_tpl_canal);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Проверяет if(cownt_one_canal > COUNT_TRANSICIA); последующий оператор выполняется только при истинном условии. */
if(cownt_one_canal > COUNT_TRANSICIA)
/* Цикл for(i=0;i<TermoSW;i++); задаёт начальное значение, условие продолжения и шаг перебора. */
for(i=0;i<TermoSW;i++)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает n значением TermoSW*cownt_cans+i; данные n. */
n = TermoSW*cownt_cans+i;
/* Записывает Temper значением *(&AdcRegs.ADCRESULT0 + i) >>4; данные Temper. */
Temper = *(&AdcRegs.ADCRESULT0 + i) >>4;
/* Записывает ok значением abs(ADC_table[n]-Temper) < FILTER_CLIP; данные ok. */
ok = abs(ADC_table[n]-Temper) < FILTER_CLIP;
/* Проверяет if(ok) cwnt_ok[i]++; последующий оператор выполняется только при истинном условии. */
if(ok) cwnt_ok[i]++;
/* Проверяет if(ok|!prev_ok[n]); последующий оператор выполняется только при истинном условии. */
if(ok|!prev_ok[n])
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает Filter значением filterbat(&adc_filter[n],Temper); данные Filter. */
Filter = filterbat(&adc_filter[n],Temper);
/* Проверяет if(WAKE)ADC_table[n] = Temper; последующий оператор выполняется только при истинном условии. */
if(WAKE)ADC_table[n] = Temper;
/* Выполняет альтернативу, если предыдущее условие if оказалось ложным. */
else ADC_table[n] = Filter;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/*
if(cownt_cans == TPL_CANS)
@@ -303,36 +525,59 @@ for(i=0;i<1;i++)
}
}
*/
/* Проверяет if(++cownt_one_canal>=COUNT_ONE_CANAL); последующий оператор выполняется только при истинном условии. */
if(++cownt_one_canal>=COUNT_ONE_CANAL)
/* Записывает cownt_one_canal значением 0; данные cownt_one_canal. */
{ cownt_one_canal=0;
/* Вызывает select_tpl_255 с аргументами () в текущей последовательности операций. */
select_tpl_255();
/* Цикл for(i=0;i<TermoSW;i++); задаёт начальное значение, условие продолжения и шаг перебора. */
for(i=0;i<TermoSW;i++)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Записывает n значением TermoSW*cownt_cans+i; данные n. */
n = TermoSW*cownt_cans+i;
/* Вызывает Temper_count с аргументами (n,0) в текущей последовательности операций. */
Temper_count(n,0);
/* Записывает prev_ok[n] значением cwnt_ok[i]; данные prev_ok. */
prev_ok[n] = cwnt_ok[i];
/* Записывает cwnt_ok[i] значением 0; данные cwnt_ok. */
cwnt_ok[i] = 0;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Проверяет if(++cownt_cans >= TPL_CANS+2); последующий оператор выполняется только при истинном условии. */
if(++cownt_cans >= TPL_CANS+2)
/* Записывает cownt_cans значением 0; данные cownt_cans. */
{ cownt_cans=0;
/* Цикл for(i=0;i<Owen;i++); задаёт начальное значение, условие продолжения и шаг перебора. */
for(i=0;i<Owen;i++)
/* Вызывает Temper_count с аргументами (tpl_cans+i,1) в текущей последовательности операций. */
Temper_count(tpl_cans+i,1);
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
} } }
/* Метка fin для перехода внутри функции. */
fin:
// Reinitialize for next ADC sequence
/* Записывает AdcRegs.ADCTRL2.bit.RST_SEQ1 значением 1; данные RST_SEQ1. */
AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; // Reset SEQ1
/* Записывает AdcRegs.ADCST.bit.INT_SEQ1_CLR значением 1; данные INT_SEQ1_CLR. */
AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; // Clear INT SEQ1 bit
/* Записывает PieCtrlRegs.PIEACK.all значением PIEACK_GROUP1; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // Acknowledge interrupt to PIE
// Restore registers saved:
/* Запрет маскируемых прерываний ядра. */
DINT;
/* Записывает PieCtrlRegs.PIEIER1.all значением TempPIEIER; представление регистра целым словом без разбиения на битовые поля. */
PieCtrlRegs.PIEIER1.all = TempPIEIER;
/* Завершает adc_isr без возвращаемого значения. */
return;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}

File diff suppressed because one or more lines are too long

View File

@@ -1,8 +1,13 @@
/* Настройка АЦП, обработка преобразований и первичная фильтрация измерений. Русские пояснения сохранены в UTF-8. */
/* Объявляет adc_table_lem — АЦП table lem. Память определена в другом модуле. */
extern Uint16 adc_table_lem[];
/* Объявляет ADC_table — АЦП table. Память определена в другом модуле. */
extern Uint16 ADC_table[];
/* Настраивает каналы, последовательность преобразований и запуск АЦП. */
void setup_adc(void);
/* Объявляет WAKE — данные WAKE; WAKE_TIME — данные WAKE_TIME. Память определена в другом модуле. */
extern long WAKE,WAKE_TIME;

View File

@@ -1,18 +1,30 @@
/* Выход ЦАП и автомат защиты нагрузки с проверкой напряжения и свежести CAN. Русские пояснения сохранены в UTF-8. */
/* В такте Timer1 проверяет команды, напряжение и давность CAN; управляет STOP, повторным пуском и током ЦАП. */
void Load_runner(void);
/* Объявляет интерфейс функции Anal_output; реализация вызывается через этот прототип. */
void Anal_output(long vrot, long maxx);
/* Объявляет интерфейс функции Init_DAC; реализация вызывается через этот прототип. */
void Init_DAC(void);
/* Вычисляет такты ЦАП; для недопустимого сохранённого тайм-аута CAN возвращает 600 мс. */
void Setup_DAC_time(void);
/* Счётчик пускового импульса и выдержки инициализации доступны логгеру. */
/* Счётчик пускового импульса и выдержки инициализации доступны логгеру. */
/* Объявляет IMPowse — данные IMPowse; WAKEpowse — данные WAKEpowse. Память определена в другом модуле. */
extern unsigned long IMPowse, WAKEpowse;
/* Объявляет period_dac — период ЦАП; time_dac — time ЦАП. Память определена в другом модуле. */
extern unsigned int period_dac, time_dac;
/* Call once before IRQ; complete technological CAN packets update voltage. */
/* Сбрасывает все переменные автомата нагрузки до разрешения прерываний; COFF не обнуляет всю .ebss. */
void Load_control_init(void);
/* Принимает напряжение выбранной нагрузки из достоверных слов CAN и сбрасывает возраст только нужного измерения. */
void Load_voltage_can(unsigned int header, unsigned int a,
/* Объявляет b — данные b. */
unsigned int b, unsigned int c);
/* 0x1300/8 words: signature, version, simulation, timeout, status, attempts,
* voltage, age. Only 0x1302 (simulation) and 0x1303 (timeout) are writable. */
/* Фиксирует управляющие входы перед выполнением автомата защиты нагрузки. */
unsigned int Load_protection_prepare(unsigned int function, unsigned int address,
/* Объявляет value — данные value; out — данные out. Хранит указатель на данные. */
unsigned int value, unsigned int *out, unsigned int *error);

Some files were not shown because too many files have changed in this diff Show More