Перейти к содержанию

crazz

Рекомендуемые сообщения

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Здравствуйте.

Есть проблема - хочу получать значение температуры от DS18B20 на ПК.

С датчиками разобрался - работают 1оо%.

Для передачи данных МК <--> ПК использую USB CDC (за основу взято Microchip Device - CDC - Basic Demo).

Когда пробовал просто передавать строку от микроконтроллера на ПК и обратно - всё работает.

Но когда подключил DS18B20 и пробую найти их - что-то идет не так.

Пробовал свой собственный проект (написанный мною с нуля но для PIC18F452 - там датчики находит).

Но когда такую-же функцию использую для PIC18F4550 (на основе Device - CDC - Basic Demo) ничего не работает.

Может быть нужно какие-то биты конфигурации изменить? Так как я не очень понимаю - может кто-то подскажет в чем дело.

На протеусе все работает правильно :-( что вообще непонятно, в реальности на живом контроллере - НЕТ

usb_CDC_18B20.zip

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Привели вагон малозначащих мелочей а самое главное скрыли под "что-то идет не так". Телепаты в отпуске, так собственно ЧТО ИДЕТ НЕ ТАК? чем это "не так" проявляется?

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Привели вагон малозначащих мелочей а самое главное скрыли под "что-то идет не так". Телепаты в отпуске, так собственно ЧТО ИДЕТ НЕ ТАК? чем это "не так" проявляется?

В программе (функция void main(void) ) есть место j = detect_sensors(&FoundROM, N); Здесь я проверяю количество подключенных датчиков DS18B20. После этого, в зависимости от полученного значения, на PORTB вывожу сигнал.

Так вот в протеусе все работает как и должно, а в живую - результат на PORTB равен постоянно 0b00000110 (независимо от того подключены датчики или нет).

Ссылка на комментарий
Поделиться на другие сайты

Значит надо отладкой пройтись, засечь то место после которого поведение реального контролера отличается от того что должно быть. Простая отладка - останавливать пины порта в определенных местах программы. Потом осциллографом смотришь в какие моменты это происходит и происходит ли и делаешь из этого определенные выводы. А еще лучще задействовать UART и понатыкать в алгоритм отправку отладочных строк в этот порт, потом терминалом увидишь подробный лог. Это, конечно, если у тебя нет аппаратного отладчика. С ним эти проблемы отпадают сами собой.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Здравствуйте.

Есть проблема:

- когда (наконец-то) заработала передача информации DS18B20 - PIC18F4550 - PC результат немного глючит.

И так как работает все вроде бы нормально не понимаю что являться причиной искажения (на картинке видно что иногда результат приходит на компьютер неправильным - передача по USB работает нормально - это сам результат от 18B20 кривой).

Нужны какие-то идеи что может быть причиной такого поведения, ибо сам я уже не знаю куда смотреть.

post-128538-0-19486200-1375995127_thumb.jpg

Изменено пользователем wi3ik
Ссылка на комментарий
Поделиться на другие сайты

А CRC кто проверять будет? 1-wire изначально шина не слишком помехоустойчивая, проверка crc и перезапрос в случае несоответствия необходимы... Процентов 5 пакетов-скрэтчей от таких датчиков всегда приходят битыми...

> Правила форума <

...из древних времен доходят до нас слухи о колдунах и волшебниках... - кто бы мог подумать, что так может начинаться дипломная работа по радиотехнике...

...это не дым от канифоли, нет... это души умерших транзисторов....

Первый закон Ома: никому не рассказывать про Ома!

Ну вот, а ты говорил ноль...

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Всем доброго времени суток! Стоит вопрос выбора контроллера, на глаза попалось семейство с маркировкой pic16fxxxx. По характеристикам заметно обгоняют собратьев из серии pic16fxxx. Подскажите пожалуйста, есть ли принципиальная разница между pic16fxxxx и pic16fxxx? Особенности разработки программ, аппаратные преимущества/ограничения?

Ссылка на комментарий
Поделиться на другие сайты

Возьми даташиты и сравни. Разница, обычно, в наборе периферии и объемам памяти а принцип остается тем же самым.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Здравствуйте.

Есть проблема:

Нужны какие-то идеи что может быть причиной такого поведения, ибо сам я уже не знаю куда смотреть.

Я думаю проблемы из-за нестабильности временных интервалов. Все из-за прерываний которые мешают..

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Вопрос по памяти программ в ПИКах. В даташитах указывается объём в KBytes и KWords. Например, у PIC12F510 памяти 1 KWords или 1,5 KBytes. Инструкции 12-битные. Я так понял, что программа для данного камня может состоять максимум из 1000 инструкций, так? У меня hex-файл занимает 988 байт, и есть необходимость немного добавить кода, ориентировочно байт 300...350. Он поместится? Я просто никогда не забивал МК под завязку. И где в MPLab можно посмотреть, влезет ли программа в чип, не превышено ли число инструкций? Или это только при компиляции вылазит?

Ссылка на комментарий
Поделиться на другие сайты

А ты посмотри результат компиляции. Там кроме успешности/неуспешности выводится так же статистика по заполнению областей памяти.

HEX-файл, это текстовый файл, не двоичный и много служебной информации.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

ориентировочно байт 300...350
Знание таких точных данных, не зная элементарных вещей по поводу .hex, кажется подозрительным. Откуда эти цифры, с потолка, или кто-то "нашептал" ? :)

