Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 23.11.2011, 11:44  
Gaaaaaad
Частый гость
 
Регистрация: 07.03.2011
Сообщений: 38
Сказал спасибо: 1
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
Gaaaaaad на пути к лучшему
По умолчанию Re: Отладочные платы для STM32

Цитата:
И чтобы можно было взять и подключить другой термостик целиком если в старом вышел из строя датчик хоть один. Без замеров и кодирования, просто как совместимые устройства. Но похоже это неосуществимо...
Банальные проблемы с обычной логикой -- стики же будешь собирать "на берегу" в домашней обстановке?

Узнать номер одного датчика не припаивая, а вставляя по 1 в разъем можешь?

Разложить датчики по возрастанию номеров можешь?
Пронумеровать по возрастанию позиции датчиков в стике можешь?
Впаивай по возрастанию номеров датчиков.

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

А да -- если в стике умрет один датчкик -- будешь перепаивать все из них...

========

Так что лучше написать процедуру и нагревая конкретный датчик (в руках, спичкой,) тыкать пальцем -- это первый... это второй... это третий...

На длинных шлейфах тоже самое...

При промышленном производстве с ленты идут последовательные номера, при эксплуатации/ремонте -- отдельно показываются "тройками": позиция первого датчика который перестал отвечать и показания датчика ДО него и позиция первого же работающего датчика После неработающего...

Убеждаешься нагревом в работе их оставшихся и НОВЫЙ появившийся вписывается между ними начиная с ближайшего по позиции в шлейфе...

Цитата:
И понял, что оно бесплезно, как только начал цеплять к уже разведенной сети термометров и идентификаторов. Хорошо, что все Далласы висели на клеммниках... В общем сделал определение идентификатора на соседней ножке проца, вывел ее на приборе и дело пошло гораздо веселее - сунул термометр в прибор, прописал его, привязал к месту в сети, а потом отнес термометр на его новое место и подцепил на клеммник.
Гм... по описанию, ну ты и набегался... практически "факториал" расстояний вычислил...

С напарником и комплектом ручных радиостанций, после очередного пожара/ремонта и тд. это делалось за один проход по шлейфу включая восстановление самого шлейфа -- к счастью его обрывало, но ни разу не закоротило...
Реклама:
Gaaaaaad вне форума  
Сказали "Спасибо" Gaaaaaad
CMaxx22 (24.11.2011)
Непрочитано 24.11.2011, 16:53  
CMaxx22
Временная регистрация
 
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
CMaxx22 на пути к лучшему
По умолчанию Re: Отладочные платы для STM32

Распаял датчики и выписал на бумажку их адреса. Easyrider83 подскажите плиз как теперь обратиться к датчику на считывание температуры по адресу? Адреса хранятся в переменной uint64_t addr[5]. И ещё надо ли перед каждым считыванием запускать конвертацию? Или можно дать команду конвертации на шину один раз, а потом по адресам считать со всех датчиков показания?
CMaxx22 вне форума  
Непрочитано 24.11.2011, 16:59  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Отладочные платы для STM32

Сообщение от CMaxx22 Посмотреть сообщение
Easyrider83 подскажите плиз как теперь обратиться к датчику на считывание температуры по адресу?
Адрес должен лежать в массиве. В вашем случае массив можно сделать константным. Пусть лежит во флеше. Массив двумерный - по горизонтали 64 бита уникального кода включая CRC, по вертикали - номер сенсора.
Сообщение от CMaxx22 Посмотреть сообщение
И ещё надо ли перед каждым считыванием запускать конвертацию?
Да, по дефолту, датчик настроен на 12 битное разрешение и конвертирование занимает 750мс. Можно ли просто дать команду на конвертирование через Skip Rom или же надо каждому датчику отдельно эту команду давать - не знаю. Думаю, оба варианта подходят.
Easyrider83 вне форума  
Непрочитано 24.11.2011, 17:32  
CMaxx22
Временная регистрация
 
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
CMaxx22 на пути к лучшему
По умолчанию Re: Отладочные платы для STM32

Ага, похоже понятно. Это приемлемо для уже подправленной версии библиотеки, где вы добавили sens_num во все процедуры? Я просто для наглядности откатился к первой версии библиотеки что вы давали, там массив ещё не двумерный. Попробую снова.
CMaxx22 вне форума  
Непрочитано 24.11.2011, 17:44  
Gaaaaaad
Частый гость
 
Регистрация: 07.03.2011
Сообщений: 38
Сказал спасибо: 1
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
Gaaaaaad на пути к лучшему
По умолчанию Re: Отладочные платы для STM32

Если кому-то грустно может сравнить свой код с

