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