Тема по формату hex-файлов изъезжена уже до дыр. Всё есть и на форуме и ищется элементарно гуглом.

Ссылка на комментарий
Поделиться на другие сайты

А ты посмотри результат компиляции. Там кроме успешности/неуспешности выводится так же статистика по заполнению областей памяти.

У меня MPLabX выдаёт только вот это и больше ничего. Про память ни слова.

make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf

make[1]: Entering directory `C:/Documents/Radioelectronics/PICs/UPS home network/UPS home network.X'

make -f nbproject/Makefile-default.mk dist/default/production/UPS_home_network.X.production.hex

make[2]: Entering directory `C:/Documents/Radioelectronics/PICs/UPS home network/UPS home network.X'

"C:\Program Files\Microchip\MPLABX\mpasmx\mpasmx.exe" -q -p12f510 "C:/Documents/Radioelectronics/PICs/UPS home network/UPS home network.X/../UPS home network.asm"

"C:\Program Files\Microchip\MPLABX\mpasmx\mplink.exe" -p12f510 -w -m".map" -w -l".." -z__MPLAB_BUILD=1 -odist/default/production/UPS_home_network.X.production.cof "build/default/production/_ext/1472/UPS home network.o"

MPLINK 4.49, Linker

Device Database Version 1.14

Copyright © 1998-2011 Microchip Technology Inc.

Errors : 0

MP2HEX 4.49, COFF to HEX File Converter

Copyright © 1998-2011 Microchip Technology Inc.

Errors : 0

make[2]: Leaving directory `C:/Documents/Radioelectronics/PICs/UPS home network/UPS home network.X'

make[1]: Leaving directory `C:/Documents/Radioelectronics/PICs/UPS home network/UPS home network.X'

BUILD SUCCESSFUL (total time: 5s)

Loading code from C:/Documents/Radioelectronics/PICs/UPS home network/UPS home network.X/dist/default/production/UPS_home_network.X.production.hex...

Loading symbols from C:/Documents/Radioelectronics/PICs/UPS home network/UPS home network.X/dist/default/production/UPS_home_network.X.production.cof...

Loading completed

HEX-файл, это текстовый файл, не двоичный и много служебной информации.

Это файл прошивки.

Возник вопрос по ассемблеру. Мне нужно поделить одну пользовательскую константу на другую, взять третий байт результата, добавить еденицу к младшему разряду и поместить в аккумулятор. Такое выражение будет правильным?

movlw low((CONST_1/CONST_2)>>16)+1

Изменено пользователем inSERter
Ссылка на комментарий
Поделиться на другие сайты

Включи генерацию листинга в настройках компилятора, в конце файла .lst с именем проекта увидишь строчки:

