Сохранить русские комментарии и настройки проекта в 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 $
@@ -16,24 +17,24 @@
/* ======================================================
// For Code Composer Studio V2.2 and later
// ---------------------------------------
// In addition to this memory linker command file,
// add the header linker command file directly to the project.
// In addition to this memory linker command file,
// add the header linker command file directly to the project.
// The header linker command file is required to link the
// peripheral structures to the proper locations within
// peripheral structures to the proper locations within
// the memory map.
//
// The header linker files are found in <base>\DSP2833x_Headers\cmd
//
//
// For BIOS applications add: DSP2833x_Headers_BIOS.cmd
// For nonBIOS applications add: DSP2833x_Headers_nonBIOS.cmd
// For nonBIOS applications add: DSP2833x_Headers_nonBIOS.cmd
========================================================= */
/* ======================================================
// For Code Composer Studio prior to V2.2
// --------------------------------------
// 1) Use one of the following -l statements to include the
// 1) Use one of the following -l statements to include the
// header linker command file in the project. The header linker
// file is required to link the peripheral structures to the proper
// file is required to link the peripheral structures to the proper
// locations within the memory map */
/* Uncomment this line to include file only for non-BIOS applications */
@@ -43,29 +44,29 @@
/* -l DSP2833x_Headers_BIOS.cmd */
/* 2) In your project add the path to <base>\DSP2833x_headers\cmd to the
library search path under project->build options, linker tab,
library search path under project->build options, linker tab,
library search path (-i).
/*========================================================= */
/* Define the memory block start/length for the F28335
/* Define the memory block start/length for the F28335
PAGE 0 will be used to organize program sections
PAGE 1 will be used to organize data sections
Notes:
Notes:
Memory blocks on F28335 are uniform (ie same
physical memory) in both PAGE 0 and PAGE 1.
physical memory) in both PAGE 0 and PAGE 1.
That is the same memory region should not be
defined for both PAGE 0 and PAGE 1.
Doing so will result in corruption of program
and/or data.
Doing so will result in corruption of program
and/or data.
L0/L1/L2 and L3 memory blocks are mirrored - that is
they can be accessed in high memory or low memory.
For simplicity only one instance is used in this
linker file.
Contiguous SARAM memory blocks can be combined
if required to create a larger memory block.
linker file.
Contiguous SARAM memory blocks can be combined
if required to create a larger memory block.
*/
@@ -73,142 +74,179 @@
* 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 */
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 */
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. */
PAGE 1 : /* Data Memory */
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 */ /* Выбирает страницу адресного пространства линкера: 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.
Note:
codestart user defined section in DSP28_CodeStartBranch.asm used to redirect code
codestart user defined section in DSP28_CodeStartBranch.asm used to redirect code
execution when booting to flash
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
ramfuncs : LOAD = RAML4,
RUN = RAML4,
/* Записывает 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
.switch : > RAML4 PAGE = 0
/* Записывает PAGE значением 0; данные PAGE. */
.switch : > RAML4 PAGE = 0
/* Allocate IQ math areas: */
IQmath : > FLASHC PAGE = 0 /* Math Code */
IQmathTables : > IQTABLES, PAGE = 0, TYPE = NOLOAD
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()
functions from the IQMath.lib library in order to utilize the
relevant IQ Math table in Boot ROM (This saves space and Boot ROM
functions from the IQMath.lib library in order to utilize the
relevant IQ Math table in Boot ROM (This saves space and Boot ROM
is 1 wait-state). If this section is not uncommented, IQmathTables2
will be loaded into other memory (SARAM, Flash, etc.) and will take
up space, but 0 wait-state is possible.
*/
/*
IQmathTables2 : > IQTABLES2, PAGE = 0, TYPE = NOLOAD
IQmathTables2 : > IQTABLES2, PAGE = 0, TYPE = NOLOAD
{
IQmath.lib<IQNexpTable.obj> (IQmathTablesRam)
}
*/
FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD
/* Записывает PAGE значением 0, TYPE = NOLOAD; данные PAGE. */
FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD
/* Allocate DMA-accessible RAM sections: * /
DMARAML4 : > RAML4, PAGE = 1
DMARAML5 : > RAML5, PAGE = 1
/* DMARAML6 : > RAML6, PAGE = 1
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 */
/* .reset is a standard section used by the compiler. It contains the */
/* the address of the start of _c_int00 for C Code. /*
/* When using the boot ROM this section and the CPU vector */
/* table is not needed. Thus the default type is set here to */
/* DSECT */
/* 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,135 +12,223 @@
// $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
//---------------------------------------------------------------------------
// Default Interrupt Service Routine Declarations:
//
// The following function prototypes are for the
//
// The following function prototypes are for the
// default ISR routines used with the default PIE vector table.
// This default vector table is found in the DSP2833x_PieVect.h
// file.
// This default vector table is found in the DSP2833x_PieVect.h
// file.
//
// 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:
// 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:
// Group 11 PIE Interrupt Service Routines:
// Group 12 PIE Interrupt Service Routines:
// 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 $
//###########################################################################
@@ -5,135 +6,212 @@
// FILE: DSP2833x_EPwm_defines.h
//
// TITLE: #defines used in ePWM examples examples
//
//
//###########################################################################
// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $
// $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 $
;;###########################################################################
@@ -8,7 +9,7 @@
;;
;; Functions:
;;
;; _ADC_cal - Copies device specific calibration data into ADCREFSEL and ADCOFFTRIM registers
;; _ADC_cal - Copies device specific calibration data into ADCREFSEL and ADCOFFTRIM registers
;; Notes:
;;
;;###########################################################################
@@ -16,27 +17,35 @@
;; $Release Date: August 1, 2008 $
;;###########################################################################
; Экспортирует символ для связывания с C-кодом. Операция: .def _ADC_cal.
.def _ADC_cal
; Задаёт текстовый псевдоним константы для ассемблера. Операция: .asg "0x711C", ADCREFSEL_LOC.
.asg "0x711C", ADCREFSEL_LOC
;-----------------------------------------------
; _ADC_cal
;-----------------------------------------------
;-----------------------------------------------
; This is the ADC cal routine.This routine is programmed into
; reserved memory by the factory. 0xAAAA and 0xBBBB are place-
; holders for calibration data.
;The actual values programmed by TI are device specific.
; This is the ADC cal routine.This routine is programmed into
; reserved memory by the factory. 0xAAAA and 0xBBBB are place-
; holders for calibration data.
;The actual values programmed by TI are device specific.
;
; This function assumes that the clocks have been
; 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,70 +12,107 @@
// $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
//---------------------------------------------------------------------------
// InitPieCtrl:
// InitPieCtrl:
//---------------------------------------------------------------------------
// 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.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.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;
}
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
//---------------------------------------------------------------------------
// EnableInterrupts:
// EnableInterrupts:
//---------------------------------------------------------------------------
// 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;
// Enable Interrupts at the CPU level
// 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,192 +12,335 @@
// $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, // 1 Reserved space
PIE_RESERVED, // 2 Reserved space
PIE_RESERVED, // 3 Reserved space
PIE_RESERVED, // 4 Reserved space
PIE_RESERVED, // 5 Reserved space
PIE_RESERVED, // 6 Reserved space
PIE_RESERVED, // 7 Reserved space
PIE_RESERVED, // 8 Reserved space
PIE_RESERVED, // 9 Reserved space
PIE_RESERVED, // 10 Reserved space
PIE_RESERVED, // 11 Reserved space
PIE_RESERVED, // 12 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, // 1.1 ADC
SEQ2INT_ISR, // 1.2 ADC
/* Продолжает список аргументов, полей или выражение SEQ1INT_ISR,; порядок элементов сохраняется. */
SEQ1INT_ISR, // 1.1 ADC
/* Продолжает список аргументов, полей или выражение SEQ2INT_ISR,; порядок элементов сохраняется. */
SEQ2INT_ISR, // 1.2 ADC
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 1.3
XINT1_ISR, // 1.4
/* Продолжает список аргументов, полей или выражение 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, // 2.6 EPWM-6 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, // 3.6 EPWM-6 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, // 4.4 ECAP-4
ECAP5_INT_ISR, // 4.5 ECAP-5
ECAP6_INT_ISR, // 4.6 ECAP-6
rsvd_ISR, // 4.7
rsvd_ISR, // 4.8
/* Продолжает список аргументов, полей или выражение 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, // 5.3
rsvd_ISR, // 5.4
rsvd_ISR, // 5.5
rsvd_ISR, // 5.6
rsvd_ISR, // 5.7
rsvd_ISR, // 5.8
/* Продолжает список аргументов, полей или выражение 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, // 6.7
rsvd_ISR, // 6.8
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 6.7
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 6.8
// Group 7 PIE Vectors
DINTCH1_ISR, // 7.1 DMA channel 1
/* Продолжает список аргументов, полей или выражение DINTCH1_ISR,; порядок элементов сохраняется. */
DINTCH1_ISR, // 7.1 DMA channel 1
/* Продолжает список аргументов, полей или выражение DINTCH2_ISR,; порядок элементов сохраняется. */
DINTCH2_ISR, // 7.2 DMA channel 2
DINTCH3_ISR, // 7.3 DMA channel 3
DINTCH4_ISR, // 7.4 DMA channel 4
DINTCH5_ISR, // 7.5 DMA channel 5
DINTCH6_ISR, // 7.6 DMA channel 6
rsvd_ISR, // 7.7
rsvd_ISR, // 7.8
/* Продолжает список аргументов, полей или выражение 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, // 8.1 I2C
/* Продолжает список аргументов, полей или выражение I2CINT1A_ISR,; порядок элементов сохраняется. */
I2CINT1A_ISR, // 8.1 I2C
/* Продолжает список аргументов, полей или выражение I2CINT2A_ISR,; порядок элементов сохраняется. */
I2CINT2A_ISR, // 8.2 I2C
rsvd_ISR, // 8.3
rsvd_ISR, // 8.4
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 8.3
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 8.4
/* Продолжает список аргументов, полей или выражение SCIRXINTC_ISR,; порядок элементов сохраняется. */
SCIRXINTC_ISR, // 8.5 SCI-C
SCITXINTC_ISR, // 8.6 SCI-C
rsvd_ISR, // 8.7
rsvd_ISR, // 8.8
// Group 9 PIE Vectors
/* Продолжает список аргументов, полей или выражение 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, // 10.1
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 10.1
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 10.2
rsvd_ISR, // 10.3
rsvd_ISR, // 10.4
rsvd_ISR, // 10.5
rsvd_ISR, // 10.6
rsvd_ISR, // 10.7
rsvd_ISR, // 10.8
/* Продолжает список аргументов, полей или выражение 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, // 11.1
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 11.1
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR, // 11.2
rsvd_ISR, // 11.3
rsvd_ISR, // 11.4
rsvd_ISR, // 11.5
rsvd_ISR, // 11.6
rsvd_ISR, // 11.7
/* Продолжает список аргументов, полей или выражение 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, // 12.1
/* Продолжает список аргументов, полей или выражение XINT3_ISR,; порядок элементов сохраняется. */
XINT3_ISR, // 12.1
/* Продолжает список аргументов, полей или выражение XINT4_ISR,; порядок элементов сохраняется. */
XINT4_ISR, // 12.2
XINT5_ISR, // 12.3
XINT6_ISR, // 12.4
XINT7_ISR, // 12.5
rsvd_ISR, // 12.6
LVF_ISR, // 12.7
LUF_ISR, // 12.8
/* Продолжает список аргументов, полей или выражение 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
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// InitPieVectTable:
// InitPieVectTable:
//---------------------------------------------------------------------------
// This function initializes the PIE vector table to a known state.
// 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;
/* Разрешение записи в защищённые регистры периферии. */
EALLOW;
/* Цикл for(i=0; i < 128; i++); задаёт начальное значение, условие продолжения и шаг перебора. */
for(i=0; i < 128; i++)
*Dest++ = *Source++;
/* Изменяет счётчик в выражении *Dest++ = *Source++; на один для следующего шага. */
*Dest++ = *Source++;
/* Закрытие доступа к защищённым регистрам периферии. */
EDIS;
// Enable the PIE Vector Table
PieCtrlRegs.PIECTRL.bit.ENPIE = 1;
/* Записывает 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 $
//###########################################################################
@@ -7,503 +8,895 @@
// TITLE: DSP2833x Devices SW Prioritized PIE Vector Table Initialization.
//
//###########################################################################
//
//
// Original Source by A.T.
//
// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $
// $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
#include "DSP2833x_SWPrioritizedIsrLevels.h"
/* Подключает "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, // ADC
/* Продолжает список аргументов, полей или выражение 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,; порядок элементов сохраняется. */
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,
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,
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,
#if (G85PL != 0)
SCIRXINTC_ISR, // SCI-C
#else
INT_NOTUSED_ISR,
#endif
#if (G86PL != 0)
SCITXINTC_ISR, // SCI-C
#else
INT_NOTUSED_ISR,
#endif
rsvd_ISR,
rsvd_ISR,
// Group 9 PIE Vectors:
#if (G91PL != 0)
SCIRXINTA_ISR, // SCI-A
#else
INT_NOTUSED_ISR,
#endif
#if (G92PL != 0)
SCITXINTA_ISR, // SCI-A
#else
INT_NOTUSED_ISR,
#endif
#if (G93PL != 0)
SCIRXINTB_ISR, // SCI-B
#else
INT_NOTUSED_ISR,
#endif
#if (G94PL != 0)
SCITXINTB_ISR, // SCI-B
#else
INT_NOTUSED_ISR,
#endif
#if (G95PL != 0)
ECAN0INTA_ISR, // eCAN-A
#else
INT_NOTUSED_ISR,
#endif
#if (G96PL != 0)
ECAN1INTA_ISR, // eCAN-A
#else
INT_NOTUSED_ISR,
#endif
#if (G97PL != 0)
ECAN0INTB_ISR, // eCAN-B
#else
INT_NOTUSED_ISR,
#endif
#if (G98PL != 0)
ECAN1INTB_ISR, // eCAN-B
#else
INT_NOTUSED_ISR,
#endif
// Group 10 PIE Vectors
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,
// Group 12 PIE Vectors
#if (G121PL != 0)
XINT3_ISR, // External interrupt 3
#else
INT_NOTUSED_ISR,
#endif
#if (G122PL != 0)
XINT4_ISR, // External interrupt 4
#else
INT_NOTUSED_ISR,
#endif
#if (G123PL != 0)
XINT5_ISR, // External interrupt 5
#else
INT_NOTUSED_ISR,
#endif
#if (G124PL != 0)
XINT6_ISR, // External interrupt 6
#else
INT_NOTUSED_ISR,
#endif
#if (G125PL != 0)
XINT7_ISR, // External interrupt 7
#else
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
/* Продолжает список аргументов, полей или выражение rsvd_ISR,; порядок элементов сохраняется. */
rsvd_ISR,
#if (G127PL != 0)
LVF_ISR, // Latched overflow flag
/* Условие компиляции (G85PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G85PL != 0)
/* Продолжает список аргументов, полей или выражение SCIRXINTC_ISR,; порядок элементов сохраняется. */
SCIRXINTC_ISR, // SCI-C
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
#if (G128PL != 0)
LUF_ISR, // Latched underflow flag
/* Условие компиляции (G86PL != 0): выбранный блок включается в текущий вариант прошивки. */
#if (G86PL != 0)
/* Продолжает список аргументов, полей или выражение SCITXINTC_ISR,; порядок элементов сохраняется. */
SCITXINTC_ISR, // SCI-C
/* Выбирает альтернативный блок текущего условия компиляции. */
#else
/* Продолжает список аргументов, полей или выражение INT_NOTUSED_ISR,; порядок элементов сохраняется. */
INT_NOTUSED_ISR,
#endif
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#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
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// InitPieVectTable:
// InitPieVectTable:
//---------------------------------------------------------------------------
// This function initializes the PIE vector table to a known state.
// 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,47 +265,74 @@ 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
// * First go to 1/2 and let the power settle
// 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
#if CLKMULT == 1
SysCtrlRegs.HISPCP.all = 0x0000;
#endif
#if CLKMULT == 2
SysCtrlRegs.HISPCP.all = 0x0001;
#endif
#if CLKMULT == 3
SysCtrlRegs.HISPCP.all = 0x0002;
#endif
#if CLKMULT == 4
SysCtrlRegs.HISPCP.all = 0x0002;
#endif
#if CLKMULT == 5
SysCtrlRegs.HISPCP.all = 0x0003;
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#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 $
;//###########################################################################
@@ -7,38 +8,38 @@
;// TITLE: Simple delay function
;//
;// DESCRIPTION:
;//
;//
;// This is a simple delay function that can be used to insert a specified
;// delay into code.
;//
;// delay into code.
;//
;// This function is only accurate if executed from internal zero-waitstate
;// SARAM. If it is executed from waitstate memory then the delay will be
;// longer then specified.
;//
;// longer then specified.
;//
;// To use this function:
;//
;// 1 - update the CPU clock speed in the DSP2833x_Examples.h
;// file. For example:
;// #define CPU_RATE 6.667L // for a 150MHz CPU clock speed
;// or #define CPU_RATE 10.000L // for a 100MHz CPU clock speed
;// or #define CPU_RATE 10.000L // for a 100MHz CPU clock speed
;//
;// 2 - Call this function by using the DELAY_US(A) macro
;// that is defined in the DSP2833x_Examples.h file. This macro
;// will convert the number of microseconds specified
;// into a loop count for use with this function.
;// into a loop count for use with this function.
;// This count will be based on the CPU frequency you specify.
;//
;// 3 - For the most accurate delay
;// - Execute this function in 0 waitstate RAM.
;// 3 - For the most accurate delay
;// - Execute this function in 0 waitstate RAM.
;// - Disable interrupts before calling the function
;// If you do not disable interrupts, then think of
;// this as an "at least" delay function as the actual
;// delay may be longer.
;// delay may be longer.
;//
;// The C assembly call from the DELAY_US(time) macro will
;// look as follows:
;// look as follows:
;//
;// extern void Delay(long LoopCount);
;// extern void Delay(long LoopCount);
;//
;// MOV AL,#LowLoopCount
;// MOV AH,#HighLoopCount
@@ -53,16 +54,23 @@
;//###########################################################################
;// $TI Release: DSP2833x/DSP2823x Header Files V1.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.
LRETR
;There is a 9/10 cycle overhead and each loop
;takes five cycles. The LoopCount is given by

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 $
@@ -5,18 +6,18 @@
//
// FILE: DSP2833x_Headers_BIOS.cmd
//
// TITLE: DSP2833x Peripheral registers linker command file
// TITLE: DSP2833x Peripheral registers linker command file
//
// DESCRIPTION:
//
// DESCRIPTION:
//
// This file is for use in BIOS applications.
//
// Linker command file to place the peripheral structures
// Linker command file to place the peripheral structures
// used within the DSP2833x headerfiles into the correct memory
// mapped locations.
//
// This version of the file does not include the PieVectorTable structure.
// For non-BIOS applications, please use the DSP2833x_Headers_nonBIOS.cmd
// For non-BIOS applications, please use the DSP2833x_Headers_nonBIOS.cmd
// file which includes the PieVectorTable structure.
//
//#####################################################################
@@ -25,154 +26,210 @@
//#####################################################################
*/
/* Начинает описание физических блоков памяти для линкера. */
MEMORY
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
PAGE 0: /* Program Memory */
PAGE 0: /* Program Memory */ /* Выбирает страницу адресного пространства линкера: 0 — программа, 1 — данные. */
PAGE 1: /* Data Memory */
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 */
ADC_MIRROR : origin = 0x000B00, length = 0x000010 /* ADC Results register mirror */
PAGE 1: /* Data Memory */ /* Выбирает страницу адресного пространства линкера: 0 — программа, 1 — данные. */
XINTF : origin = 0x000B20, length = 0x000020 /* external interface registers */
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)*/
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. */
PIE_CTRL : origin = 0x000CE0, length = 0x000020 /* PIE control registers */
ADC_MIRROR : origin = 0x000B00, length = 0x000010 /* ADC Results register mirror */ /* Записывает origin значением 0x000B00, length = 0x000010; данные origin. */
DMA : origin = 0x001000, length = 0x000200 /* DMA registers */
XINTF : origin = 0x000B20, length = 0x000020 /* external interface registers */ /* Записывает origin значением 0x000B20, length = 0x000020; данные origin. */
MCBSPA : origin = 0x005000, length = 0x000040 /* McBSP-A registers */
MCBSPB : origin = 0x005040, length = 0x000040 /* McBSP-B registers */
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. */
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 */
PIE_CTRL : origin = 0x000CE0, length = 0x000020 /* PIE control registers */ /* Записывает origin значением 0x000CE0, length = 0x000020; данные 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 */
DMA : origin = 0x001000, length = 0x000200 /* DMA registers */ /* Записывает origin значением 0x001000, length = 0x000200; данные 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 */
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. */
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 */
EQEP1 : origin = 0x006B00, length = 0x000040 /* Enhanced QEP 1 registers */
EQEP2 : origin = 0x006B40, length = 0x000040 /* Enhanced QEP 2 registers */
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. */
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 */
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 */
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. */
ADC : origin = 0x007100, length = 0x000020 /* ADC 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. */
SCIB : origin = 0x007750, length = 0x000010 /* SCI-B 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. */
SCIC : origin = 0x007770, length = 0x000010 /* SCI-C registers */
I2CA : origin = 0x007900, length = 0x000040 /* I2C-A registers */
CSM_PWL : origin = 0x3F7FF8, length = 0x000008 /* Part of FLASHA. CSM password locations. */
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. */
PARTID : origin = 0x380090, length = 0x000001 /* Part ID register location */
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 */ /* Записывает 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 */ /* Записывает origin значением 0x007100, length = 0x000020; данные origin. */
SCIB : origin = 0x007750, length = 0x000010 /* SCI-B registers */ /* Записывает origin значением 0x007750, length = 0x000010; данные origin. */
SCIC : origin = 0x007770, length = 0x000010 /* SCI-C registers */ /* Записывает origin значением 0x007770, length = 0x000010; данные origin. */
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. */ /* Записывает origin значением 0x3F7FF8, length = 0x000008; данные origin. */
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
AdcMirrorFile : > ADC_MIRROR, 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
CpuTimer2RegsFile : > CPU_TIMER2, PAGE = 1
PieCtrlRegsFile : > PIE_CTRL, PAGE = 1
DmaRegsFile : > DMA, 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
ECanaLAMRegsFile : > ECANA_LAM 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
ECanbLAMRegsFile : > ECANB_LAM 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
EPwm1RegsFile : > EPWM1 PAGE = 1
EPwm2RegsFile : > EPWM2 PAGE = 1
EPwm3RegsFile : > EPWM3 PAGE = 1
EPwm4RegsFile : > EPWM4 PAGE = 1
EPwm5RegsFile : > EPWM5 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
ECap1RegsFile : > ECAP1 PAGE = 1
ECap2RegsFile : > ECAP2 PAGE = 1
ECap3RegsFile : > ECAP3 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
ECap5RegsFile : > ECAP5 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECap5RegsFile : > ECAP5 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECap6RegsFile : > ECAP6 PAGE = 1
EQep1RegsFile : > EQEP1 PAGE = 1
EQep2RegsFile : > EQEP2 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
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
@@ -180,4 +237,4 @@ SECTIONS
//===========================================================================
// End of file.
//===========================================================================
*/
*/

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 $
@@ -5,13 +6,13 @@
//
// FILE: DSP2833x_Headers_nonBIOS.cmd
//
// TITLE: DSP2833x Peripheral registers linker command file
// TITLE: DSP2833x Peripheral registers linker command file
//
// DESCRIPTION:
//
// DESCRIPTION:
//
// This file is for use in Non-BIOS applications.
//
// Linker command file to place the peripheral structures
// Linker command file to place the peripheral structures
// used within the DSP2833x headerfiles into the correct memory
// mapped locations.
//
@@ -25,154 +26,210 @@
//###########################################################################
*/
/* Начинает описание физических блоков памяти для линкера. */
MEMORY
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
PAGE 0: /* Program Memory */
PAGE 0: /* Program Memory */ /* Выбирает страницу адресного пространства линкера: 0 — программа, 1 — данные. */
PAGE 1: /* Data Memory */
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 */
ADC_MIRROR : origin = 0x000B00, length = 0x000010 /* ADC Results register mirror */
PAGE 1: /* Data Memory */ /* Выбирает страницу адресного пространства линкера: 0 — программа, 1 — данные. */
XINTF : origin = 0x000B20, length = 0x000020 /* external interface registers */
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)*/
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. */
PIE_CTRL : origin = 0x000CE0, length = 0x000020 /* PIE control registers */
PIE_VECT : origin = 0x000D00, length = 0x000100 /* PIE Vector Table */
ADC_MIRROR : origin = 0x000B00, length = 0x000010 /* ADC Results register mirror */ /* Записывает origin значением 0x000B00, length = 0x000010; данные origin. */
DMA : origin = 0x001000, length = 0x000200 /* DMA registers */
XINTF : origin = 0x000B20, length = 0x000020 /* external interface registers */ /* Записывает origin значением 0x000B20, length = 0x000020; данные origin. */
MCBSPA : origin = 0x005000, length = 0x000040 /* McBSP-A registers */
MCBSPB : origin = 0x005040, length = 0x000040 /* McBSP-B registers */
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. */
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 */
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. */
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 */
DMA : origin = 0x001000, length = 0x000200 /* DMA registers */ /* Записывает origin значением 0x001000, length = 0x000200; данные 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 */
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. */
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 */
EQEP1 : origin = 0x006B00, length = 0x000040 /* Enhanced QEP 1 registers */
EQEP2 : origin = 0x006B40, length = 0x000040 /* Enhanced QEP 2 registers */
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. */
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 */
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 */
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. */
ADC : origin = 0x007100, length = 0x000020 /* ADC 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. */
SCIB : origin = 0x007750, length = 0x000010 /* SCI-B 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. */
SCIC : origin = 0x007770, length = 0x000010 /* SCI-C registers */
I2CA : origin = 0x007900, length = 0x000040 /* I2C-A registers */
CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations. */
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. */
PARTID : origin = 0x380090, length = 0x000001 /* Part ID register location */
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 */ /* Записывает 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 */ /* Записывает origin значением 0x007100, length = 0x000020; данные origin. */
SCIB : origin = 0x007750, length = 0x000010 /* SCI-B registers */ /* Записывает origin значением 0x007750, length = 0x000010; данные origin. */
SCIC : origin = 0x007770, length = 0x000010 /* SCI-C registers */ /* Записывает origin значением 0x007770, length = 0x000010; данные origin. */
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. */ /* Записывает origin значением 0x33FFF8, length = 0x000008; данные origin. */
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
AdcMirrorFile : > ADC_MIRROR, 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
CpuTimer2RegsFile : > CPU_TIMER2, PAGE = 1
PieCtrlRegsFile : > PIE_CTRL, PAGE = 1
DmaRegsFile : > DMA, 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
ECanaLAMRegsFile : > ECANA_LAM 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
ECanbLAMRegsFile : > ECANB_LAM 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
EPwm1RegsFile : > EPWM1 PAGE = 1
EPwm2RegsFile : > EPWM2 PAGE = 1
EPwm3RegsFile : > EPWM3 PAGE = 1
EPwm4RegsFile : > EPWM4 PAGE = 1
EPwm5RegsFile : > EPWM5 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
ECap1RegsFile : > ECAP1 PAGE = 1
ECap2RegsFile : > ECAP2 PAGE = 1
ECap3RegsFile : > ECAP3 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
ECap5RegsFile : > ECAP5 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECap5RegsFile : > ECAP5 PAGE = 1
/* Записывает PAGE значением 1; данные PAGE. */
ECap6RegsFile : > ECAP6 PAGE = 1
EQep1RegsFile : > EQEP1 PAGE = 1
EQep2RegsFile : > EQEP2 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
Uint16 SEQ_OVRD:1; // 5 Sequencer override
/* Битовое поле 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
Uint16 RST_SEQ1:1; // 14 Restart sequencer 1
/* Битовое поле 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
Uint16 SEQ_CNTR:4; // 11:8 Sequencing counter status
Uint16 rsvd2:4; // 15:12 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
Uint16 MAX_CONV2:3; // 6:4 Max number of conversions
Uint16 rsvd1:9; // 15:7 reserved
/* Битовое поле 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
Uint16 INT_SEQ1:1; // 0 SEQ1 Interrupt flag
/* Битовое поле 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
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
union ADCST_REG {
Uint16 all;
struct ADCST_BITS bit;
};
/* Объединяет несколько представлений ADCST_REG в одной области памяти. */
union ADCST_REG {
/* Объявляет all — представление регистра целым словом без разбиения на битовые поля. */
Uint16 all;
/* Описывает структуру ADCST_BITS bit;; порядок полей определяет расположение данных. */
struct ADCST_BITS bit;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру ADCREFSEL_BITS; порядок полей определяет расположение данных. */
struct ADCREFSEL_BITS { // bits description
Uint16 rsvd1:14; // 13:0 reserved
/* Битовое поле 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; // 8:0 Offset Trim
/* Продолжает список аргументов, полей или выражение 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
union ADCTRL3_REG ADCTRL3; // ADC Control 3
/* Объединяет несколько представлений 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; порядок элементов сохраняется. */
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;; порядок элементов сохраняется. */
} BAITE;
/* Начинает объявление типа, используемого структурами и интерфейсами этого модуля. */
typedef union
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
struct
/* Продолжает список аргументов, полей или выражение 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;; порядок элементов сохраняется. */
} WORDE;
/* Начинает объявление типа, используемого структурами и интерфейсами этого модуля. */
typedef union
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
struct
/* Продолжает список аргументов, полей или выражение 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;; порядок элементов сохраняется. */
} 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,139 +12,232 @@
// $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 */
// 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;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
// In V1.1 the STOPVALUE bit field was changed to
// In V1.1 the STOPVALUE bit field was changed to
// STOP_WRAP. This correlated to a silicon change from
// F2833x Rev 0 to Rev A.
// F2833x Rev 0 to Rev A.
//----------------------------------------------------
// Capture control register 2 bit definitions */
// 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
Uint16 rsvd1:5; // 15:11
/* Битовое поле 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 */
// 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
Uint16 CEVT4:1; // 4 Capture Event 4 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 */
// 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
Uint16 CEVT4:1; // 4 Capture Event 4 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 {
Uint32 TSCTR; // Time stamp counter
/* Объявляет TSCTR — данные TSCTR. */
Uint32 TSCTR; // Time stamp counter
/* Объявляет CTRPHS — данные CTRPHS. */
Uint32 CTRPHS; // Counter phase
Uint32 CAP1; // Capture 1
Uint32 CAP2; // Capture 2
Uint32 CAP3; // Capture 3
Uint32 CAP4; // Capture 4
/* Объявляет 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
Uint16 rsvd2[6]; // reserved
/* Объявляет rsvd2 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd2[6]; // reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// 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 */
// 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
Uint16 FREE_SOFT:2; // 15:14 Emulation mode
/* Битовое поле 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 */
// 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 */
// 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 */
// 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 */
// 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 */
// 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;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
@@ -125,297 +205,514 @@ union AQCSFRC_REG {
// This corresponds to changes in silicon as of F2833x devices
// Rev A silicon.
//----------------------------------------------------
// Dead-band generator control register bit definitions
// Dead-band generator control register bit definitions
/* Описывает структуру DBCTL_BITS; порядок полей определяет расположение данных. */
struct DBCTL_BITS { // bits description
Uint16 OUT_MODE:2; // 1:0 Dead Band Output Mode Control
Uint16 POLSEL:2; // 3:2 Polarity Select Control
/* Битовое поле 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
// 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
Uint16 OSHT1:1; // 8 One-shot TZ1 select
Uint16 OSHT2:1; // 9 One-shot TZ2 select
Uint16 OSHT3:1; // 10 One-shot TZ3 select
Uint16 OSHT4:1; // 11 One-shot TZ4 select
Uint16 OSHT5:1; // 12 One-shot TZ5 select
Uint16 OSHT6:1; // 13 One-shot TZ6 select
/* Битовое поле 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 */
// 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 */
// 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 */
// 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 */
// 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 */
// 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 */
// 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 */
// 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 */
// 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 */
// 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 */
// 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 */
// 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 {
union TBCTL_REG TBCTL; //
union TBSTS_REG TBSTS; //
/* Объединяет несколько представлений 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
Uint16 TBPRD; // Period register set
Uint16 rsvd1; //
/* Объявляет 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
union AQCSFRC_REG AQCSFRC; // Action qualifier continuous 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
Uint16 rsvd2;
/* Объявляет 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
union TZCLR_REG TZCLR; // Trip zone clear
/* Объединяет несколько представлений 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
union ETCLR_REG ETCLR; // Event trigger clear
/* Объединяет несколько представлений 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
Uint16 rsvd3; //
/* Объявляет rsvd3 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd3; //
/* Объединяет несколько представлений HRCNFG_REG HRCNFG; в одной области памяти. */
union HRCNFG_REG HRCNFG; // HRPWM Config Reg
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// 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,10 +1,11 @@
/* Поставляемое TI описание EQep для семейства C2833x. Русские пояснения сохранены в UTF-8. */
// TI File $Revision: /main/1 $
// Checkin $Date: August 18, 2006 13:52:13 $
//###########################################################################
//
// FILE: DSP2833x_EQep.h
//
// TITLE: DSP2833x Enhanced Quadrature Encoder Pulse Module
// TITLE: DSP2833x Enhanced Quadrature Encoder Pulse Module
// Register Bit Definitions.
//
//###########################################################################
@@ -12,229 +13,393 @@
// $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 */
// 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 */
// 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 */
// Quadrature capture control register bit definitions */
/* Описывает структуру QCAPCTL_BITS; порядок полей определяет расположение данных. */
struct QCAPCTL_BITS { // bits description
Uint16 UPPS:4; // 3:0 Unit position pre-scale
/* Битовое поле 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 */
// 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 */
// 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 */
// QEP interrupt status register bit definitions */
/* Описывает структуру QFLG_BITS; порядок полей определяет расположение данных. */
struct QFLG_BITS { // bits description
Uint16 INT:1; // 0 Global interrupt
/* Битовое поле 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 */
// 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
// V1.1 Added UPEVNT (bit 7) This reflects changes
// made as of F2833x Rev A devices
//----------------------------------------------------
// QEP status register bit definitions */
// 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 {
Uint32 QPOSCNT; // Position counter
/* Объявляет 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
union QEPCTL_REG QEPCTL; // QEP control
union QCAPCTL_REG QCAPCTL; // Quadrature capture 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
union QEINT_REG QEINT; // QEP interrupt control
/* Объединяет несколько представлений QEINT_REG QEINT; в одной области памяти. */
union QEINT_REG QEINT; // QEP interrupt control
/* Объединяет несколько представлений QFLG_REG QFLG; в одной области памяти. */
union QFLG_REG QFLG; // QEP interrupt flag
union QFLG_REG QCLR; // QEP interrupt clear
union QFRC_REG QFRC; // QEP interrupt force
/* Объединяет несколько представлений 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
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//---------------------------------------------------------------------------
// 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
union PIEIER_REG PIEIER1; // PIE int1 IER register
/* Объединяет несколько представлений PIEIER_REG PIEIER1; в одной области памяти. */
union PIEIER_REG PIEIER1; // PIE int1 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR1; в одной области памяти. */
union PIEIFR_REG PIEIFR1; // PIE int1 IFR register
union PIEIER_REG PIEIER2; // PIE INT2 IER register
/* Объединяет несколько представлений PIEIER_REG PIEIER2; в одной области памяти. */
union PIEIER_REG PIEIER2; // PIE INT2 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR2; в одной области памяти. */
union PIEIFR_REG PIEIFR2; // PIE INT2 IFR register
union PIEIER_REG PIEIER3; // PIE INT3 IER register
/* Объединяет несколько представлений PIEIER_REG PIEIER3; в одной области памяти. */
union PIEIER_REG PIEIER3; // PIE INT3 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR3; в одной области памяти. */
union PIEIFR_REG PIEIFR3; // PIE INT3 IFR register
union PIEIER_REG PIEIER4; // PIE INT4 IER register
/* Объединяет несколько представлений PIEIER_REG PIEIER4; в одной области памяти. */
union PIEIER_REG PIEIER4; // PIE INT4 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR4; в одной области памяти. */
union PIEIFR_REG PIEIFR4; // PIE INT4 IFR register
union PIEIER_REG PIEIER5; // PIE INT5 IER register
/* Объединяет несколько представлений PIEIER_REG PIEIER5; в одной области памяти. */
union PIEIER_REG PIEIER5; // PIE INT5 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR5; в одной области памяти. */
union PIEIFR_REG PIEIFR5; // PIE INT5 IFR register
union PIEIER_REG PIEIER6; // PIE INT6 IER register
/* Объединяет несколько представлений PIEIER_REG PIEIER6; в одной области памяти. */
union PIEIER_REG PIEIER6; // PIE INT6 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR6; в одной области памяти. */
union PIEIFR_REG PIEIFR6; // PIE INT6 IFR register
union PIEIER_REG PIEIER7; // PIE INT7 IER 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
union PIEIER_REG PIEIER9; // PIE INT9 IER register
/* Объединяет несколько представлений PIEIER_REG PIEIER9; в одной области памяти. */
union PIEIER_REG PIEIER9; // PIE INT9 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR9; в одной области памяти. */
union PIEIFR_REG PIEIFR9; // PIE INT9 IFR register
union PIEIER_REG PIEIER10; // PIE int10 IER register
/* Объединяет несколько представлений PIEIER_REG PIEIER10; в одной области памяти. */
union PIEIER_REG PIEIER10; // PIE int10 IER register
/* Объединяет несколько представлений PIEIFR_REG PIEIFR10; в одной области памяти. */
union PIEIFR_REG PIEIFR10; // PIE int10 IFR register
union PIEIER_REG PIEIER11; // PIE int11 IER 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,207 +32,343 @@ extern "C" {
// SCICCR communication control register bit definitions:
//
/* Описывает структуру SCICCR_BITS; порядок полей определяет расположение данных. */
struct SCICCR_BITS { // bit description
Uint16 SCICHAR:3; // 2:0 Character length control
/* Битовое поле 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
Uint16 PARITYENA:1; // 5 Parity 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
Uint16 SLEEP:1; // 2 SCI sleep
/* Битовое поле 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
Uint16 SWRESET:1; // 5 Software reset
/* Битовое поле 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
Uint16 TXINTENA:1; // 0 Transmit interrupt enable
/* Битовое поле 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
Uint16 TXRDY:1; // 7 Transmitter ready 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
Uint16 BRKDT:1; // 5 Break-detect 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;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//--------------------------------------------------
// SCIPRI Priority control register bit definitions:
//
//
struct SCIPRI_BITS { // bit description
Uint16 rsvd:3; // 2:0 reserved
Uint16 FREE:1; // 3 Free emulation suspend mode
Uint16 SOFT:1; // 4 Soft emulation suspend mode
Uint16 rsvd1:3; // 7:5 reserved
};
//
/* Описывает структуру 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;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//-------------------------------------------------
// SCI FIFO Transmit register bit definitions:
//
//
//
/* Описывает структуру 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
Uint16 SCIRST:1; // 15 SCI reset rx/tx channels
/* Битовое поле 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;
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
//------------------------------------------------
// SCI FIFO recieve register bit definitions:
//
//
//
/* Описывает структуру 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
union SCIRXBUF_REG SCIRXBUF; // Recieve data buffer
/* Объединяет несколько представлений SCIRXBUF_REG SCIRXBUF; в одной области памяти. */
union SCIRXBUF_REG SCIRXBUF; // Recieve data buffer
/* Объявляет rsvd1 — зарезервированные биты для сохранения аппаратного расположения. */
Uint16 rsvd1; // reserved
Uint16 SCITXBUF; // Transmit data buffer
/* Объявляет 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
union SCIPRI_REG SCIPRI; // FIFO Priority control
/* Объединяет несколько представлений 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,39 +12,64 @@
// $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;
};
struct XNMICR_BITS {
Uint16 ENABLE:1; // 0 enable/disable
Uint16 SELECT:1; // 1 Timer 1 or XNMI connected to int13
Uint16 POLARITY:2; // 3:2 pos/neg, or both triggered
Uint16 rsvd2:12; // 15:4 reserved
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
};
/* Описывает структуру 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); последующий оператор выполняется только при истинном условии. */
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); последующий оператор выполняется только при истинном условии. */
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); последующий оператор выполняется только при истинном условии. */
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); последующий оператор выполняется только при истинном условии. */
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