Написал свою Onewire для Codevision

Обсуждаем контроллеры компании Atmel.
Ответить
Модератор
Аватара пользователя
Сообщения: 19077
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Сообщение Starichok51 »

AVK, именно, что поиск, так как Search в переводе именно поиск.
а чтение по англицки пишется совсем по другому.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Реклама
AVK
Потрогал лапой паяльник
Сообщения: 349
Зарегистрирован: Сб окт 20, 2007 14:12:03

Сообщение AVK »

У меня нет проблем с английским. Эта функция читает ромкоды датчиков. Результатом ее работы являются коды всех датчиков подключенных на шину. Просто для одного датчика есть команда READ_ROM а для нескольких SEARCH_ROM но делают они ровно одно и то же.
Реклама
Модератор
Аватара пользователя
Сообщения: 19077
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Сообщение Starichok51 »

может, у тебя с английским нет проблем, но с функцией SEARCH_ROM у тебя очень большие проблемы...
если они делают одно и то же, тогда попробуй прочитать температуру с помощью SEARCH_ROM одного конкретного датчика.
и если они делают одно и то же, тогда попробуй функцией READ_ROM прочитать коды ВСЕХ датчиков на линии.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
AVK
Потрогал лапой паяльник
Сообщения: 349
Зарегистрирован: Сб окт 20, 2007 14:12:03

Сообщение AVK »

Чувак, я эти функции сам написал и знаю, что они делают ))))))))))))
Реклама
Эиком - электронные компоненты и радиодетали
Модератор
Аватара пользователя
Сообщения: 19077
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Сообщение Starichok51 »

чувак, тогда я тебя поздравляю и я рад за тебя, что эти обе функции у тебя делают одно и тоже.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Реклама
AVK
Потрогал лапой паяльник
Сообщения: 349
Зарегистрирован: Сб окт 20, 2007 14:12:03

Сообщение AVK »

Чувак, результатом работы этих функций являются ромкоды, там один, там несколько. Это разве не одно и то же?
Реклама
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

//я нихуя не вкурил как она считается, мне было лень разбираться, поэтому я взял эту функцию в инете )))
мда... такой комментарий показателен. другие тоже не особо. Их интеллектуальность соответствует и коду. В топку.
Контактная информация:
AVK
Потрогал лапой паяльник
Сообщения: 349
Зарегистрирован: Сб окт 20, 2007 14:12:03

Сообщение AVK »

Ну и что? Там полностью моя функция чтения ромкодов. Она очень красивая получилась.
Вы нашли комент, не смотря код и решили что автор глуп?
Вы прикольный.
OKF
Это не хвост, это антенна
Сообщения: 1431
Зарегистрирован: Вт июн 07, 2011 08:03:18

Сообщение OKF »

А так можно?:
Спойлер

Код: Выделить всё

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;
    }
}
AVK
Потрогал лапой паяльник
Сообщения: 349
Зарегистрирован: Сб окт 20, 2007 14:12:03

Сообщение AVK »

Вы хоть сами поняли что запостили?
Можно как угодно, только внезапно в вашем листинге ничего и нет. Ни одной функции работы с физической линией.
OKF
Это не хвост, это антенна
Сообщения: 1431
Зарегистрирован: Вт июн 07, 2011 08:03:18

Сообщение OKF »

Физика отдельно - логика отдельно. Я не только понял, но у меня это ещё и работает.
AVK
Потрогал лапой паяльник
Сообщения: 349
Зарегистрирован: Сб окт 20, 2007 14:12:03

Сообщение AVK »

Кто бы спорил. Только это даже не четверть от всего необходимого кода.
Самое прикольное это SearchROM.
Друг Кота
Аватара пользователя
Сообщения: 25560
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="AVK",url="/forum/viewtopic.php?p=4494388#p4494388"]Самое прикольное это SearchROM.[/uquote]
К сожалению, использование этой функции для одинаковых микросхем бессмысленно.
Гирлянда датчиков температуры только смотрится прикольно, но никакого прока от нее нет, ибо невозможно определить топологию расположения каждого из датчиков температуры без перректальных манипуляций с включением-выключением микросхем в линии. Но и при таком раскладе гораздо проще включать датчики по одному и фиксировать их ID, а затем включить упорядоченный список ID в код МК, где и будет обозначено какому расположению соответствует какой ID. Так себе идея и процедура...
AVK
Потрогал лапой паяльник
Сообщения: 349
Зарегистрирован: Сб окт 20, 2007 14:12:03

Сообщение AVK »

А вот и нет, если датчика два три, то никаких проблем, переназначили в проге и все. А еще вполне может быть один датчик подключен внутри корпуса и все, ваши действия только развести руки.
Друг Кота
Аватара пользователя
Сообщения: 25560
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="AVK",url="/forum/viewtopic.php?p=4494521#p4494521"]если датчика два три, то никаких проблем[/uquote]
Даладна!!! :))) :))) :)))
Это с какого перепуга? Каждый трогать пальчиком? А если он недоступен?
Поиск сделан для определения на шине РАЗНЫХ устройств, когда потом можно считать какое устройство на этом ID.
Поставщик валерьянки для Кота
Сообщения: 1925
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Производитель Maxim предложил сам алгоритм 1-Wire Search Algorithm.
Использовать или нет, решает автор программного кода. А как функция в библиотеки: если используем, она не будет занимать память. Мне лучше иметь SEARCH. Напр. 2 недели назад сравнил сумку китайского DS18 с 3-мя оригинальными. Через 20 минут они (10 щт) показали те же данные, что и ориг. микросхемы. Доволен, выделил ИС как: "можно использовать". Ничего, что стоят примерно 1/10 цены оригинала.
Последний раз редактировалось veso74 Пт окт 27, 2023 17:42:46, всего редактировалось 1 раз.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 25560
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="AVK",url="/forum/viewtopic.php?p=4494521#p4494521"]может быть один датчик подключен[/uquote]
А зачем поиск для одного?
Поставщик валерьянки для Кота
Сообщения: 1925
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Для одного ИС и напр. в ATTiny13A нет смысла этой функции. Но если search есть в библиотеке, просто не используетесь. Думаю времена минимализма в написании программного кода давно прошли. Лучше, если библиотеки (драйвера для внешних устройств) будут поддерживать все возможности из документации микросхемы. То и из CRC в 90% случаев добавлять нет смысла.
Последний раз редактировалось veso74 Пт окт 27, 2023 17:49:29, всего редактировалось 1 раз.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 25560
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="veso74",url="/forum/viewtopic.php?p=4494558#p4494558"]Через 20 минут они (10 щт) показали те же данные[/uquote]
Ну да, есть нестандартные задачи, которые могут потребовать поиска.
Тут разговор идет о достаточно стандартных решениях.
Ну и то, что аппнота от Даллас-Максим-Аналог девайс позволяет реализовать поиск по готовому графическому алгоритму делает задачу написания кода достаточно несложной.
Поставщик валерьянки для Кота
Сообщения: 1925
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Да, решения приходят согласно поставленным задачам. Недавно в ATtiny13A поставил задачу (пр. яз. С) (как "брейнсторм" :ПП) "собрать" DS18 и OLED 091" (шрифтом, с отрицательными температурами, с десятичной точкой ...). Ну, сработало, с компромиссами. Не говорю, что это "правильный путь" писания прогр. кода ...
Последний раз редактировалось veso74 Пт окт 27, 2023 17:57:09, всего редактировалось 1 раз.
Контактная информация:
Ответить

Вернуться в «AVR»