Jump to content

    

АндрейЦ

Участник
  • Content Count

    205
  • Joined

  • Last visited

Community Reputation

0 Обычный

About АндрейЦ

  • Rank
    Местный

Recent Profile Visitors

1565 profile views
  1. Таки я записывал регистры в правильном порядке. Пересчитал я внимательнее битики в регистрах, поотключал буферизацию, подключил магазин сопротивлений и получил вот такую вот картину: 4009 4010 4009 4009 4009 4016 4016 4015 4015 4015 4016 Это десятичное значение двух регистров данных(без младшего байта) для случая, когда на магазине выставлено 0.00 Ом и 0.01 Ом. А так да, на проводах и внешних мультиплексорах набегает прилично. Двухпроводка, что с неё взять ) Всем принявшим участие большое спасибо.
  2. ... как же хорошо, что я задал этот вопрос в разделе для начинающих ) В даташите рагистры описаны в порядке от MSB к LSB. В этом же порядке я и шлю их в АЦП. А надо то LSB первым слать. Мда. В общем перепроверю еще раз и поменяю порядок байт в словных посылках. Забавно, что источник тока включился на нужный вход АЦП. Цепочка из резисторов запитана. Это я промерил сразу.
  3. Нет, 1К это опора. Измеряемый - 82Ом . Т.е 1К* 1мА = 1В и 82*8*1 = около 0.7 с проводами и причими паразитами.
  4. Реальность такова, что "эталонная" прошивка, исходников к которой нет, измеряет сопротивление подключенного магазина сопротивлений с точностью до десятых долей ома на уровне 100 ом. Может и с большей, но "снаружи" доступны только десятые. Естественно, с предварительной калибровкой соединительных проводов и мультиплексоров. Большей точности не требуется. В другом приборе, но уже с 3х/4х проводкой измеряется до сотых.
  5. Это работает на достаточно существенном количестве устройств. Работает оно и на этой плате тоже. Мои нынешние ковыряния - попытка решить малыми силами одну допущенную организационную глупость - исчезновение прогриммиста вместе с исходниками. Дабы сильно не вдаваться в офтоп скажу, что R4 - резистор 0805, между площадками которого проведена дорожка. Именно с целью выполнения озвученных условий. Но никто и никогда эту дорожку так и не разрезал и резистор не впаял. Хотя это тоже ещё одна органицационная глупость. Но за хорошую мысль спасибо, буферизацию отключить попробую.
  6. Логично, вдруг у меня там один разряд дрожит, а я возмущаюсь. ))) В десятичном виде считывается вот такое вот нечто, слабо зависящее от номинала внешнего резистора: 44214 44204 44211 44214 44206 44205 44206 44196 С SPI всё более менее нормально. Да и АЦП только в режиме 3 работает, так что если остальные регистры читаются - пишутся, я надеюсь что настройки правильные. Вот основная программа Вот работа с АЦП Измеряемый резистор подключен между цепью RIN1 и RET. RIN1 это 13 входной канал, туда же вдувается 1 миллиампер тока. Уточнение. Опорный резистор R1. Параллельно ему нарисованная батарея из десятка резисторов не установлена. Резистор R4 замкнут. REF- сидит на земле напрямую.
  7. Кажется что то таки заработало. Но заработало странно. Измеряем сопротивление резистора. Схема ратиометрическая, опорный резистор 1К. Запитываю током 1ма, усиление 8. Настройки фильтров не трогал. Внешний резистор 82 Ом. Получаем с АЦП гуляющие 0xA7D7. Младший байт не учитываю. Как то таки престранно.
  8. Всем день добрый, Подскажите как правильно настроить регистры этого АЦП. Проблема в том, что при считывании регистров данных его выход DOUT/RDY всегда поднимается в единицу. Соответственно ничего кроме 0хffffff не считывается. Остальные регистры нормально читаются-пишутся. Сброс пачкой единиц делаю. Внутренний опорник включаю, входы и к внутреннему термодатчику подключал и к земле притягивал. Похоже я просто не понимаю как правильно запустить преобразование.
  9. Именно по этому вышеприведенный кусок кода почти "дословно" повторяет тестовую программу из примеров. Почти заключается в том, что когда у меня не заработал пример "из доков на компилятор" я начал искать что не работает, обвешивая все подряд светодиодами. Ага, меня тоже это позабавило. Точнее не совсем верно. Лапа ТХ тоже по умолчанию совсем не ТХ, но там почему то все настроилось как нужно. В принципе выбор на МикроС пал именно из за наличия двух ключевых для моей платы встроенных библиотек. Что потенциально должно бы существенно подсократить время написания прошивки. Но чует моё сердце с таким уровнем этих самых библиотек... стоит перейти на более предсказуемый компилятор и таки все сделать ручками
  10. В общем дело было не в бобине... Функции UART_Init не достаточно для инициализации порта. Нужно ручками в регистрах допрописывать функционал пинов. Т.е. лапка RX имеет несколько альтернативных функций. И по умолчанию она совершенно не RX...
  11. что мне это даст по сравнению с нажатием кнопки в терминале? ПыСы символы до лапки RX доходят... ПыПыСы наконец то утвердили мой пост на форуме самих микросей. Там форум с премодерацией. Посмотрим что подскажут.
  12. Хорошего слона я не заметил. В оправдание могу сказать только то, что: 1. в тех проектах, что я нагуглил эта функция не используется 2. добавление её в код ничего не изменило
  13. Пока могу сказать только то, что все используемые функции являются библиотечными. Порт на передачу работает нормально. Не забыл ли я чего при инициализации? Не знаю. Программировать что либо для пиков я начал вчера.
  14. Помогите начинающему пикоману. Не могу заставить работать приёмник UART. Условие UART2_Data_Ready() == 1 никогда не срабатывает Вот такой простенький код не работает. Передатчик работает нормально. Отдельно светодиод так же мигает. Писано в mikroC PRO.
  15. Беда печаль. Спасибо, ситуация понятна.