Написал свою Onewire для Codevision
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Написал свою Onewire для Codevision
AVK, именно, что поиск, так как Search в переводе именно поиск.
а чтение по англицки пишется совсем по другому.
а чтение по англицки пишется совсем по другому.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- Реклама
Re: Написал свою Onewire для Codevision
У меня нет проблем с английским. Эта функция читает ромкоды датчиков. Результатом ее работы являются коды всех датчиков подключенных на шину. Просто для одного датчика есть команда READ_ROM а для нескольких SEARCH_ROM но делают они ровно одно и то же.
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Написал свою Onewire для Codevision
может, у тебя с английским нет проблем, но с функцией SEARCH_ROM у тебя очень большие проблемы...
если они делают одно и то же, тогда попробуй прочитать температуру с помощью SEARCH_ROM одного конкретного датчика.
и если они делают одно и то же, тогда попробуй функцией READ_ROM прочитать коды ВСЕХ датчиков на линии.
если они делают одно и то же, тогда попробуй прочитать температуру с помощью SEARCH_ROM одного конкретного датчика.
и если они делают одно и то же, тогда попробуй функцией READ_ROM прочитать коды ВСЕХ датчиков на линии.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Re: Написал свою Onewire для Codevision
Чувак, я эти функции сам написал и знаю, что они делают ))))))))))))
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Написал свою Onewire для Codevision
чувак, тогда я тебя поздравляю и я рад за тебя, что эти обе функции у тебя делают одно и тоже.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- Реклама
Re: Написал свою Onewire для Codevision
Чувак, результатом работы этих функций являются ромкоды, там один, там несколько. Это разве не одно и то же?
Re: Написал свою Onewire для Codevision
мда... такой комментарий показателен. другие тоже не особо. Их интеллектуальность соответствует и коду. В топку.//я нихуя не вкурил как она считается, мне было лень разбираться, поэтому я взял эту функцию в инете )))
Re: Написал свою Onewire для Codevision
Ну и что? Там полностью моя функция чтения ромкодов. Она очень красивая получилась.
Вы нашли комент, не смотря код и решили что автор глуп?
Вы прикольный.
Вы нашли комент, не смотря код и решили что автор глуп?
Вы прикольный.
Re: Написал свою Onewire для Codevision
А так можно?:
Спойлер
Код: Выделить всё
void ds18b20Exe() {
static uint16_t state;
static uint16_t timer;
static uint16_t temp;
if (timer)
--timer;
else
switch (state) {
case 0:
if (!dsReset())
break;
next(state);
dsByte(SKIP_ROM);
next(state);
dsByte(READ_SCRATCHPAD);
next(state);
temp = dsByte(0xff);
next(state);
temp |= dsByte(0xff)<<8;
temperature = ds2cels(temp);
next(state);
if (!dsReset()) {
state = 0;
break;
}
next(state);
dsByte(SKIP_ROM);
next(state);
dsByte(CONVERT_T);
timer = ms2sys(CONVERTION_TIME);
state = 0;
break;
}
}
Re: Написал свою Onewire для Codevision
Вы хоть сами поняли что запостили?
Можно как угодно, только внезапно в вашем листинге ничего и нет. Ни одной функции работы с физической линией.
Можно как угодно, только внезапно в вашем листинге ничего и нет. Ни одной функции работы с физической линией.
Re: Написал свою Onewire для Codevision
Физика отдельно - логика отдельно. Я не только понял, но у меня это ещё и работает.
Re: Написал свою Onewire для Codevision
Кто бы спорил. Только это даже не четверть от всего необходимого кода.
Самое прикольное это SearchROM.
Самое прикольное это SearchROM.
- КРАМ
- Друг Кота
- Сообщения: 25259
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Написал свою Onewire для Codevision
[uquote="AVK",url="/forum/viewtopic.php?p=4494388#p4494388"]Самое прикольное это SearchROM.[/uquote]
К сожалению, использование этой функции для одинаковых микросхем бессмысленно.
Гирлянда датчиков температуры только смотрится прикольно, но никакого прока от нее нет, ибо невозможно определить топологию расположения каждого из датчиков температуры без перректальных манипуляций с включением-выключением микросхем в линии. Но и при таком раскладе гораздо проще включать датчики по одному и фиксировать их ID, а затем включить упорядоченный список ID в код МК, где и будет обозначено какому расположению соответствует какой ID. Так себе идея и процедура...
К сожалению, использование этой функции для одинаковых микросхем бессмысленно.
Гирлянда датчиков температуры только смотрится прикольно, но никакого прока от нее нет, ибо невозможно определить топологию расположения каждого из датчиков температуры без перректальных манипуляций с включением-выключением микросхем в линии. Но и при таком раскладе гораздо проще включать датчики по одному и фиксировать их ID, а затем включить упорядоченный список ID в код МК, где и будет обозначено какому расположению соответствует какой ID. Так себе идея и процедура...
Re: Написал свою Onewire для Codevision
А вот и нет, если датчика два три, то никаких проблем, переназначили в проге и все. А еще вполне может быть один датчик подключен внутри корпуса и все, ваши действия только развести руки.
- КРАМ
- Друг Кота
- Сообщения: 25259
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Написал свою Onewire для Codevision
[uquote="AVK",url="/forum/viewtopic.php?p=4494521#p4494521"]если датчика два три, то никаких проблем[/uquote]
Даладна!!!
Это с какого перепуга? Каждый трогать пальчиком? А если он недоступен?
Поиск сделан для определения на шине РАЗНЫХ устройств, когда потом можно считать какое устройство на этом ID.
Даладна!!!
Это с какого перепуга? Каждый трогать пальчиком? А если он недоступен?
Поиск сделан для определения на шине РАЗНЫХ устройств, когда потом можно считать какое устройство на этом ID.
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Написал свою Onewire для Codevision
Производитель Maxim предложил сам алгоритм 1-Wire Search Algorithm.
Использовать или нет, решает автор программного кода. А как функция в библиотеки: если используем, она не будет занимать память. Мне лучше иметь SEARCH. Напр. 2 недели назад сравнил сумку китайского DS18 с 3-мя оригинальными. Через 20 минут они (10 щт) показали те же данные, что и ориг. микросхемы. Доволен, выделил ИС как: "можно использовать". Ничего, что стоят примерно 1/10 цены оригинала.
Использовать или нет, решает автор программного кода. А как функция в библиотеки: если используем, она не будет занимать память. Мне лучше иметь SEARCH. Напр. 2 недели назад сравнил сумку китайского DS18 с 3-мя оригинальными. Через 20 минут они (10 щт) показали те же данные, что и ориг. микросхемы. Доволен, выделил ИС как: "можно использовать". Ничего, что стоят примерно 1/10 цены оригинала.
Последний раз редактировалось veso74 Пт окт 27, 2023 17:42:46, всего редактировалось 1 раз.
- КРАМ
- Друг Кота
- Сообщения: 25259
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Написал свою Onewire для Codevision
[uquote="AVK",url="/forum/viewtopic.php?p=4494521#p4494521"]может быть один датчик подключен[/uquote]
А зачем поиск для одного?
А зачем поиск для одного?
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Написал свою Onewire для Codevision
Для одного ИС и напр. в ATTiny13A нет смысла этой функции. Но если search есть в библиотеке, просто не используетесь. Думаю времена минимализма в написании программного кода давно прошли. Лучше, если библиотеки (драйвера для внешних устройств) будут поддерживать все возможности из документации микросхемы. То и из CRC в 90% случаев добавлять нет смысла.
Последний раз редактировалось veso74 Пт окт 27, 2023 17:49:29, всего редактировалось 1 раз.
- КРАМ
- Друг Кота
- Сообщения: 25259
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Написал свою Onewire для Codevision
[uquote="veso74",url="/forum/viewtopic.php?p=4494558#p4494558"]Через 20 минут они (10 щт) показали те же данные[/uquote]
Ну да, есть нестандартные задачи, которые могут потребовать поиска.
Тут разговор идет о достаточно стандартных решениях.
Ну и то, что аппнота от Даллас-Максим-Аналог девайс позволяет реализовать поиск по готовому графическому алгоритму делает задачу написания кода достаточно несложной.
Ну да, есть нестандартные задачи, которые могут потребовать поиска.
Тут разговор идет о достаточно стандартных решениях.
Ну и то, что аппнота от Даллас-Максим-Аналог девайс позволяет реализовать поиск по готовому графическому алгоритму делает задачу написания кода достаточно несложной.
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Написал свою Onewire для Codevision
Да, решения приходят согласно поставленным задачам. Недавно в ATtiny13A поставил задачу (пр. яз. С) (как "брейнсторм" :ПП) "собрать" DS18 и OLED 091" (шрифтом, с отрицательными температурами, с десятичной точкой ...). Ну, сработало, с компромиссами. Не говорю, что это "правильный путь" писания прогр. кода ...
Последний раз редактировалось veso74 Пт окт 27, 2023 17:57:09, всего редактировалось 1 раз.


