Помогите реализовать Modbus-slave на базе Atmega32A. Условие: применяемый на freemodbus 16-разрядный таймер1 использовать нельзя - он нужен мне для реализации 16-разрядного аппаратного ШИМа.
Что уже сделано:
1) Материалы на freemodbus.org изучил (хотя и не во всем разобрался).
2) Нашел
http://forum.easyelectronics.ru/viewtopic....mp;hilit=modbus - во втором посте выложено решение для 168й атмеги по замене таймера 1 на таймер 0. Скачал, собрал в свой проект, откомпилировал для 168й атмеги.
2) Заменил ссылки на таймер 0А (для 168й меги) на таймер 0 для 32й меги.
3) 2) Заменил ссылки на таймер 0В (для 168й меги) на таймер 2 для 32й меги.
4) Откомпилировал в AtmelStudio6 без ошибок.
5) Подключил контроллер через мах485 и конвертер i-7561 (485/usb) к компьютеру.
6) ОРС-сервером Lectus отправляю запрос 01 03 00 01 00 01 D5 CA, осциллографом наблюдаю соответствующую последовательность на ножке микроконтроллера, НО сам контроллер молчит и в ответ никаких сообщений не выдает.
Предполагаю два варианта проблемы:
1) Простая замена таймеров оказалась некорректной.
2) Неверно "привязаны" регистры usRegInputBuf и usRegHoldingBuf.
Помогите пожалуйста разобраться