Теперь в нашем онлайн-магазине доступна уникальная книга «BEAM-робототехника. От азов до создания практических устройств», идеально подходящая как для кружков робототехники, так и для самообучения дома. Вы можете приобрести её по привлекательной цене в 699 рублей. Дополнительная информация о книге доступна на нашем сайте. Также в ассортименте нашего онлайн-магазина представлены готовые наборы для сборки роботов, с помощью которых ваш ребенок сможет легко собрать своего первого робота, следуя нашим подробным инструкциям. Перейти в магазин


[ Раскрыть online-чат / Закрыть ] · [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: nightmare, Huntswarrior, Aleks_Crow, {{TNT}}  
Форум » Мастерская » Начинающим робототехникам » CRC8 Работа с ним
CRC8 Работа с ним
Отправлено 14.02.2013 - 22:381
Участник
6 сообщений
Мужчина
Привет всем smile
Недавно узнал о такой интерсной вещи как CRC8)) Нашёл код для моего любимого C# , вроде все просто.
Но я никак не могу смозговать как же принмать инфу на МК, использую atmega8.
Я отправляю пакет -
myserialport.Write(sendPacket, 0, sendPacket.Length);
А вот как его принять не могу понять, ктонить кто может работал с ним могли бы поделится кодом на С, как же его принять?)


Профиль Личное сообщение Дом. страница icq Skype
0
Отправлено 14.02.2013 - 23:012
Начальная группа
1798 сообщений
Мужчина
Сделай FIFO буфер на МК, походу удобно будет. Формат посылки сделай таким: синхробайт, кол-во байт данных, данные, CRC8


Профиль Личное сообщение Дом. страница icq Skype
38
Отправлено 15.02.2013 - 14:483
Участник
6 сообщений
Мужчина
Аммм.. FIFO буфер всмысле принмайть байты и запиывать их в массив а потом читать?
Формат посылки не понял,я просто в С языке не очень силен. Что такое синхробайт и в чем разница данных и CRC8.
Я ж так понимаю нужно принять sendPacket - массив данных и sendPacket.Lenght - размер массива.
Nightmare а можно увидеть код приема данных?


Профиль Личное сообщение Дом. страница icq Skype
0
Отправлено 15.02.2013 - 15:274
Участник
28 сообщений
Мужчина
CaspeR, и чем Вам так приглянулся CRC8?
" в чем разница данных и CRC8." - После применения к данным алгоритма CRC8 получается некоторое число.

Кажется мне, что товарищ немного неправильно понял суть CRC )


Профиль Личное сообщение Дом. страница icq Skype
4
Отправлено 15.02.2013 - 15:375
Участник
6 сообщений
Мужчина
Да всё я понял свою ошибку)) Решил свою задачу.
Я немного путаюсь в нем. Мы отправляем данные, а потом CRC и сверяемся сходится ли CRC, верно? Если CRC8 передаваемая и CRC8 расчитаная на МК сходятся то все верно, помоему так)

Добавлено (15.02.2013, 15:32)
---------------------------------------------
Мне CRC просто для передачи инфы по кабелю нужно, я сделал библиотеку и не парюсь что там да как там))

Добавлено (15.02.2013, 15:37)
---------------------------------------------



Профиль Личное сообщение Дом. страница icq Skype
0
Отправлено 15.02.2013 - 19:406
Участник
28 сообщений
Мужчина
Да, верно.


Профиль Личное сообщение Дом. страница icq Skype
4
Отправлено 28.02.2013 - 22:427
Участник
6 сообщений
Мужчина
Цитата
Ахахах, я тут давно не был)) Возился с делами )) писал RTOS , изучал всякую шнягу))


Добавлено (28.02.2013, 22:42)
---------------------------------------------
Помогите пожалуйста софт написать под ПК. Просто я вот чего не понимаю. Вот кусок кода.
Код
   private void button1_Click(object sender, EventArgs e)
      {
          byte checksum;
          byte t = 255;     
          byte[] testVal = new byte[]{t};
          CRC8Calc crc = new CRC8Calc(CRC8_POLY.CRC8_CCITT);
          checksum = crc.Checksum(testVal);
          sp.Write(t.ToString());
          sp.Write(checksum.ToString());
      }

Я отправляю это на МК а он не реагирует. Я отправляю переменную t и его crc. Byte - целочисленная переменная, использовать char тут никак нельзя, идут вычисления CRC8.
Скажите как правильно отправить чтобы принял МК. Я отправляю 1 байт и его CRC. На МК реализован хороший fifo буффер.
Когда я отправляю t.ToString(); я наверно отправляю "255" так байт, как 3 символа, верно? Подскажите как отправить данные для МК и чтоб он их принял.


Профиль Личное сообщение Дом. страница icq Skype
0
Отправлено 02.03.2013 - 13:278
Начальная группа
1798 сообщений
Мужчина
Проблема в прошивке.


Профиль Личное сообщение Дом. страница icq Skype
38
Отправлено 03.03.2013 - 13:119
Участник
6 сообщений
Мужчина
Цитата (nightmare)
Проблема в прошивке.

http://robocraft.ru/blog/2885.html


Профиль Личное сообщение Дом. страница icq Skype
0
Отправлено 03.03.2013 - 13:3710
Начальная группа
1798 сообщений
Мужчина
Во, теперь видно, что в коде программы на ПК была ошибка.


Профиль Личное сообщение Дом. страница icq Skype
38
Отправлено 03.03.2013 - 18:4111
Участник
6 сообщений
Мужчина
Цитата (nightmare)
Во, теперь видно, что в коде программы на ПК была ошибка.

да и в прошивке на мк


Профиль Личное сообщение Дом. страница icq Skype
0
Администраторы
3417 сообщений
Мужчина
Так а что не получается ? Там вроде в коде в конце статьи есть исходники ? При прошивке в студии все выбраны правильно параметры прошиваемого мк ? Например его модель и тп... confused А то бывает мк не тот выбирут и сидят думая что прошивка нерабочая inverted


Только дурак нуждается в порядке-гений господствует над хаосом...
Онлайн ЧАТ по робототехнике ! Заходи и общайся без регистрации =)
Профиль Личное сообщение Дом. страница icq Skype
34
Отправлено 04.03.2013 - 16:0613
Начальная группа
1798 сообщений
Мужчина
Там итоговый вариант, он работает.


Профиль Личное сообщение Дом. страница icq Skype
38
Форум » Мастерская » Начинающим робототехникам » CRC8 Работа с ним
  • Страница 1 из 1
  • 1
Поиск: