#1 Re: Програмування Arduino » Подсчет 1-Wire crc » 2016-05-25 18:11:51

NoName пише:

00101000
11101000
00001011
01101100
00000110
00000000
000000000
10110101

входные данные неверны

Спасибо за ответ...... Пожалуй отдохну денек и начну всё заново копать

#2 Re: Програмування Arduino » Подсчет 1-Wire crc » 2016-05-25 17:22:38

NoName пише:

много информации по crc ну и бардака там тоже дофига  )
http://www.info-system.ru/library/algo/crc1.pdf

Прочитал половину и понял только половину
А за вторую ссылку - спасибо. Буду читать

#3 Re: Програмування Arduino » Подсчет 1-Wire crc » 2016-05-25 17:09:28

Да у меня даже онлайн подсчет что то не то выдает или (скорее всего) я ему неправильно подаю данные.
У меня есть датчик: DS18B20 (Hex код: 28). Я сам написал пару функций которые смогли считать последовательность байт.

Я уже пробовал отправлять на онлайн подчет - и сумма не сходится с моей sad
Видимо я не правильные данные подаю.
Вот сообщение с моего датчика, 8 байт. Последний байт - CRC
00101000111010000000101101101100000001100000000000000000010110101
Его я переводил в HEX и проверял (без последнего байта, конечно) - ничё.
Пробовал тоже самое, но без лишних нулей в старших разрядах байтов:
10100011101000101111011001100010110101
Тоже не считает, так как надо.
Подкажите что именно я должен передавать в онлайн калькулятор что бы получить верный ответ.
101000             =28    (1-й байт)
11101000         =E8     (2-й байт)
1011                =B     (3-й байт)
1101100           =6C   (4-й байт)
110                  =6     (5-й байт)
0                      =0     (6-й байт)
0                      =0     (7-й байт)
10110101          =B5   (8-й байт) - собственно сам CRC

#4 Re: Програмування Arduino » Подсчет 1-Wire crc » 2016-05-25 12:51:01

Спасибо ребята, попробую код ваш использовать. Я бывал на всех этих ссылках - но толком для себя ничё не понял sad

#5 Програмування Arduino » Подсчет 1-Wire crc » 2016-05-24 23:24:19

necrozlover
відповідей: 11

Уже неделю пытаюсь понять алгоритм и вообще что делать для подсчета избыточной циклической суммы. Дело в том что я пишу библиотеку для связи по протоколу 1-Wire.... Собственно мне нужно понимать алгоритм подсчета CRC
Полином CRC=X^8+X^5+X4+1
Циклическая сумма высчитывается из 7 байт
Допустим моё сообщение "10110101000000000000000000000110011011000000101111101000"
Мне нужно моё сообщение поделить по модулю - 2 моё сообщение на двоичное число. Какое это число ?? Как мне перевести в двоичное число X^8+X^5+X4+1 ?
Это 2^8+2^5+2^4+1 выходит ? Выходит 305 в десятичном или 100110001 в двоичном ?
Пытался делить в ручную - не совпало.

