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

Вычисление CRC8 на бумажке - Atmega AVR микроконтроллер

06.02.2012, 21:02. Просмотров 10999. Ответов 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 на бумажке (Atmega AVR микроконтроллер):

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

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

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

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

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

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

2
Johmmy0007
0 / 0 / 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
Привет! Вот еще темы с решениями:

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

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

Вычисление непрерывных дробей и выражений. Вычисление полиномов и их производных.
1. Чему равна знакочередующаяся сумма цифр числа n. 2. Даны...

Вычисление факториала и вычисление степени числа
Нужно проверить правильность сделанной программы если не правильно помогите...


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

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

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