Отправка данных в UART с помощью Atmel Studio с Attiny84

Я хочу отправить данные в TFDI. Это может быть hello world или любое значение переменной. Но я не могу этого сделать. Я не нашел примера кода в Интернете. Некоторые примеры не работают. Я использую Atmel Studio.

, 👍0

Обсуждение

Attiny84 не имеет аппаратного интерфейса USART. Используйте что-то вроде библиотеки SoftwareSerial. Я получил его, работая над Attiny85., @chrisl

да, я знаю.Но я не нашел рабочего примера.Если у вас есть рабочий пример, не могли бы вы поделиться им со мной?, @johnyjla

Разве пример SoftwareSerial из Arduino IDE не работает? Что произойдет, если вы попробуете это сделать? Что в этом плохого?, @chrisl

Я не хочу записывать загрузчик.Я хочу использовать atmel studio.И я до сих пор не нашел никакого способа., @johnyjla


1 ответ


1

ATtiny84 не имеет аппаратного периферийного устройства UART. Вместо этого он имеет USI (универсальный последовательный интерфейс), который не обладает всеми возможностями, необходимыми для интерфейса UART ("последовательный").

Вам не нужно записывать загрузчик Arduino, чтобы использовать библиотеки, которые были написаны для Arduino IDE. Возможно, вам понадобятся только некоторые определения, которые вы можете получить, включив arduino.файл h.

Я думаю, вам лучше всего использовать существующие библиотеки, такие как SoftwareSerial library. Существует также множество других библиотек, которые предоставляют последовательные интерфейсы с бит-битами. Вы также можете запустить их в Atmel Studio, включив исходные файлы. Это самый простой способ.

Если вы хотите пойти трудным путем, вы могли бы запрограммировать гибридный программно-аппаратный интерфейс UART, используя некоторые функции USI. В поиске я нашел этот сайт, посвященный внедрению UART с помощью USI. Они также ссылаются на примечание к приложению Atmel AVR307, которое является хорошим источником для понимания этого. Исходя из этой отправной точки, вы также можете найти готовую к использованию реализацию для USI. Если нет, вам придется выполнять эту работу самостоятельно.

,