27

Как пропатчить прерывания на Arduino?

Все чаще и чаще, мне вспоминается "классическая шутка" :

Как пропатчить прерывания на Arduino?

Ну и у меня "классический" вопрос:

"Как пропатчить Ардуину" на работу с регистрами?


Суть:

прижучило меня прототипировать устройство с "хитрым" и самое главное "быстрым" протоколом на UART.


В наличии есть ардуина 2560, мне пофиг, сам главное чтобы монотонно циферки отправляло, и я доволен :)


Яж "дурак", яж с криками "ща заардуиню"... наардуинил...

Громоздкость кода ардуино - дает неудовлетворительный результат.

монотонности потока данных - не получается. Байтик либо задержится, либо вообще "потеряется" с кодом EOF.


Ок.

1)Переезжаем в AS7/MicrochipStudio.

1.1. Как же классно писать в IDE "нормального программиста"

2) Вспоминаем "как там регистрами рулить" на С/С++


компилим, шьем... 5 секунд... полет нормальный...

7 секунд полет норм...

8я секунда...


Суть:

0. чистый проект AS7 C/C++, язык "быдло Сиплюс" на диалекте Си.

1. рулю UART0, через регистры, на 230400

2. Декларирую ISR' s" UDRE и TXE.


задача: отправить массив uint8_t указанной длинны.


пусть будет...

uint8_t Word[32] = {`H`...}; //"Hello world\n\0"


есть функция запуска процесса...

есть обработчик UDRE, с доступом через указатель к массиву, и приватному uint8 счетчику позиции и длинны.

есть обработчик TXC, обнуляющий счетчики.


по значениям счетчика запуск отслеживается.


а в железе это работает так:

Hello world

Hello world

Hello world

(спустя 7 секунд)

HeHeHeHeHeHeHeHeHe....


причем на осциллографе, я реально вижу, что каждый символ

начинает ходить с паузой в 1мс.


все мозги сломал... в чем прикол?

как пропатчить ардуину на прерывания?

(без рейтинга)

UPP: извиняюсь за "косноязычие в комментах".... по буквам "мажу"... сенсорный экран, он такой сенсорный...

Arduino & Pi

1.5K поста20.8K подписчиков

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

Вы смотрите срез комментариев. Показать все
2
Автор поста оценил этот комментарий

Uart с буфером нету разве?

раскрыть ветку (5)
Автор поста оценил этот комментарий

Ардуиновский - не справляется.

Там данные, по осциллографу идут не монотонно. Тоесть идет идет.. астал нс миллисекунду дальше пошел.


Меня так "не устраивает". Мне надо имитировать желнзку, (идентично натуральной), которая без передыху шлет 65 байт в uart. Пердохнуть оно имеет право между этими 65ю байтами

ещё комментарии
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку