Тема: Arduino
Показать сообщение отдельно
Старый 19.01.2017, 07:41   #13
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Ответ: Статика

Отвечаю на вопросы Импера.

Вот смотри: Сборка на макетной плате разной степени убогости.

В своё время, когда жил с родителями, купил лазерный принтер с задумкой, что может буду травить платы, но на то время это были только идеи, на деле я электроникой почти не занимался. Сейчас у меня принтера нет и ставить его некуда, поэтому изготовлением плат даже не пытаюсь заниматься. Но даже перед тем как паять что-то на макетке с пятачками, я теперь рисую схему в Sprint-Layout, чтобы более компактно разнести все детали па площади платы и правильно развести землю. Ну а на пластиковой макетке собираю прямо на лету из головы. Написание прошивки занимает гораздо большее время, чем собирание деталек на макетке. Поэтому сначала как лего собираешь, а потом уже сидишь за ноутбуком и кодишь. Последнее время задумываюсь сделать беспроводной программатор и UART, потому что провода USB от ноутбука мешают, так как сижу обычно на диване, а ноутбук на коленях.

Синхронизация осуществляется при помощи манипуляции битов в различных регистрах. Есть бит, которым можно разрешить или запретить все прерывания одним махом, но кроме того есть биты в разных регистрах для манипуляции каждым прерыванием по отдельности. По умолчанию в компиляторах Си предлагается к использованию макрос при объявлении функции-прерывания, который блокирует все прерывания при входе в прерывание и разрешает при выходе. Таким образом все прерывания будут выполняться последовательно (прерывание непрерывно, лол). Но при желании можно добиться поведения, когда прерывания будут вклиниваться в другие прерывания, но говорят, что это может привести к проблемам. Я с ассемблером знаком мало, но вроде бы для компилятора вызов каждого прерывания - это довольно напряжная ситуация, потому что это происходит в непредсказуемый момент времени и нужно правильно эти ситуации разруливать. А при нескольких вложенных прерываниях, то ли регистров общего назначения на всё может не хватить, то ли ещё чо-то там. Может кто-то из булочников разъяснит подробнее.

В ардуиноподобных платах ставят стабилизатор на 3.3 или 5 вольт, смотря что требуется. При 3.3 вольт производителем микроконтроллеров не гарантируется стабильная работа на максимальной частоте. Кстати сказать, если вы не делаете систему управления ракетами, то нефиг делать завести ардуину хоть на 25 мегагерцах, хотя производитель рекомендует максимум 16. А если использовать внешний генератор тактовых сигналов, то мне кажется можно и выше. Только при разгоне учитывайте, что микросхема, реализующая UART (это как COM порт в компе, только с 5 вольтами на контактах), не будет работать с некоторыми значениями скорости (как правило слишком высокими). То есть если разгоняемое приложение предполагает работу с UART на высоких скоростях, то тестируйте заранее - будут проблемы 100%. Хотя может если брать не китайскую ардуину с нормальным UART, может проблем и не будет.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (20.01.2017)