http://www.coocox.org/show_comp.php?...3-001fd0c63d33

могу ошибаться но кажется это первый "библиотечный" код под кортексы
Gaaaaaad вне форума  
Непрочитано 24.11.2011, 19:12  
CMaxx22
Временная регистрация
 
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
CMaxx22 на пути к лучшему
По умолчанию Re: Отладочные платы для STM32

Сообщение от kison Посмотреть сообщение
Обязательно самостоятельно? Эта задача уже решалась 100500 раз.
И не раз выкладывалось решение.
http://electronix.ru/forum/index.php...dpost&p=178318
Я не проверял работу, для обычных задач мне и самописных библ хватает. Поиск на шине ни разу не использовал. Но автор этой библы тут бывает.
Проверяйте работоспособность.
Конечно же запустить не получилось, снова эти андефайны и PORTD, DDRD непонятные поомешали...
CMaxx22 вне форума  
Непрочитано 24.11.2011, 20:36  
CMaxx22
Временная регистрация
 
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
CMaxx22 на пути к лучшему
По умолчанию Re: Отладочные платы для STM32

Посмотрите правильно ли я объявил массив адресов
unsigned char DS1822_SERIAL_NUMBER[5][8]
={{2,4,9,1,9,0,8,0},{2,5,6,6,7,8,8,0},{2,1,7,2,1,8 ,9,6},{2,1,3,3,0,2,1,6},{2,2,2,3,4,4,0,8}};
В каждых скобках адрес одного датчика чеерез запятую.
Почемуто хоть с общей конвертацией хоть с индивидуальной попытка считать показания по адресу возвращает no_echo при том что сама процедура конвертации воозвращает Sucess ...
Выззывваю так:
DS1822_Start_Conversion_Cmd(GPIOB,GPIO_Pin_1,3);
LCD_ShowNum(10,10,DS1822_Read_Temp_NoCRC_By_Rom(GPIOB,GPIO_Pin_1,3),8,16, RED);
Также если считать температуру пропустив ром то выдаёт нормально изменяющееся значение что говорит о том, что датчики в порядке, похоже DS1822_Read_Temp_NoCRC_By_Rom работает не верно, где исправить?

Последний раз редактировалось CMaxx22; 24.11.2011 в 20:48.
CMaxx22 вне форума  
Непрочитано 24.11.2011, 21:22  
CMaxx22
Временная регистрация
 
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
CMaxx22 на пути к лучшему
По умолчанию Re: Отладочные платы для STM32

Ссмоттрю далььше, функция выглядит так
unsigned int DS1822_Read_Temp_NoCRC_By_Rom (GPIO_TypeDef* GPIOx, unsigned long PIN, char sens_num)
{
if (DS1822_Send_Cmd_By_Rom(GPIOx, PIN, sens_num)==One_Wire_Success)
{
One_Wire_Write_Byte(DS1822_READ_STRATCHPAD_CMD,GPI Ox, PIN);
return One_Wire_Read_Byte(GPIOx, PIN)|(One_Wire_Read_Byte(GPIOx, PIN)‹‹;
}
else return One_Wire_Error_No_Echo;
}
И она вооззвврращаетт One_Wire_Error_No_Echo притом, ччтто отдельно взятая процедура DS1822_Send_Cmd_By_Rom по вине которой DS1822_Read_Temp_NoCRC_By_Rom может выдать One_Wire_Error_No_Echo сама по себе возвращает One_Wire_Success!!! Как такое вообщее возможно?
CMaxx22 вне форума  
Непрочитано 24.11.2011, 21:28  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Отладочные платы для STM32

Вы правы, такое не возможно. Постараюсь проверить в ближайшее время.
Easyrider83 вне форума  
Непрочитано 24.11.2011, 21:51  
CMaxx22
Временная регистрация
 
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
CMaxx22 на пути к лучшему
По умолчанию Re: Отладочные платы для STM32

Оказалось что 65535 возвращааетсся другим путём, прии поммощи загаадочноой связки
return One_Wire_Read_Byte(GPIOx, PIN)|(One_Wire_Read_Byte(GPIOx, PIN)‹‹;
Это выдаёёёт 65535

Отдельно (One_Wire_Read_Byte(GPIOx, PIN)‹‹ даёт 65280 а One_Wire_Read_Byte(GPIOx, PIN) даёт 255
Что делает эта строка?
CMaxx22 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Технология изготовления печатной платы Tungus55 Делимся опытом 1165 06.01.2017 19:19
Книги dosikus Делимся опытом 11242 29.12.2015 23:45
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


Часовой пояс GMT +4, время: 00:09.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot