KEROL писал(а):
Pingvin писал(а):
Стоит ли сущности плодить?
Контроллер вполне справляется и с тем и другим.
Единственное - в беспроводной повязке можно попробовать реализовать независимые зоны поражения, так как контроллер все равно будет у повязки свой и три порта для внешних прерываний свободно (я про Атмегу).
2 KEROL - не нужна никакая калибровка при передаче, чтобы не мешали другие прерывания и в то же время чтобы эти прерывания не отключать - есть "приемчик" поинтересней (смотри исходники).
Взглянул на "прошивку" (не первый раз уже). А там файлов тьма и (О, боги!!!) на С всё! А родным АСМом и не пахнет. ООП с наследованием классов... И это на Амеге?))) 8-ми битной?))) А Андроид туды вогнать можно?)))
Это шутка... А если серьезно, то нужна структурная схема! Я понимаю, что в своих прошивках вы и сами разберетесь! И коменты у вас есть! Вот только с наскока все не осилить! Алгоритм то не ясен... Подкажи хоть где искать "приемчик" твой с прерываниями!
Алгоритм первичнее, реализация под конкретный чип!
В двух словах - есть у нас прерывание с наивысшим приоритетом, именно оно формирует несущую частоту и оно же используется для подсчета длительности принятых импульсов.
Таким образом, это прерывание должно обрабатываться стабильно без задержек, ему не должны мешать другие прерывания, но отключать другие прерывания мы не хотим. Есть выход?
Есть!
Чтобы дальше было понятно Вы должны знать, как работают прерывания (почитайте сами, не буду тут лекции устраивать).
Короче - во всех других прерываниях, кроме нашего главного, мы принудительно разрешаем главное прерывание, и, вмесе с тем (во избежание рекурсии) запрещаем прерывание, в котором находимся. И лиш на выходе из прерывания возвращаем все на свои места - запрещаем глобально прерывания и разрешаем то, в котором находимся.
В итоге наше главное прерывание молотит стабильно и ничто ему помешать не может!