ATXMEGA — отличный новый чип. У него много аппаратного обеспечения на борту и огромное количество аппаратных регистров.
Однако некоторые изменения в архитектуре нарушают совместимость с обычными процессорами AVR (ATMEGA/ATTINY).
Не пропустите раздел часто задаваемых вопросов — ATXMEGA ниже!
ATXMEGA предлагает огромное количество интерфейсов, таких как UART, I2C, SPI, счетчик/таймер, 12-битный аналоговый ввод/вывод, а также новые функции, такие как DMA (прямой доступ к памяти), система событий или аппаратное шифрование AES/ расшифровка.
Дополнительную информацию об АНАЛОГО-ЦИФРОВОМ ПРЕОБРАЗОВАТЕЛЕ (АЦП) ATXMEGA см. здесь:
КОНФИГУРАЦИЯ ADCX
Все ATXMEGA имеют свои регистры по одному и тому же адресу. Некоторые микросхемы могут иметь не все регистры, потому что оборудование находится не внутри микросхемы, но все файлы DAT* похожи. И все оборудование имеет фиксированное смещение.
* Файлы DAT — это регистровые файлы. Файлы регистров хранятся в каталоге приложений BASCOM-AVR, и все они имеют расширение DAT. Файл регистров содержит информацию о микросхеме, такую как внутренние регистры и адреса прерываний. Информация о регистровом файле берется из файлов определений ATMEL.
ATXMEGA работает с 3,3 В, поэтому, пожалуйста, не подключайте что-либо, выдающее 5 В, к контактам XMEGA. Используйте для этого Level Shifter.
Максимальное напряжение для контакта ATXMEGA 3,6 В.
При использовании внутреннего генератора на 32 МГц требуется не менее 2,7 В постоянного тока. Внутренний генератор с частотой 32 МГц достаточно стабилен для многих приложений. Максимальная тактовая частота процессора составляет 12 МГц при использовании XMEGA всего с 1,6 В постоянного тока.
Прочтите указания по применению AVR1012: XMEGA Контрольный список схем для особых соображений при проектировании вашего оборудования.
Вы можете найти образцы Bascom для ATXMEGA в папке Bascom-AVR:
• | Общие образцы ……..\BASCOM-AVR\SAMPLES\XMEGA |
• | Примеры загрузки S\BOOT |
• | Для чипов типа xm128a1 в …….\BASCOM-AVR\SAMPLES\CHIPS |
EL Руководства для каждого ATMME доступны для ATXMEGA2: р
1. | One Family Manual, как, например, для ATXMEGA128A1, это Atmel AVR XMEGA A Manual |
2. |
2. |
, как ATX1, например, для одиночных чипов ATX1 для an28049. это ATxmega64A1/128A1/192A1/256A1/384A1 Руководство. В этом руководстве вы найдете, например, функции альтернативных выводов. Таким образом, вы можете найти, какой вывод на порту C является выводом SDA и SCL, когда вы хотите использовать интерфейс I2C/TWI этого порта. |
Помимо руководств по микросхемам ATXMEGA на веб-сайте ATMEL имеется множество примечаний по применению, в которых объясняется, например, система событий ATXMEGA или прямой доступ к памяти (DMA) и т. д.
Что необходимо для начала работы с ATXMEGA и BASCOM-AVR
1. | Последняя ПОЛНАЯ версия Bascom-AVR (демонстрационная версия Bascom-AVR не поддерживает ATXMEGA). |
2. | Оценочная плата, такая как оценочный комплект Atmel AVR XMEGA® Xplained или любая другая оценочная плата ATXMEGA с разъемом PDI (программный и отладочный интерфейс). |
3. | Программатор, такой как AVRISP MKII или любой другой программатор PDI или JTAG, поддерживающий ATXMEGA. |
4. | Последняя версия AVR-Studio 4.X или 5.X только для установки фьюз-битов и прошивки загрузчика в ATXMEGA. |
5. | Программирование ATXMEGA может быть выполнено непосредственно из BASCOM-IDE. См. также LIBUSB для получения дополнительной информации. |
Наиболее важные части программы Bascom-AVR для XMEGA:
53 |
$regfile = «xm128a1def. dat»
$crystal = 32000000 ’32MHz
$hwstack = 64
$swстек = 40
$framesize = 64
2. | Включите и настройте генератор по вашему выбору: |
= Enabledh, 3sc2d Configzo
Config ‘ включить внутренние генераторы 2 МГц и 32 МГц
3. | Выберите источник генератора для системных часов и прескалера (это должно совпадать с $crystal = XXXXXX). Далее настройте внутренний генератор 32 МГц как системные часы без предварительного делителя, чтобы системные часы были 32 МГц, что соответствует $crystal = 32000000 |
Config Sysclock = 32 МГц, Prescalea = 1, Prescalebc = 1_1
50 | 4. | необходимо настроить его, прежде чем использовать команду Enable Interrupt. Bascom-AVR автоматически активирует прерывание среднего уровня, если в коде есть Разрешить прерывание, но не прерывания низкого и высокого уровня. |
Приоритет конфигурации = статический, вектор = приложение, Lo = включено, Med = включено, Hi = включено
5. | Также, если вы хотите использовать EEPROM, вам необходимо настроить его, прежде чем вы сможете его использовать: |
Настройка режима памяти для EEPROM в XMEGA
6. | После этого вы можете добавить Enable Interrupts и свой код в основной цикл. |
До
‘Вставьте свой код
Loop
Конец ATXMEGA, которые переключают вывод каждую секунду:
$regfile = «xm64a3def. dat»
$кристалл = 32000000
$hwstack = 40
$swстек = 16
$framesize = 32
Config Osc = включено, 32mhzosc = включено
Системные часы конфигурации = 32 МГц, Prescalea = 1, Prescalebc = 1_1
Конфигурационный портb = выход
Сделать
переключить портb.0
Вэйтс 1000
петля
end ‘end program
Часто задаваемые вопросы — ATXMEGA
В: Как установить источник тактовой частоты и тактовую частоту с помощью ATXMEGA?
A: См. CONFIG OSC и CONFIG SYSCLOCK
Q: Нужно ли устанавливать предохранители XMEGA для начала работы?
A: Нет, для начала не нужно устанавливать фьюзы, потому что в отличие от megaAVR или ATTINY, где фьюзы используются для установки источника тактового сигнала и частоты, вы можете установить источник тактового сигнала и частоту в программе Bascom-AVR .
Вам также не нужен внешний источник синхронизации. Вы можете использовать внутренний 32MHz или 2MHz RC-генератор в качестве источника тактового сигнала.
В: Какой уровень прерывания (низкий, средний, высокий) используется, если я не указываю приоритет?
A: MED используется, когда приоритет не указан.
В: Поддерживается ли AVR-DOS для XMEGA?
О: Да, см. Файловая система AVR-DOS
В: Что еще поддерживается (Статус: Bascom-AVR 2.0.7.6), о чем просили пользователи форума Bascom-AVR?
A: Следующий список:
— 1-WIRE, EEPROM, XRAM, система событий, сервоприводы конфигурации, драйвер AVR-DOS SDHC, DCF77, RTC32,
— поддержка ввода/вывода Xmega огромная память, xmega LCD моделирование, dmxslave , RS-485, импульсный вход, импульсный выход, DMA
— Bascom Simulator, Event System, getrc5, CONFIG POWER_REDUCTION, буферизованный последовательный выход (com1-com4)
— конфигурация виртуальной карты портов, конфигурация tcXX для таймеров xmega, компаратор xmega, $forcesofti2c заставит xmega использовать программное обеспечение i2c
— Шифрование/дешифрование AES, xmega TWI, SPI, UART
В: Где узнать, какой вывод ATXMEGA является SDA и SCL?
A: Существует 2 руководства от ATMEL
1. Одно семейное руководство, например, для ATXMEGA128A1, это Atmel AVR XMEGA A Manual
2. Другое руководство для отдельных микросхем, например, для ATXMEGA128A1, это
ATxmega64A1/128A1/192A1/256A1/384A1 Руководство. В этом Руководстве вы найдете, например,
Альтернативные функции контакта. Таким образом, вы можете найти, какой вывод на порту C является выводом SDA и SCL, когда вы хотите
использовать интерфейс I2C/TWI этого порта.
В: Как запрограммировать/прошить ATXMEGA?
О: Программная поддержка провайдера отсутствует. Поддерживаются только JTAG и PDI. Конечно, загрузчик MCS можно использовать, но сначала вам необходимо запрограммировать чип, например, с помощью программатора AVRISP MKII. После этого программирование
ATXMEGA может быть выполнено непосредственно из BASCOM-IDE 9.0003
Важно также то, что программатору AVRISP MKII требуется напряжение питания 3,3 В от Цели.
В: Есть ли специальный исходный код загрузчика, который я могу использовать для ATXMEGA?
A: Пример загрузчика находится в следующей папке Bascom-AVR (C:\. …..\BASCOM-AVR\SAMPLES\BOOT)
, например, ATXMEGA32A4 или ATXEMGA128A1. Для других чипов ATXMEGA исходный код можно легко адаптировать.
В: Что такое интерфейс программы и отладки (PDI)?
A: Программный и отладочный интерфейс (PDI) — это собственный интерфейс Atmel для внешнего программирования и встроенной
отладки устройства.
В: Как читать/писать из/в регистр ATXMEGA?
A: Если вы хотите или вам нужно писать или читать регистры ATXMEGA напрямую, вам просто нужно найти имя, используя файл
ATXMEGA DAT.
Например, если вы хотите прочитать версию ATXMEGA, в файле DAT есть регистр Mcu_revid.
Файлы DAT можно найти в папке BASCOM-AVR.
Позаботьтесь о защищенных регистрах. Прежде чем вы сможете писать в эти регистры, вам нужно освободить их. Примером этого является сброс программного обеспечения.
В: Как инициировать программный сброс ATXMEGA?
A: Прежде чем вы сможете записать бит программного сброса, вам необходимо снять защиту от записи для этого бита и зарегистрироваться.
‘разрешить изменение защищенных регистров для следующих 4 циклов инструкций ЦП
CPU_CCP = &HD8
‘Инициировать программный сброс, установив бит 0 в регистре RST_CTRL
.
Rst_ctrl.0 = 1 ‘Когда этот бит установлен, происходит программный сброс
В: Как внешние прерывания (прерывания порта) используются с ATXMEGA?
A: Каждый порт XMEGA (например, PortA или PortF) с контактами от Pin0….Pin7 имеет 2 прерывания (INT0 и INT1). Таким образом, для каждого порта доступны INT0 и INT1.
Прерывания порта должны быть разрешены, прежде чем их можно будет использовать, например, Int1 на PortA = PORTA_INT1
Шаги для использования PortE.0 в качестве прерывания порта, где используется INT0:
1. Включите прерывание INT0 на порту E
Enable Porte_int0 , Lo ‘Включить это прерывание как прерывание нижнего уровня
Включить прерывания.0003
3. Настройте реакцию:
Config Xpin = Porte. 0 , Outpull = Pullup , Sense = Falling ‘enable Pull up и реакция на спадающий фронт
4. Задайте маску прерывания будет активирован для генерации INT0 в этом случае):
Porte_int0mask = &B0000_0001 0 = контакт деактивирован для прерывания
Вы также можете установить больше контактов как активированных (установить на 1), но тогда вам нужно проверить в подпрограмме обслуживания прерывания, какой контакт был основной причиной для генерации прерывания.
5. Процедура обслуживания прерываний:
‘Процедура обслуживания прерываний порта E INT0
Порт_e_int0__isr:
‘сделай что-нибудь….
Возврат
Дополнительная информация для прерываний порта:
Для асинхронного считывания только контакт 2 порта на каждом порту имеет полную поддержку асинхронного считывания. Это означает, что при обнаружении фронта
контакт 2 обнаружит и зафиксирует любой фронт, и он всегда будет запускать запрос на прерывание. Остальные выводы порта имеют ограниченную поддержку асинхронного считывания
[ATXMEGA A Manual].
См. также пример прерывания порта (внешнее прерывание) ниже.
В: Как записать в 16-битный (Word) регистр ATXMEGA?
A: Вам не нужен 16-битный (Word) регистр, потому что компилятор сделает это за вас автоматически.
Для этого вы можете найти раздел [WIO] (Word IO) в файле DAT. Вы можете напрямую записывать в 16-битный регистр только через определенный регистр в разделе [WIO] файла DAT
Если есть необходимость вручную записывать/читать в/из 16-битного регистра, вам всегда нужно писать/читать Младший байт (LSB)
и затем старший байт (MSB).
В: Существует ли также линейная архитектура памяти, как у ATMEGA или ATTINY AVR?
A: Сила AVR в линейной архитектуре памяти. В ATXMEGA это было изменено: регистры помещены в отдельное адресное пространство. Это приводит к сбою такого кода:
Clr r31
Ldi r30,10 ; указать на регистр R10
Ld r24,z+ ; значение нагрузки от R10 и указатель
Код типа LDS r16, 0 не будет загружать содержимое регистра R0 с Xmega
Если ваш код ASM содержит такой код, вам необходимо его переписать.
В: Поддерживает ли демо-версия Bascom-AVR ATXMEGA?
A: ATXMEGA недоступна в PDIP. Это означает, что ATXMEGA не совсем подходит для любительских проектов.
В результате ДЕМО-версия не поддерживает ATXMEGA.
В: Для чего нужны регистры виртуальных портов?
A: «Регистры виртуальных портов позволяют отображать регистры портов в расширенном пространстве памяти ввода-вывода виртуально
в пространстве памяти ввода-вывода. При сопоставлении порта запись в регистр виртуального порта будет
так же, как запись в регистр реального порта. Это позволяет использовать специальные инструкции памяти ввода-вывода
для битовых манипуляций, а также инструкции IN и OUT памяти ввода-вывода в регистре порта, которые
обычно находится в расширенной памяти ввода-вывода. Существует четыре виртуальных порта, поэтому одновременно можно сопоставить до четырех портов
. Сопоставляемые регистры: IN, OUT, DIR и
INTFLAGS». [из руководства ATXMEGA A]
В: На каком порту ATXMEGA я могу найти COM1…..COM8?
A: см. таблицу ниже:
COM1 —> Usartc0
COM2 —> Usartc1
COM3 —> Usartd0
COM4 —> Usartd1
COM5 —> Usarte0
COM6 —> Usarte1
COM7 —> Usartf0
COM8 —> Usartf1
Q: Поддерживается ли Serialin и Serialout для интерфейсов UART выше COM4
A: Да, начиная с версии 2077, все 8 UART поддерживают буферизованный последовательный ввод и вывод.
Для ATXMEGA первые 4 UART могут использовать, например, серийный номер:
SERIALIN : first UART/UART0 —> COM1
SERIALIN1 : второй UART/UART1 —> COM2
SERIALIN2 : третий UART/UART2 —> COM3
SERIALIN3 : четвертый UART/UART3 —> COM4
SERIALIN4 : четвертый UART/UART4 —> COM5
SERIALIN5 : четвертый UART/UART5 —> COM6
SERIALIN6 : четвертый UART/UART6 —> COM7
SERIALIN7 : четвертый UART/UART7 —> COM8
Например, с ATXMEGA128A1 вы получите 8 UART:
Каждый из 8 USART имеет, например, прерывание приема, которое можно использовать для анализа входящих данных:
ATXMEGA128A1 Прерывания приема:
COM1 —> Usartc0_rxc
COM2 —> Usartc1_rxc
COM3 —> Usartd0_rxc
COM4 —> Usartd1_rxc
COM5 —> Usarte0_rxc
COM6 —> Usarte1_rxc
COM7 —> Usartf0_rxc
COM8 —> Usartf1_rxc
В процедуре прерывания вам необходимо использовать функцию inkey(#X), поскольку inkey(#X) считывает регистр данных и
, поэтому сбрасывает флаг прерывания. Без считывания регистра данных или сброса флага прерывания вручную прерывание
будет срабатывать снова и снова.
Пример процедуры прерывания:
Rxc_isr:
Rs232 = Inkey(#1)
‘сделать что-нибудь с данными
Возврат
В: Как узнать причину сброса ATXMEGA (например, включение питания, сторожевой таймер или отдых программного обеспечения)
О: Для этого RST_STATUS существует специальный регистр, который вы можете прочитать и проанализировать.
Вы также можете прочитать регистр R0, используя функцию GetReg(R0): myvar=GetReg(r0). Вам нужно сделать это в самом начале вашего кода.
В: Как выполнить автоматическую калибровку внутренних генераторов 2 МГц и 32 МГц во время работы?
A: Автоматическая калибровка внутренних генераторов во время работы активируется путем включения DFLL (цифровых контуров автоподстройки частоты) и автокалибровки.
‘Внутренний генератор 32,768 кГц используется для калибровки
OSC_DFLLCTRL = & B00000000
‘ Включение DFLL и AutoCalibration
Установите Dfllrc32m_ctrl. 0
Дополнительный совет от ATMEL для некоторых ревизий чипов:
«….Для работы одного из них должны быть включены оба DFLL и оба генератора.
Устранение неполадок/Временное решение
Включены как DFLL, так и генераторы при использовании автоматической калибровки во время выполнения для одного из внутренних генераторов
…»
В: Сколько циклов записи/стирания флэш-памяти и EEPROM можно выполнить с помощью ATXMEGA?
A: Один цикл записи состоит из стирания сектора с последующим программированием того же сектора. Вы можете найти максимальное количество для ATXMEGA128A1 здесь:
XMEGA Flash и EEPROM Циклы записи/стирания:
10 000 циклов записи/стирания
85°C — 10K циклов записи/стирания
EEPROM:
25°C 80K- Циклы записи/стирания
85°C 30K- Циклы записи/стирания
Port2 (Внешнее прерывание) от пользователя hzz:
‘—————————————————————————— ————————————————— ———————-
‘ Настройка внешних прерываний с помощью XMEGA
‘ Протестировано успешно с BASCOM 2. 0.7.5 и платой XMEGA128A3 от Chip45
‘ 14 августа 2012 г.
————————————————— ————————————————— ———————
_________________________________________________________________________________
$regfile = «xm128a3def.dat»
$hwstack = 256
$swстек = 128
$framesize = 128
_________________________________________________________________________________
‘ Для кварца 16 МГц
$кристалл = 32000000
Config Osc = Disabled, Extosc = Enabled, Range = 12mhz_16mhz, Startup = Xtal_1kclk, 32khzosc = Enabled
‘ Установить условия PLL OSC:
Osc_pllctrl = &B1100_0010 ‘ опорный внешний генератор, установите коэффициент умножения PLL на 2 (биты 0–4)
Set Osc_ctrl.4 ‘ Enable PLL Oscillator
Bitwait Osc_status.4 , Set ‘ ждать, пока опорный источник синхронизации pll не станет стабильным
Clk_ctrl = &B0000_0100 ‘ переключить системные часы на pll
Системные часы конфигурации = Pll, Prescalea = 1, Prescalebc = 1_1
_________________________________________________________________________________
‘ Настройка:
Led1 Псевдоним Portd. 0: Config Portd.0 = Выход: Led1 = 1
‘ Каждый порт XMEGA имеет два вектора прерывания: INT0 и INT1.
Например, XMEGA A3 имеет 7 портов: A, B, C, D, E, F, каждый из которых имеет 8 контактов в диапазоне от 0 до 7, и порт R всего с двумя контактами, обычно используемый внешним XTAL.
Поэтому до 12 контактов можно использовать в качестве внешних прерываний с XMEGA A3 (или до 14, если внешний XTAL не используется и PORTR.0 и PORTR.1 свободны)
‘ Для каждого порта любые два вывода могут быть определены как внешний источник прерывания следующим образом:
‘ В следующем примере следующие порты настраиваются как внешние источники прерываний:
.
‘ PORTB.0 с использованием вектора прерывания INT0 PORTB
‘ PORTB.3 с использованием вектора прерывания INT1 из PORTB
‘ (выводы порта B больше не могут быть определены как внешние источники прерываний)
‘ PORTA.3 с использованием вектора прерывания INT0 PORTA
‘ 1) Установите метки подпрограмм обслуживания прерываний для используемых векторов прерываний и
‘ включить прерывания, установив уровень прерывания:
На Portb_int0 B0_b0_isr : включить Portb_int0 , привет
На Portb_int1 B1_b3_isr : включить Portb_int1 , Lo
На Porta_int0 A0_a3_isr : Включить Porta_int0 , Lo
‘ Я выбираю имена меток, чтобы указать используемый вектор прерывания и вывод, который будет назначен
‘ следующий. Например, B1_b3_isr: использует вектор INT 1 порта B, назначенный контакту b3
.
‘ 2) Настройте контакты как входы и определите, что должно вызывать прерывание: низкий уровень, высокий уровень или переходы: повышение, понижение или оба
Config Portb.0 = Input: Config Xpin = Portb.0, Sense = Rising
Config Portb.3 = Input: Config Xpin = Portb.3, Sense = Falling
Config Porta.3 = Input: Config Xpin = Porta.3, Sense = Оба
‘ К этим контактам подключены три переключателя, PORTB.0, PORTB.3 и PORTA.3, для тестирования
.
‘ 3) Назначить контакты для векторов прерывания:
Portb_int0mask = &B0000_0001 ‘ Назначить контакт b0 порту b_int0
Portb_int1mask = &B0000_1000 ‘ Назначить вывод b3 порту Portb_int1
Porta_int0mask = &B0000_1000 ‘ Назначить вывод a3 порту Porta_int0
‘ Обратите внимание, что одному и тому же вектору может быть назначено несколько выводов. Например, у нас может быть
‘ написано:
‘ PROTB_INT0MASK = &B0000_1001 ‘ Назначьте контакты b0 и b3 порту b_int0
‘ В этом случае оба контакта «b0» и «b3» приведут к выполнению одного и того же ISR (если возможно, ISR может
‘ определить, какой вывод вызвал прерывание, и выполнить другой код. это способ
имеющих более двух внешних источников прерываний на порт). Другим способом будет присвоение другим
‘ прикрепляет к каналам событий.
4) Напишите подпрограммы обслуживания прерываний (найдите затем после цикла do, где они не будут
).
‘ выполняются, за исключением случаев, когда они вызываются)
‘ B0_b0_isr:
‘ ‘ Делайте что угодно на каждом переднем фронте контакта b0
‘ Вернуть
‘ B1_b3_isr:
‘ ‘ Делайте что угодно на каждом заднем фронте штифта b3
‘ Вернуть
‘ A0_a3_isr:
‘ ‘ Делайте что угодно на каждом восходящем и падающем фронтах штифта a3
‘ Вернуть
5) Не забудьте включить прерывания и настроить приоритеты
Включить прерывания
Приоритет конфигурации = Статический, Вектор = Приложение, Низкий = Включен, Средний = Включен, Высокий = Включен
_________________________________________________________________________________
Сделать
‘ Ничего здесь делать не надо
Петля
_________________________________________________________________________________
B0_b0_isr: ‘ Переключатель, подключенный к PORTB. 0, будет переключать светодиод каждый раз, когда он переходит на HI
Переключить светодиод1
Возврат
B1_b3_isr: ‘ Переключатель, подключенный к PORTB.3, будет переключать светодиод каждый раз, когда он переходит в состояние LO
Переключить светодиод1
Возврат
A0_a3_isr: ‘ Переключатель, подключенный к PORTA.3, будет переключать светодиод каждый раз, когда он переходит в состояние LO или HI
Переключить светодиод1
Возврат
ATxmega128a1 USB макетная плата MT-X1 Эта страница больше не обновляется. См. http://www.mattairtech.com/index.php/development-boards/mt-x1s.html Особенности Atmel XMEGA 128A1 (версия чипа H), 128 КБ флэш-памяти, 8 КБ ОЗУ Введение MT-X1 — это гибкая отладочная плата USB для микроконтроллера Atmel ATxmega128a1. XMEGA можно полностью запрограммировать через USB, используя встроенный программатор PDI, совместимый с AVRISPmkII (нет необходимости приобретать внешний программатор). XMEGA может обмениваться данными с компьютером, используя встроенный мост USB-последовательный порт. Поддерживается скорость до 2 Мбит/с в синхронном режиме (1 Мбит/с в асинхронном режиме). USB-ресивер Atmel AT90USB162, обладающий этими функциями, автоматически переходит в спящий режим при отключении USB. Плата может получать питание через USB или внешний разъем. Напряжение регулируется LDO-регулятором 3,3 В, 1 А. На борту доступно несколько вариантов тактовой частоты, включая кварцевый резонатор 32,768 кГц, внешний тактовый генератор 8 МГц, внешний HC49.хрустальная посадка и несколько вариантов внутренних часов. Несколько периферийных устройств установлены и подключены к XMEGA через перемычки для пайки, что позволяет использовать контакты, если устройство не используется. Большинство выводов направляются в заголовки. Эти устройства включают в себя слот для карты MicroSD, 32 КБ SPI SRAM, аудиоусилитель, драйвер реле, датчик температуры, 4 кнопки, 4 светодиода и встроенный прецизионный источник опорного напряжения 1,25 В для АЦП. Эта ссылка настроена для работы с исправлениями XMEGA. На XMEGA предустановлена демонстрационная программа, демонстрирующая использование каждого периферийного устройства, а также демонстрацию спящего режима. Все программное обеспечение, используемое как на XMEGA, так и на USB AVR, имеет открытый исходный код (лицензия MIT). ATxmega128a1 Особенности: Высокопроизводительный, маломощный 8/16-разрядный микроконтроллер AVR XMEGA |