Помогите перести код в понятный Ардуино
- Войдите на сайт для отправки комментариев
Пнд, 30/05/2016 - 12:40
Всем привет!
Такая проблема, есть код написанный в CodevisionAVR. Помогите пожалуйста перевести его в код понятный для Ардуино. Я только только начинаю знакомиться с программированием.
Вот сам код:
unsigned int text_parametr = 0xFFE0; // цвет параметров char convert[32]; #define BUFFER_SIZE 200 unsigned char buffer[BUFFER_SIZE]; // приемный буффер flash unsigned char startCommunication[] = {0x81,0x10,0xf1,0x81,0x03}; flash unsigned char readDataByLocalIdentifier_RLI_ASS[] = {0x82,0x10,0xF1,0x21,0x01,0xA5}; flash unsigned char readDTCByStatus[] = {0x84,0x10,0xF1,0x18,0x00,0x00,0x00,0x9D}; flash unsigned char clearDiagnosticInformation[] = {0x83,0x10,0xf1,0x14,0x00,0x00,0x98}; volatile unsigned char counter; if (StartSend == 1) { SendCommand(readDTCByStatus,8); StartSend = 0; } else { // !!!!!!!!!!! ответ может быть произвольной длины !!!!!!!!!!!!!! if (counter>12) { // парсим запрос + ответ unsigned char cislo_oshibok = 0; unsigned char otvet_length = 0; cislo_oshibok = buffer[12]; // смотрим число ошибок otvet_length = 13+(3*cislo_oshibok); // длинна ответа if (counter > otvet_length) { // ждем пока примутся все ошибки unsigned char i = 0; unsigned int crc = 0; for (i=8;i<otvet_length;i++) { crc = crc + buffer[i]; } i = crc & 0xFF; // берем 2 младших разряда if ( buffer[otvet_length] == i ) { // проверяем контрольную сумму sprintf(convert,"%d",cislo_oshibok); put_string(150,5,convert,text_parametr,1); if (cislo_oshibok != 0) { for (i=0;i < cislo_oshibok;i++) { sprintf(convert,"Р%02x%02x",buffer[(13+(i*3))],buffer[(14+(i*3))]); if (i < 6) { put_string(5,25+(i*15),convert,0xAFE0,1); } else if (i>=6 && i<12) { put_string(65,25+((i-6)*15),convert,0xAFE0,1); } else if (i>=12 && i<18) { put_string(125,25+((i-12)*15),convert,0xAFE0,1); } } } } counter = 0;
Что именно не получается? "Перевести код" - это не ответ, конкретно, что именно не получается. Либо это тема в "Ищу исполнителя".
Ты привел только кусок кода, вырезку из середины. Как из крыла сделать птицу? Вряд ли кто скажет.
Ну например ругается на put_string говорит нет такой команды. как эти строчки привести в понятный для дуино формат?
Ну вот уже проще. Правда CodeVisionAVR у меня нет. Но это не так важно, как отсутвие полного исходника, где есть все заголовочные файлы, по которым можно хотя бы понять, что это за функция, put_string. Судя по виду, вывод на графический дисплей. В таком случае есть несколько вариантов. Найти подобную библиотеку для Ардуино. Собрать существующую библиотеку под Ардуино (попробовать). Возможно кто-то знает, я больше ничем не могу помочь.