alexsis
-
Постов
11 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Сообщения, опубликованные alexsis
-
-
Это точно,после того как войдеш во вкус возвращаться назад как-то уже и не охота.
0 -
Спасибо теперь все понятно и дело двинулось дальше.
0 -
Уважаемый ss85, простите за назойливость но не могли бы вы поподробнее объякнить вот это
while (sum>>16){
sum = (sum & 0xFFFF)+(sum >> 16);
}, то уже весь моск кипит.
0 -
"Если тупо в прерывание таймера вписать этот кусок, то будет ли работать? или еще чего надо?" будет но обработчик прерывания должен быть как можно короче, в идеале там только выставляют флаги, а их обработку и принятие рещений делают в основном цикле, но если кроме измерения температуры больше делать нечего то можно код обрабатывать и в прерывании.
0 -
Пишу на ассемблере,на днях попробовал си мое мнение ассемблер намного понятнее там что написал то и получил а Си больше походит на магию,одни указатели чего стоят, а на ассемблере это всего лишь команда ldd.
1 -
"ой да прям, сами попробуйте по курсу николаева ( 123AVR ) че та понять" хороший курс, ваши непонятки от того что вы не знаете языка, а начинась лучше с ассемблера, на нем что написал то и получил и заодно и архитектуру изучите.
0 -
Я не прошу описание алгоритмов,растолкуйте мне пожалуйста как работает данный код?
0 -
Добрый день уважаемые форумчане,делаю устройство удаленого измерения температуры,работает се устройство по Ethernety,устройство собрано на ENC28J60м в качестве хоста используется mega16, запустил устройство и дело даже дошло до пинга, но устройство неправильно считает контрольную сумму ip пакета вследствии чего ip пакет в копьютере отбрасывается,имеется подпрограмма расчета конторольной сумы вот она
uint16_t checksum(uint8_t *buf, uint16_t len,uint8_t type){ // type 0=ip // 1=udp // 2=tcp uint32_t sum = 0; if(type==1){ sum+=IP_PROTO_UDP_V; // protocol udp // the length here is the length of udp (data+header len) // =length - IP addr length sum+=len-8; // = real udp len } if(type==2){ sum+=IP_PROTO_TCP_V; // the length here is the length of tcp (data+header len) // =length - IP addr length sum+=len-8; // = real tcp len } // build the sum of 16bit words while(len >1){ sum += 0xFFFF & (*buf<<8|*(buf+1)); buf+=2; len-=2; } // if there is a byte left then add it (padded with zero) if (len){ sum += (0xFF & *buf)<<8; } // now calculate the sum over the bytes in the sum // until the result is only 16bit long while (sum>>16){ sum = (sum & 0xFFFF)+(sum >> 16); } // build 1's complement: return( (uint16_t) sum ^ 0xFFFF); }
Это мой первый проект на с до этого програмировал на ассемблере, с кодом впринципе разобрался но не могу понять данный код особенно интересует строки while (sum>>16){
sum = (sum & 0xFFFF)+(sum >> 16);
}
В сети ничего внятного на эту тему найти не могу. Знатоки Си подскажите что творится в коде.
0 -
Доброго времени суток. Собрал программатор BIOWIT, вставил контроллер,контроллер прошился нормально, программа выдала ОК однако в схеме контроллер молчит ни чего не мигает не моргает, контроллер 100% исправный перерыл кучу инфы ничего,кто сталкивался с подовной проблемой отзовитесь.
0 -
ммм...да ошибочка вышла нашел даташит, at89c2051 это mcs-51 всем спасибо за помощь буду ковырять дальше.
0 -
Доброго времени суток. Решил попробывать avr, до этого сидел на pic, взял что было под рукой-at89c2051
микроконтроллер снят с производства , у кого есть плиз даташит и описание регистров.
0
Нужна Ваша Помощь
в Корзина
Опубликовано
Добрый день уважаемые форумчане, имеется usb камера подключенная к локальной сети через конвертер usb-ethernet, usb chost конвертера работает с видеокамерой, упаковывает полученные пакеты в ethernet и шлет в сеть посредством udp, т. е подключаем камеру , нажимает кнопку старт и пакеты начинают сыпаться в сеть, вопрос чем можно захватить эти пакеты и увидеть что снимает камера, изображение с камеры передается в YUY2,все просмотрщики веб камер требуют установления соединения с камерой по tcp