Полином:100110001
CRC сумма от приёмника:00101000
Моё сообщение (56 бит или 7 байт):
10110101000000000000000000000110011011000000101111101000
остача от деления:01101011 (не совпадает с CRC от приёмника)
1011010100000000000000000000011001101100000010111110100000000000		
100110001........................~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
---------........................
 010110110.......................
 000000000.......................
 ---------.......................
  101101100......................
  100110001......................
  ---------......................
   010111010.....................
   000000000.....................
   ---------.....................
    101110100....................
    100110001....................
    ---------....................
     010001010...................
     000000000...................
     ---------...................
      100010100..................
      100110001..................
      ---------..................
       001001010.................
       000000000.................
       ---------.................
        010010100................
	000000000................
	---------................
	 100101000...............
	 100110001...............
	 ---------...............
	  000110010..............
	  000000000..............
	  ---------..............
	   001100100.............
	   000000000.............
	   ---------.............
	    011001000............
	    000000000............
	    ---------............
	     110010000...........
	     100110001...........
	     ---------...........
	      101000010..........
	      100110001..........
	      ---------..........
	       011100110.........
	       000000000.........
	       ---------.........
	        111001100........
		100110001........
		---------........
		 111111010.......
		 100110001.......
		 ---------.......
		  110010110......
		  100110001......
		  ---------......
		   101001110.....
		   100110001.....
		   ---------.....
		    011111110....
		    000000000....
		    ---------....
		     111111101...
		     100110001...
		     ---------...
		      110011001..
		      100110001..
		      ---------..
		       101010000.
		       100110001.
		       ---------.
		        011000010
			000000000
			---------
			 110000101
			 100110001
			 ---------
			  101101011
			  100110001
			  ---------
			   010110100
			   000000000
			   ---------
			    101101001
			    100110001
			    ---------
			     010110001
			     000000000
			     ---------
			      101100010
			      100110001
			      ---------
			       010100110
			       000000000
			       ---------
			        101001100
				100110001
				---------
				 011111010
				 000000000
				 ---------
				  111110100
				  100110001
				  ---------
				   110001010
				   100110001
				   ---------
				    101110111
				    100110001
				    ---------
				     010001100
				     000000000
				     ---------
				      100011001
	    			      100110001
				      ---------
				       001010001
				       000000000
				       ---------
				        010100011
					000000000
					---------
					 101000111
					 100110001
					 ---------
					  011101101
					  000000000
					  ---------
					   111011010
					   100110001
					   ---------
					    111010111
					    100110001
					    ---------
					     111001100
					     100110001
					     ---------
					      111111010
					      100110001
					      ---------
					       110010110
					       100110001
					       ---------
					        101001110
						100110001
						---------
						 011111110
						 000000000
						 ---------
						  111111100
						  100110001
						  ---------
						   110011010
						   100110001
						   ---------
						    101010110
						    100110001
						    ---------
						     011001110
						     000000000
						     ---------
						      110011100
						      100110001
						      ---------
						       101011010
						       100110001
						       ---------
							01101011
					   
				  
		  

#6 Re: Апаратні питання » LCD от Nokia 5110 » 2016-05-16 18:41:05

Спасибо и на этом, хотя подобного ответа я боялся больше всего smile

#7 Re: Апаратні питання » LCD от Nokia 5110 » 2016-05-11 22:36:13

vvr пише:

ну написать библиотеку для дисплея не совсем для новичка задача smile

Но с чего то же нужно начинать. Мне не интересно писать скетчи где все решают 1-2 строчки функций чужих библиотек. Я планирую научится работать с любыми микроконтролерами. И пусть я потрачу неделю но смогу вывести один пиксель на экран, сам. Чем рисунок с помощью генераторов массивов и чужих библиотек

#8 Re: Апаратні питання » LCD от Nokia 5110 » 2016-05-11 22:32:50

Но я хочу знать как. Знать какими знаниями нужно владеть. Какие книги прочесть. Правда не хочу  забивать голову лишним, так как сам толком не знаю что нужно для этого. Но мне хватит терпения, если я буду видеть четкий путь перед собой.

#9 Апаратні питання » LCD от Nokia 5110 » 2016-05-11 22:12:29

necrozlover
відповідей: 8

Доброе время суток! Ужасно не терпится разобраться как устроен интерфейс передачи данных между ардуино и этим дисплеем. Перелазил кучу статей и все пишут "...делай так и так, загружай наш скетч и радуйся......."
Я мечтал сам создать свои библиотеки и насладится тем что железо ожило под моими руками, а тут толком не нашёл ни одного адекватного описания даже по существующим библиотекам, которых море, как оказалось!  sad
Кое где написал что интерфейс схожий с SPI (что окончательно сбило меня с толку, так как я думал что там именно SPI и никакой другой)...
Нормальной статьи по SPI и экранам не нашёл что бы именно для новичков, под ардуино без ассамблеров и разжованно всё.
Кто нибудь направьте меня на путь истинный smile

Підвал форуму