Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/61: Рейтинг темы: голосов - 61, средняя оценка - 4.92
Mourkrym
0 / 0 / 0
Регистрация: 14.12.2011
Сообщений: 45
1

Вычисление CRC8 на бумажке

06.02.2012, 21:02. Просмотров 11050. Ответов 2
Метки нет (Все метки)

Доброго времени суток, уважаемые. При изучении датчика DS18S20, в результате была написана программа чтения температуры, писал сам, разумеется пользовался примерами. Целью было досконально разобраться в алгоритме работы (приема и отправки данных к датчику и обратно). Вроде разобрался. Получаю в data (соответственно 9 ячеек памяти) ssratchpad. Все ок, все похоже на правду. Настало время посчитать CRC. Опять же, в интернетахЪ куча примеров на ASM/C и прочего. Решил для начала посчитать на листике, и впал в ступор))
Итак, пользовался информацией, изложенной тут, и статьей Ross N. Wyttyoms "Эленентарное руководство по CRC алгоритмам обнаружения ошибок".

Итак беру их пример, полином: x8 + x2 + x + 1, данные: 01010111.
Код
   0101011100000000 | 100000111
1: 000000000        | 01010110
101011100
2:  100000111
010110110
3:   000000000
101101100
4:    100000111
011010110
5:     000000000
110101100
6:      100000111
101010110
7:       100000111
010100010
8:        000000000
->         10100010
10100010 - получили тот же результат, что и в статье, все хорошо (надеюсь...)

Меняю на нужный мне полином - x8 + x5 + x4 + 1, т.е. имеем 100110001 и данные, допустим 0x01 = 00000001
Т.е. делим
Код
0000000100000000 | 100110001
Используя калькулятор CRC для 1-wire от уважаемого ORV, должен получиться ответ 0x5e, а получаю 0x31 (код вычислений не буду приводить, опять пробелы подбирать).
Проект стоит) хочу термометр доделать) Брать готовое нехочется. По идее и без проверки CRC будет работает - но эмулирую в Proteus, а в реале - и помехи и емкость линии и прочее.
Подскажите, где затык? Заранее благодарен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2012, 21:02
Ответы с готовыми решениями:

CRC8 для Dallas издевательство или реальность?
Кто нибуть знает самый простой принцип вычисления CRC для чудо таблетки? Литература прочитаная мной...

На бумажке написать засекреченный шифр Гаусса
Нужно на бумажке написать засекреченный шифр Гаусса, подскажите как это делается.

CRC8
Доброго времени суток! Люди знающие, помогите написать расчет crc8 на Lua. В документации к...

CRC8
Здравствуйте, помогите пожалуйста разобраться. Есть некая последовательность символов в Hex...

Проверка контрольной суммы crc8
народ, подскажите как сделать проверку контрольной суммы допустим поступают байты: 170 7 0 0 7 102...

2
Johmmy0007
1 / 1 / 0
Регистрация: 30.08.2011
Сообщений: 9,944
06.02.2012, 21:40 2
может это поможет:
http://ru.wikipedia.org/wiki/%D0%A6%D0% ... 0%BE%D0%B4
0
Mourkrym
0 / 0 / 0
Регистрация: 14.12.2011
Сообщений: 45
06.02.2012, 21:54 3
Спасибо...
О_о, а тут как раз 0х31... евпатий коловратий, значит считаю я правильно.. Но DS18s20 считает тоже правильно, но отдает именно 0x5e. Блин, второй вечер в ф топку.... ) Знатная трава, буду дальше курить мануалы.
Код
const unsykned char Crc8Table[256] = {
0x00, 0x31, 0x62, 0x53, 0xC4, 0xF5, 0xA6, 0x97,
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2012, 21:54

Вычисление периметра(вычисление расстояния между вершинами реализовать в виде функции)
даны координаты вершин многоугольника (X1,Y1), (X2,Y2),...(Xn,Yn). Напишите программу для...

Оформить в виде функции вычисление среднеарифметического, вычисление суммы и произведения чисел
2. Даны три числа. Оформить в виде функции вычисление среднеарифметического, вычисление суммы и...

Возведение в степень по модулю, вычисление НОД, вычисление инверсии
Доброго времени суток. Для реализации RSA нужны 3 функции " возведение в степень по модулю (а^x...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru