реклама на сайте
подробности

 
 
> DS18B20 вычисление CRC как это сделать?!, Почитал и даташит и апноты, там что то сказано, но не понял я.
eXeC001er
сообщение Jan 24 2006, 07:02
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 305
Регистрация: 23-02-05
Из: Краснодар
Пользователь №: 2 848



Можно подробнее, а если еще и примерчик что вабще гуд.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
d__
сообщение Feb 2 2006, 17:42
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 26-08-04
Пользователь №: 548



Вот еще один вариант реализации на языке С.
Характерная особенность-подсчитывает частичную контрольную сумму--т.е. с приходом каждого байта обновляется контрольная сумма. Переведено на С из контрольного примера в даташите на языке ассемблера Z80. Почему частичная--так удобнее, получил байт -- обновил контрольную сумму. Общая метода такова--перед началом приема информационного пакета контрольная сумма обнуляется. Потом принимаются все байты информационного пакета, включая контрольную сумму, каждый байт проходит через данную подпрограмму, обновляя контрольную сумму. Если пакет принят без ошибок, то вычисленная контрольная сумма равна нулю.

#define POLY8 (0x8c) //x^8+x^5+x^4+x^0 position bits are mirrored
// because register is shifted right


unsigned char partdowcrc(unsigned int oldcrc,unsigned char val)
{
register char i;
oldcrc ^= val;
for(i=0;i<8;i++)
{
if((oldcrc &1 )!=0)oldcrc ^= (POLY8 << 1);
oldcrc >>=1;
}
return oldcrc;
}
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- eXeC001er   DS18B20 вычисление CRC как это сделать?!   Jan 24 2006, 07:02
- - at90   для кодевижена. Использовалась для ds1990 #pragma ...   Jan 24 2006, 07:09
- - m16   у меня есть рабочий пример на асме авр. вышлю на м...   Jan 24 2006, 07:33
- - eXeC001er   Еще я не особенно врыбуюсь для каких байт считать ...   Jan 24 2006, 07:40
- - GxOST   Цитата(eXeC001er @ Jan 24 2006, 10:02) Мо...   Jan 24 2006, 07:42
- - eXeC001er   эт не то, я не разберусь в этих языках.   Jan 24 2006, 07:58
|- - GxOST   Цитата(eXeC001er @ Jan 24 2006, 10:58) Ци...   Jan 24 2006, 09:08
- - MicronSys   unsigned char one_wire_byte[9]={0x00,0x00,0x00,0x0...   Jan 24 2006, 08:11
- - MicronSys   Цитата(GxOST @ Jan 24 2006, 13:08) Цитата...   Jan 24 2006, 09:18
|- - GxOST   Цитата(MicronSys @ Jan 24 2006, 12:18) Ци...   Jan 24 2006, 11:26
- - haker_fox   В прикрепленной теме есть табличная реализация CRC...   Jan 24 2006, 09:19
- - MicronSys   Вот полный текст для работы с DS1990A #define ON...   Jan 24 2006, 09:27
- - ROC   А на чем пишем-то? ASM, C? Если С, то который? Для...   Jan 24 2006, 09:29
|- - IgorKossak   Цитата(ROC @ Jan 24 2006, 11:29) Что-то у...   Jan 24 2006, 10:11
- - Atashi   ежели памяти полно, а надо быстро, то вот так: cr...   Jan 24 2006, 10:29
- - eXeC001er   to MicronSys а почему здесь 7 а не 8?! for (j ...   Jan 24 2006, 10:41
|- - BVU   Цитата(eXeC001er @ Jan 24 2006, 13:41) to...   Jan 24 2006, 15:49
- - m16   рабочий пример на асме. до восьми датчиков ds1820....   Jan 24 2006, 10:45
- - eXeC001er   вот в айбатонах 8 байт и 8 это CRC! а в термом...   Jan 24 2006, 11:52
- - MicronSys   [quote name='eXeC001er' date='Jan 24 2...   Jan 24 2006, 14:57
|- - GxOST   Цитата(MicronSys @ Jan 24 2006, 17:57) to...   Jan 24 2006, 15:12
- - MicronSys   Бывает   Jan 24 2006, 15:20
- - Kovrov   на, мил человек, пользуйся и не мучейся :-) Код;**...   Jan 24 2006, 15:55
- - afe   Я уже давал эту ссылку и на этот вопрос там есть с...   Jan 25 2006, 22:57
- - Pyku_He_oTTyda   Kovrov Не обьясните, как начинающему на пальцах, к...   Feb 1 2006, 05:57
|- - m16   Цитата(Pyku_He_oTTyda @ Feb 1 2006, 08:57...   Feb 1 2006, 06:52
|- - Kovrov   Цитата(Pyku_He_oTTyda @ Feb 1 2006, 08:57...   Feb 2 2006, 17:22
- - Atashi   ... давненько не был здесь; похоже, сомнения насче...   Feb 1 2006, 08:27
- - Pyku_He_oTTyda   m16 Торнутая в морду лица ссылка помогла, мозги за...   Feb 1 2006, 10:21
|- - m16   Цитата(Pyku_He_oTTyda @ Feb 1 2006, 13:21...   Feb 1 2006, 11:47
- - Pyku_He_oTTyda   С СRС разобрался вчера на базе примера от Kovrov. ...   Feb 2 2006, 06:14
- - Atashi   Да, 01 участвует. Вообще, алгоритм-то универсальн...   Feb 2 2006, 13:16
- - Pyku_He_oTTyda   Kovrov Разве неправильно я расписал для 1990? П...   Feb 3 2006, 05:54
|- - Kovrov   Цитата(Pyku_He_oTTyda @ Feb 3 2006, 08:54...   Feb 3 2006, 10:38
- - Pyku_He_oTTyda   01 1E 06 CA 0C 00 00 70 Это конкретный ключ, пров...   Feb 3 2006, 11:38
|- - Kovrov   Цитата(Pyku_He_oTTyda @ Feb 3 2006, 14:38...   Feb 3 2006, 17:59
|- - ilya514   Цитата(Pyku_He_oTTyda @ Feb 3 2006, 14:38...   Feb 7 2006, 13:21
- - Kovrov   посмотрел на твой исходник ты в твоем случае 8ой б...   Feb 3 2006, 18:26
- - Pyku_He_oTTyda   Проблемы нет, просто хотелось уточнить все до конц...   Feb 6 2006, 05:49
- - Pyku_He_oTTyda   И вопрос в догонку: Если на шине присутствует подч...   Feb 8 2006, 05:53
|- - add   Цитата(Pyku_He_oTTyda @ Feb 8 2006, 08:53...   Feb 8 2006, 07:12
|- - Kovrov   Цитата(Pyku_He_oTTyda @ Feb 8 2006, 08:53...   Feb 8 2006, 07:34
- - Pyku_He_oTTyda   Цитатана счет 60 мкс - я не понял - речь идет о pr...   Feb 8 2006, 09:27
- - Kovrov   Presence pulsе делай по максимуму возможному а то...   Feb 8 2006, 10:00
- - Pyku_He_oTTyda   Ага, понятно, спасибо! А проснется процессор п...   Feb 8 2006, 10:46
- - Kovrov   если на инт0 посадишь то вообще может от любого шо...   Feb 8 2006, 10:52
- - PLATRO   парни а ниукаво нету просто проги для подсчета CRC...   Jun 13 2006, 17:58
|- - defunct   Цитата(PLATRO @ Jun 13 2006, 20:58) парни...   Jun 14 2006, 01:21
- - PLATRO   да в том то и фишка что я знаю тока vb )) и компил...   Jun 14 2006, 10:31
- - TomaT   Вот, может поможет чем... http://www.easics.com/we...   Jun 14 2006, 10:42
- - PLATRO   ну как я понял это штука тоже код на чомто генерит...   Jun 16 2006, 11:57
- - Nanobyte   Если это ключик от Dallas, то последние две цифры ...   Jun 16 2006, 13:03
- - PLATRO   вот там написано чтото вроде вот этого: 20 ...   Jun 16 2006, 14:39
- - Nanobyte   В Вашем случае: 01-Family code (DS1990) 20-CRC 00....   Jun 16 2006, 17:09
- - PLATRO   Опа! Спасибо бааааальшое! Осталось только...   Jun 16 2006, 19:08
- - Nanobyte   Посмотрите ещё и здесь: Имитатор Touch-Memory http...   Jun 16 2006, 19:43
- - PLATRO   да это слишком сложный. мне нада на один ключ   Jun 16 2006, 23:43


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 09:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01419 секунд с 7
ELECTRONIX ©2004-2016