|
|
  |
Передача по USART с помощью DMA в ATXmega |
|
|
|
Nov 26 2012, 10:14
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 5-05-05
Из: Зеленоград
Пользователь №: 4 762

|
Всем доброго времени суток! Сейчас самому нет времени разбираться (погряз по уши в USB иксмеги128A3U), так что, может, кто подкинет готовый примерчик (буквально в двух словах), как передавать/принимать данные USART по DMA. Сам попробовал, два байта спихиваются без вопросов (похоже, аппаратный буфер), дальше идет полная чушь. Очевидно, что нужно тактировать перегрузку из памяти в регистр по некоему событию, а вот по какому с ходу не соображу. Конечно, разберусь, когда руки дойдут, но не хочется тратить время, если честно... Без DMA USART - никаких проблем, запустил за пять минут, вместо перекура. Заранее спасибо!!!
|
|
|
|
|
Nov 26 2012, 10:54
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(stalko @ Nov 26 2012, 12:14)  Сейчас самому нет времени разбираться (погряз по уши в USB иксмеги128A3U), так что, может, кто подкинет готовый примерчик (буквально в двух словах), как передавать/принимать данные USART по DMA. Была у атмела какая-то апнота на этот счёт - как раз передача по usart. Цитата(stalko @ Nov 26 2012, 12:14)  Сам попробовал, два байта спихиваются без вопросов (похоже, аппаратный буфер), дальше идет полная чушь. Очевидно, что нужно тактировать перегрузку из памяти в регистр по некоему событию, а вот по какому с ходу не соображу. Сигнал может быть например такой - DMA_CH_TRIGSRC_USARTE0_DRE_gc.
|
|
|
|
|
Nov 26 2012, 11:45
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 5-05-05
Из: Зеленоград
Пользователь №: 4 762

|
Цитата(_Артём_ @ Nov 26 2012, 13:54)  Была у атмела какая-то апнота на этот счёт - как раз передача по usart. Нашел только без DMA. Но это было неактуально, так как сам уже к тому времени запустил... А по DMA своя апнота была, но там они все больше в АЦП упираются, а там как раз понятно, в какое событие упирать... Цитата(_Артём_ @ Nov 26 2012, 13:54)  Сигнал может быть например такой - DMA_CH_TRIGSRC_USARTE0_DRE_gc. По DRE я, кажись, пробовал... Но не исключу, что впопыхах где-то сам и накосячил. Когда руки дойдут, попробую еще раз. Спасибо, огромное!!! P.S. Вы, кажется, меня однажды уже по Xmega-м консультировали, за что огромное спасибо... У меня тут еще один вопрос висит, уже куда более серьезный, по HID-у композитному... Там не сможете помочь, случаем? Еще раз спасибо, а то уже голова пухнет. Начальник, как обычно, хочет все вчера, уже мечтает мне новую работу параллельно пихнуть. Пока отбиваюсь, как могу.
|
|
|
|
|
Nov 26 2012, 12:09
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(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 вроде есть, но подойлёт ли оно - не скажу.
|
|
|
|
|
Nov 26 2012, 17:59
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 5-05-05
Из: Зеленоград
Пользователь №: 4 762

|
Цитата(_Артём_ @ Nov 26 2012, 16:09)  Благодарю, скачал, посмотрю дома, перед сном Цитата(_Артём_ @ Nov 26 2012, 16:09)  С usb пока работать не приходилось, но у атмела вроде всё расписано: в апнотах, но если там hid композитный не знаю, просто hid вроде есть, но подойлёт ли оно - не скажу. Просто HID я уже запустил... и даже композитный... Но только два интерфейса. Цепляю третий, все рушится... Ну, ладно, может я еще когда Вам буду иметь честь помочь в USB
|
|
|
|
|
Nov 29 2012, 12:03
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(pistoletov @ Nov 29 2012, 13:42)  Помогите разобраться немного с Хmega уартом. Смотрите апноту avr1307: using_the_XMEGA_usart и тп. Цитата(pistoletov @ Nov 29 2012, 13:42)  Может есть библиотека с буферами для приема и передачи для иксмеги? Библиотека-то есть (usart_driver.c/usart_driver.h), но не лучше ли самому логику работы буферов написать?
|
|
|
|
|
Nov 29 2012, 12:33
|

Участник

Группа: Участник
Сообщений: 42
Регистрация: 17-02-12
Из: Донецк
Пользователь №: 70 323

|
Цитата(_Артём_ @ Nov 29 2012, 14:03)  Смотрите апноту avr1307: using_the_XMEGA_usart и тп.
Библиотека-то есть (usart_driver.c/usart_driver.h), но не лучше ли самому логику работы буферов написать? лучше конечно но в начале изучения для отладки пользоваться усартом буду. Готовый для начала будет предпочтительней. Решил от arduino Переходить к иксмеге. -)))
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|