Электронный замок с управлением от таблеток iBUTTON

Поклонники продукции Microchip Technology Inc тусуются тут.
invisible86
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Вт сен 11, 2012 07:09:52

Re: Электронный замок с управлением от таблеток iBUTTON

Сообщение invisible86 »

shads, а что у тебя за 8UL, вроде бы сдвиг с присваиванием обратно пишется просто abc <<= 8;
Последний раз редактировалось invisible86 Пн сен 17, 2012 10:42:50, всего редактировалось 1 раз.
invisible86
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Вт сен 11, 2012 07:09:52

Re: Электронный замок с управлением от таблеток iBUTTON

Сообщение invisible86 »

shads, а ты не знаешь как организовать проверку CRC для ds1990, мануал весь мозг вынес, а главное полином что то знакомое но не помню))
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Re: Электронный замок с управлением от таблеток iBUTTON

Сообщение shads »

invisible86 писал(а):shads, а что у тебя за 8UL, вроде бы сдвиг с присваиванием обратно пишется просто abc <<= 8;
Ха..... я тоже недавно, немало намучился, пока познал тонкости C, очень он гибкий, спасибо местным профи, прояснили что да как.....
В обчем обычная константа по умолчанию двух байтная.....
т.е. если я пишу abc<<=8 то у меня работа в переменной abc будет проводится только с 2-мя байтами.....
а если я пишу abd<<8UL то я даю знать компилятору, что константа 8 должна быть 4-х байтной (unsigned long) чтобы соответствовать 4-х байтной abc.....

invisible86 писал(а):shads, а ты не знаешь как организовать проверку CRC для ds1990, мануал весь мозг вынес, а главное полином что то знакомое но не помню))
Тоже собаку съел, подсказали тут, сейчас написал для себя такую процедуру для датчиков DS18B20, вроде работает, но это так, в протеусе, в реале пока не проверял. Думаю и в таблетках такой же вариант должен работать.
Спойлер

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

//----------
//ФУНКЦИЯ ПОДСЧЕТА КОНТРОЛЬНОЙ СУММЫ
//АРГУМЕНТ - байт участвующий в формировании контрольной суммы
//OneWireCheckSumm - глобальная переменная контрольной суммы

void CheckSumm(char data)
{
    for (char i=0; i<8; i++){
        char temp = data;
        temp ^= OneWireCheckSumm;
        if (temp & 0x01){
            OneWireCheckSumm ^= 0x18;
            temp = 0x80;
        }
        else
            temp 
= 0;
        OneWireCheckSumm >>= 1;
        OneWireCheckSumm |= temp;
        data >>= 1;
    }
}
 
invisible86
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Вт сен 11, 2012 07:09:52

Re: Электронный замок с управлением от таблеток iBUTTON

Сообщение invisible86 »

shads, не могу понять как она у тебя вычисляет CRC, ты не мог бы пояснить
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Re: Электронный замок с управлением от таблеток iBUTTON

Сообщение shads »

Перед началом приема\передачи обнуляеш глобальную переменную OneWireCheckSumm.

потом в цикле после приема\передачи каждого байта вызываеш процедуру CheckSumm (байт); передавая в значении байт.

после приема\передачи всей серии проверяеш OneWireCheckSumm, там должно быть 0
(если не 0 значит ошибка приема\ъпередачи).
vano11
Вымогатель припоя
Сообщения: 653
Зарегистрирован: Вс дек 20, 2009 09:44:51
Откуда: 016RU

Re: Электронный замок с управлением от таблеток iBUTTON

Сообщение vano11 »

Статья "Интерфейс 1-Wire. Описание протокола, алгоритмы реализации, рекомендации по применению. Автор - ARV." http://radiokot.ru/articles/13/ . Есть примеры расчета CRC
invisible86
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Вт сен 11, 2012 07:09:52

Re: Электронный замок с управлением от таблеток iBUTTON

Сообщение invisible86 »

sads, я немного потерялся, осваивал протеус, интересная вещь, смоделировал работу клавиатуры, с ibutton пока не получается
invisible86
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Вт сен 11, 2012 07:09:52

Re: Электронный замок с управлением от таблеток iBUTTON

Сообщение invisible86 »

не нашел как в нем смоделировать ibutton ds1990, наверное в нем нет ее в библиотеке
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Электронный замок с управлением от таблеток iBUTTON

Сообщение Аlex »

Есть она там.
invisible86
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Вт сен 11, 2012 07:09:52

Re: Электронный замок с управлением от таблеток iBUTTON

Сообщение invisible86 »

ага нашел
invisible86
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Вт сен 11, 2012 07:09:52

Re: Электронный замок с управлением от таблеток iBUTTON

Сообщение invisible86 »

с ibutton пока притормозил, появился другой вопрос про прерывания, почему светодиод на порту d мигает с частотой раз в секунду только при нажатой кнопке клавиатуры 3х4, что я сделал не так?
Вложения
Proteus.rar
(30.59 КБ) 239 скачиваний
Ответить

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