MEMORY USAGE MAP ('X' = Used, '-' = Unused)

0000 : X---XXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX

0040 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X---------------

2000 : -------X-------- ---------------- ---------------- ----------------

2100 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX

All other memory blocks unused.

Program Memory Words Used: 110

Program Memory Words Free: 914

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

У меня вот что

0000 : XXXXXXX--------- ---------------- ---------------- ----------------

0FC0 : ---------------- ---------------- ---------------- ---------------X

All other memory blocks unused.

Program Memory Words Used: 7

Program Memory Words Free: 1017

Я, честно говоря, запутался. Alexeyslav, можете объяснить, что такое Program Memory Words? У меня сейчас hex-файл 1 475 байт. И судя по результатам компиляции, ещё куча свободного места (Program Memory Words Free = 1017). Но в тоже время у 12F510 всего 1,5 кб флэш-памяти. Что-то не сходится.

Ссылка на комментарий
Поделиться на другие сайты

Блин, честно говоря, уже надоело видеть вопросы по поводу объёма .hex файла. 100 раз уже этот вопрос обсасывали, и не только на этом форуме...

Вы бы хоть открыли его, для начала, любым текстовым редактором.

Неужели не можете понять разницу между текстовым файлом и бинарным ? Что же Вы тогда делаете в программировании ?

Да в той-же википедии Русским по белому написано

HEX — формат файла, предназначенного для представления произвольных двоичных данных в текстовом виде.
Или лень гуглить уже стало в порядке вещей ? :(
Ссылка на комментарий
Поделиться на другие сайты

Да забей. Те, кто не умеет гуглить - долго не живут кодить не будут :)

> Правила форума <

...из древних времен доходят до нас слухи о колдунах и волшебниках... - кто бы мог подумать, что так может начинаться дипломная работа по радиотехнике...

...это не дым от канифоли, нет... это души умерших транзисторов....

Первый закон Ома: никому не рассказывать про Ома!

Ну вот, а ты говорил ноль...

Ссылка на комментарий
Поделиться на другие сайты

Алекс поправь ссыли в пост46 сайт www.microchip.ru кажется скончался и доступен только через "машину времени"

http://web.archive.org/web/20080208141316/http://www.microchip.ru/lit/?mid=1x0

Ссылка на комментарий
Поделиться на другие сайты

Боюсь, это не неумение, а банальная лень. Лучше пойду на форум быстренько спрошу, чем немного мозг поднапрячь...

Мало того, поразил ещё вот этот ответ:

HEX-файл, это текстовый файл, не двоичный и много служебной информации.

Это файл прошивки.

:)

Алекс поправь ссыли в пост46 сайт www.microchip.ru кажется скончался и доступен только через "машину времени"

http://web.archive.o...ru/lit/?mid=1x0

Может он ещё не совсем скончался, может стоит немного подождать ? :umnik2:

Жаль если скончается, хорошая документация там лежит :(

Ссылка на комментарий
Поделиться на другие сайты

У меня вот что

0000 : XXXXXXX--------- ---------------- ---------------- ----------------

0FC0 : ---------------- ---------------- ---------------- ---------------X

All other memory blocks unused.

Program Memory Words Used: 7

Program Memory Words Free: 1017

Я, честно говоря, запутался. Alexeyslav, можете объяснить, что такое Program Memory Words? У меня сейчас hex-файл 1 475 байт. И судя по результатам компиляции, ещё куча свободного места (Program Memory Words Free = 1017). Но в тоже время у 12F510 всего 1,5 кб флэш-памяти. Что-то не сходится.

Всё, разобрался. Нашёл в дебрях MPLAB X нужный .lst-файл. Их там два было, с отличием в одной букве.

MEMORY USAGE MAP ('X' = Used, '-' = Unused)

0000 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX

0040 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX

0080 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX

00C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXX--

0FC0 : ---------------- ---------------- ---------------- ---------------X

All other memory blocks unused.

Program Memory Words Used: 254

Program Memory Words Free: 770

Всё наглядно, 80% объёма занято

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...