Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Рукожопие продолжается!

Итак, еще сутки назад я обнаружил, что как-то странно себя ведет контроллер термодатчиков: в режиме конечного автомата, когда идет автоматическое измерение температуры, он постоянно считывает 0 с одного датчика (что интересно, если на шине 2 датчика, то с первого считывалось все нормально). Пришлось даже натыкать уйму диагностических сообщений, но на бешеной скорости автомата непонятно было, где же проблема. Вставил команду принудительного вызова процедуры sensors_process() и увидел на осциллограмме, что при отправлении команды "scan" сразу после ACK сигнал обрывается. Виной этому то, что я не дожидался окончания передачи, а сразу отключал мультиплексор. Поэтому добавил (все равно вызовы блокирующие) ожидание окончания и все стало хорошо.

Что интересно, обнаружил вообще необъяснимую лажу: как только я комментирую вызов sensors_process() здесь, то происходит полный бред! В main() проверка if(usartrx()) всегда возвращает 0, несмотря на то, что данные пришли и переменная была выставлена в 1! Такое впечатление, что глобальная переменная linerdy (которую, собственно, макрос usartrx() и возвращает) становится локальной для main()!!! Повозившись с этим с полчаса я плюнул, и решил лучше заняться более актуальными проблемами. А это списать на волю злых демонов ☺
Tags: c, stm32, рукожопие
Subscribe

  • Хеши строковых команд для МК

    Долго я к этому шел, но, похоже, пора уже: однобуквенные команды сложно запоминать (особенно если команд толпа, и большая часть с этими буквами…

  • OBS studio

    В общем, надоумили меня попробовать трансляцию в youtube. Напрямую скринкасты он писать не умеет, но может забирать поток с промежуточного…

  • M$ teams…

    Начал с сегодняшнего дня студентам ЮФУ удаленно лекции читать. У них все завязано на различные корпорации зла. И базовая работа - через teams. ОК,…

promo eddy_em september 3, 12:13 8
Buy for 10 tokens
Уже больше полугода занимаюсь разработкой, вот, наконец-то в мастерских взялись за меня и начали выдавать первые детали. Сегодня сделал тестовую сборку (как обычно, местами пришлось "доработать напильником"): Пока прибор без названия (да и как-то не лезет в голову ничего, у меня нет…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 6 comments