Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Передача по USART с помощью DMA в ATXmega
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
stalko
Всем доброго времени суток!
Сейчас самому нет времени разбираться (погряз по уши в USB иксмеги128A3U), так что, может, кто подкинет готовый примерчик (буквально в двух словах), как передавать/принимать данные USART по DMA. Сам попробовал, два байта спихиваются без вопросов (похоже, аппаратный буфер), дальше идет полная чушь. Очевидно, что нужно тактировать перегрузку из памяти в регистр по некоему событию, а вот по какому с ходу не соображу. Конечно, разберусь, когда руки дойдут, но не хочется тратить время, если честно...
Без DMA USART - никаких проблем, запустил за пять минут, вместо перекура.
Заранее спасибо!!!
_Артём_
Цитата(stalko @ Nov 26 2012, 12:14) *
Сейчас самому нет времени разбираться (погряз по уши в USB иксмеги128A3U), так что, может, кто подкинет готовый примерчик (буквально в двух словах), как передавать/принимать данные USART по DMA.

Была у атмела какая-то апнота на этот счёт - как раз передача по usart.

Цитата(stalko @ Nov 26 2012, 12:14) *
Сам попробовал, два байта спихиваются без вопросов (похоже, аппаратный буфер), дальше идет полная чушь. Очевидно, что нужно тактировать перегрузку из памяти в регистр по некоему событию, а вот по какому с ходу не соображу.

Сигнал может быть например такой - DMA_CH_TRIGSRC_USARTE0_DRE_gc.
stalko
Цитата(_Артём_ @ Nov 26 2012, 13:54) *
Была у атмела какая-то апнота на этот счёт - как раз передача по usart.

Нашел только без DMA. Но это было неактуально, так как сам уже к тому времени запустил... А по DMA своя апнота была, но там они все больше в АЦП упираются, а там как раз понятно, в какое событие упирать...
Цитата(_Артём_ @ Nov 26 2012, 13:54) *
Сигнал может быть например такой - DMA_CH_TRIGSRC_USARTE0_DRE_gc.

По DRE я, кажись, пробовал... Но не исключу, что впопыхах где-то сам и накосячил. Когда руки дойдут, попробую еще раз. Спасибо, огромное!!!
P.S. Вы, кажется, меня однажды уже по Xmega-м консультировали, за что огромное спасибо... У меня тут еще один вопрос висит, уже куда более серьезный, по HID-у композитному... Там не сможете помочь, случаем? Еще раз спасибо, а то уже голова пухнет. Начальник, как обычно, хочет все вчера, уже мечтает мне новую работу параллельно пихнуть. Пока отбиваюсь, как могу. smile3009.gif
_Артём_
Цитата(stalko @ Nov 26 2012, 13:45) *
А по DMA своя апнота была

Есть еще нота: Atmel AVR1510: XMEGA-A1 Xplained training - XMEGA USART, pdf-ка. В ней пример - Task3 - DMA Approach.
Цитата(stalko @ Nov 26 2012, 13:45) *
У меня тут еще один вопрос висит, уже куда более серьезный, по HID-у композитному... Там не сможете помочь, случаем?

С usb пока работать не приходилось, но у атмела вроде всё расписано: в апнотах, но если там hid композитный не знаю, просто hid вроде есть, но подойлёт ли оно - не скажу.
stalko
Цитата(_Артём_ @ Nov 26 2012, 16:09) *
Есть еще нота: Atmel AVR1510: XMEGA-A1 Xplained training - XMEGA USART, pdf-ка. В ней пример - Task3 - DMA Approach.

Благодарю, скачал, посмотрю дома, перед сном biggrin.gif
Цитата(_Артём_ @ Nov 26 2012, 16:09) *
С usb пока работать не приходилось, но у атмела вроде всё расписано: в апнотах, но если там hid композитный не знаю, просто hid вроде есть, но подойлёт ли оно - не скажу.

Просто HID я уже запустил... и даже композитный... Но только два интерфейса. Цепляю третий, все рушится... Ну, ладно, может я еще когда Вам буду иметь честь помочь в USB biggrin.gif
stalko
Цитата(_Артём_ @ Nov 26 2012, 16:09) *
Есть еще нота: Atmel AVR1510: XMEGA-A1 Xplained training - XMEGA USART, pdf-ка. В ней пример - Task3 - DMA Approach.

Глянул. То, что доктор прописал! Еще раз спасибо, завтра на работе выкрою пять минут и проверю.
pistoletov
Помогите разобраться немного с Хmega уартом. Только взялся за их изучение. Может есть библиотека с буферами для приема и передачи для иксмеги?
_Артём_
Цитата(pistoletov @ Nov 29 2012, 13:42) *
Помогите разобраться немного с Хmega уартом.

Смотрите апноту avr1307: using_the_XMEGA_usart и тп.

Цитата(pistoletov @ Nov 29 2012, 13:42) *
Может есть библиотека с буферами для приема и передачи для иксмеги?

Библиотека-то есть (usart_driver.c/usart_driver.h), но не лучше ли самому логику работы буферов написать?
pistoletov
Цитата(_Артём_ @ Nov 29 2012, 14:03) *
Смотрите апноту avr1307: using_the_XMEGA_usart и тп.


Библиотека-то есть (usart_driver.c/usart_driver.h), но не лучше ли самому логику работы буферов написать?



лучше конечно но в начале изучения для отладки пользоваться усартом буду. Готовый для начала будет предпочтительней. Решил от arduino Переходить к иксмеге. -)))
_Артём_
Цитата(pistoletov @ Nov 29 2012, 14:33) *
Готовый для начала будет предпочтительней.

Из этих файлов вполне можно взять макросы для доступа к регистрам USART, остальное (как раз буферы) можно не смотреть - сделать такое же или лучше можно за 5-10 минут, но сделать как самому удобней.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.