USI в качестве UART

Обсуждаем контроллеры компании Atmel.
Ответить
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

Сообщение Пока_без_кота »

Доброго времени суток. Возникла потребность сделать UART на ATtiny26. Программная реализация на ассемблере у меня уже есть (переделал чужую на свой лад). Нагуглил я еще такую вещь, как USI в качестве UART (http://www.atmel.com/Images/doc4300.pdf), как раз пример для ATtiny26. С трудом был найден исходник. С еще большим трудом он был переделан с IAR-а под AVR Studio 4. Но оно не взлетело. Прошу помощи, так как в Си я ни зуб ногой, а посмотрев дизассемблер понял, что написать такое на ассемблере с нуля - не осилю. В моем примере я вроде как отсылаю байт по UART, и контроллер должен его же мне и вернуть. Но вместо него он возвращает другой байт (а точнее 2). В прикрепленных архивах оригинальные исходники аппноута, и моя переделка.
Вложения
ATtiny26_USI_as_UART.zip
(30.99 КБ) 190 скачиваний
AVR307.zip
(8.05 КБ) 179 скачиваний
Реклама
Потрогал лапой паяльник
Сообщения: 362
Зарегистрирован: Сб май 03, 2014 20:01:51
Откуда: Ижевск

Сообщение ZyaK »

делал на атинни SPI вообще без проблем, у них USI можно в настройках переназначить чуть ли не на любой интерфейс, смотрите даташит
Электроника -очень точная наука, бубен необходимо держать в левой руке!!!
Реклама
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

Сообщение Пока_без_кота »

USI настроить на SPI или I2C, я так понимаю не проблема (пока не брался, но примеров в сети хватает), а вот именно так нестандартно, в качестве UART - 1 аппноут с исходником на Си, и нигде ничего о подводных камнях при его реализации :(
Потрогал лапой паяльник
Сообщения: 362
Зарегистрирован: Сб май 03, 2014 20:01:51
Откуда: Ижевск

Сообщение ZyaK »

Как вариант погуглить usb -> uart на атинни точно видел попадались, правда скорость уарта несколько ограничена
Электроника -очень точная наука, бубен необходимо держать в левой руке!!!
Реклама
Эиком - электронные компоненты и радиодетали
Ответить

Вернуться в «AVR»