Пн сен 17, 2012 10:38:31
Пн сен 17, 2012 10:42:14
Пн сен 17, 2012 11:22:02
Ха..... я тоже недавно, немало намучился, пока познал тонкости C, очень он гибкий, спасибо местным профи, прояснили что да как.....invisible86 писал(а):shads, а что у тебя за 8UL, вроде бы сдвиг с присваиванием обратно пишется просто abc <<= 8;
Тоже собаку съел, подсказали тут, сейчас написал для себя такую процедуру для датчиков DS18B20, вроде работает, но это так, в протеусе, в реале пока не проверял. Думаю и в таблетках такой же вариант должен работать.invisible86 писал(а):shads, а ты не знаешь как организовать проверку CRC для ds1990, мануал весь мозг вынес, а главное полином что то знакомое но не помню))
//----------
//ФУНКЦИЯ ПОДСЧЕТА КОНТРОЛЬНОЙ СУММЫ
//АРГУМЕНТ - байт участвующий в формировании контрольной суммы
//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;
}
}
Вт сен 18, 2012 04:22:29
Вт сен 18, 2012 08:10:53
Вт сен 18, 2012 08:33:54
Ср сен 19, 2012 19:32:08
Ср сен 19, 2012 19:36:40
Ср сен 19, 2012 19:42:18
Пт сен 21, 2012 05:24:50
Пт сен 21, 2012 05:34:12