-
Постов
3 550 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Весь контент donec
-
Переменная timer_16 кроме extern вообще где-нибудь описана, если описана то подключен ли этот файл с описанием к проекту?
- 8 997 ответов
-
- Микроконтроллер
- МК
-
(и ещё 2 )
C тегом:
-
Облуживается, только зачищать нужно хорошо, у ТС как раз конец жала не зачищен
-
Мягким материалом, чтобы не повредить напыление на жале, снимаешь грязь и облуживаешь, пользуюсь такой стружкой
-
Пример
-
https://modbus.org/specs.php там же по MODBUS TCP https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf https://modbus.org/docs/Modbus_over_serial_line_V1_02.pdf Как вариант есть неопределённость линии RS-485 (подтяжки для этого ставят чтоб исключить), все равно нужно подключиться осциллографом к А и В и посмотреть, что там, чтобы исключить это.
-
В спецификации которая на modbus.org описан
-
Если во время работы блока он управляется по интерфейсу RS-485, то необязательно слетают настройки блока, а тупо из-за помех в сети интерфейса блок принимает не те данные, например вместо чтения происходит запись какого-то параметра. Практически защиты от записи в блок нет, контрольная сумма примитивная, чтение данных и запись отличаются фактически двумя байтами, байт Data0 и CS, и эти искаженные байты могут прийти на блок при работе из-за помехи на RS-485. При работе блока посмотри осциллографом, желательно аккумуляторным, что творится на линии RS-485. А, это вообще пипец SkipCV: Способ обработки контрольной суммы в поле CS 1 = При приеме данных игнорировать контрольное значение в поля CS. При передаче ответа поле CS равно 0x00. 0 = При приеме данных обрабатывать контрольное значение, находящееся в поле CS. При передаче ответа в поле CS находится рассчитанное контрольное значение Если настройка равна 1, то достаточно не нулевого значения Data0 и будет запись вместо чтения.
-
Если предположить, что ПО на компе считывает данные нормально (т.е. сходится контрольная сумма), а данные о адресе от блока это 16 битная переменная, то блок отвечает правильно, а ошибка в том, что слетели данные именно в прошивке.
-
А, если перед каждым считыванием заново запускать программу на компе?
-
если несколько раз считывать, всегда одинаковые данные считывает?
-
если действительно хочешь выяснить собери схему и проверяй, только соединения между генератором и микроконтроллером как можно короче И еще генератор у тебя на 5В или на 3.3В?
-
А фото есть?
-
Осциллограф может замерять в режиме DC и AC. DC - это полный сигнал который на входе AC - это только его переменная составляющая, т.е. если есть сигнал 5В и он постоянно изменяется в пределах от 4.5 до 5.5, то его переменная составляющая будет 1В, т.е. 5.5 - 4.5 = 1
-
По этим фото можно предположить, что проблемы с питанием, идут провалы напряжения ниже 4В даже есть, а с частотой 20МГц от может работать не ниже 4,5В. включить все запустить, щупы осциллографа подключить на питание и показать фото осциллографа, ну и фото источника питания
-
Микроконтроллер. Конденсатор на генераторе стоит, такой же с длинными ногами на пины питания контроллера, и на генераторе тоже оставить
-
Попробуй генератор поставить рядом с процессором, конденсатор на пины питания процессора поближе, что получится фото с осциллографа
-
Что такое осциллятор? Какое напряжение питания? Пульсации большие? Фото как это все соединено
-
Я ж тебе написал OCR0A должен быть 0
-
Полностью программу выложи