Вопросы по С/С++ (СИ)

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1135
Зарегистрирован: Сб июл 11, 2009 18:42:21
Откуда: Украина, г.Николаев

Сообщение Roman Venom »

Аlex
Можно. Купить отладчик, который умеет ставить софтварные брекпоинты.
ICD 3 недёшево стоит, однако. :(
Успех - императив!
Реклама
Держит паяльник хвостом
Аватара пользователя
Сообщения: 906
Зарегистрирован: Ср апр 16, 2008 13:22:54
Откуда: Приднестровье, Тирасполь

Сообщение Goodefine »

Есть еще VSPE - полезная программа для работы с портами
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
Реклама
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

Согласен. Но, он того стОит, если человек реально занялся PIC'ами и будет создавать не просто новогодние мигалки.
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вт окт 09, 2012 14:09:39

Сообщение drac0Sha »

так настроил compim. Дополнительную программу тоже настроил ( Terminal). Но почему то не могу понять как оно должно работать. При отправке из программы Terminal команды 0х33, никто не реагирует - ни virtual terminal, ни мк. Но если я нажму кнопку в virtual terminal в протеусе, то в программе Terminal отобразится какую я кнопку нажал.
Вот ссылка по которой я их настраивал и заодно по фотографии urry:
Вложения
схемаРадиокот2.PNG
(95.15 КБ) 310 скачиваний
Реклама
Эиком - электронные компоненты и радиодетали
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

Потому, что Вы выводом ТХ процессора "душите" сигнал с СОМ порта. USART - это интерфейс для связи только 2-ух устройств.
Контактная информация:
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

-1 к внимательности - rx compim идет на rx контроллера.
И уберите терминал с передачи
Контактная информация:
Реклама
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вт окт 09, 2012 14:09:39

Сообщение drac0Sha »

Так, сделал вроде. При нажатии на кнопку send в Terminale у compim rxd зеленый меняется на красный, т.е. взаимодействие вроде идет. Но на команду реакции нету. Ничего не меняется и ответа нету. Если раньше, когда был просто подключен virtual terminal без compim'a, при нажатии на клавишу хотя бы какой то ответ шел в нужном формате. То сейчас вообще ничего не приходит.
Вложения
схемаРадиокот3.PNG
(216.09 КБ) 322 скачивания
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

Вы обладаете удивительным свойством - не слышать то, что вам говорят...
1 к внимательности - rx compim идет на rx контроллера.
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

rx compim идет на rx контроллера.
На сколько мне известно, на СОМПИН'е подписаны внешние выводы СОМ порта. Т.е. , если написано RX, значит это вход на порте, соответственно, его нужно подключать к RX проца. СОМ: 2-ой ПИН - RX, 3-ий - TX.
Единственное непонятно, чем ТС смотрит посылку в протеусе ? Терминал то удалён. :dont_know:
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вт окт 09, 2012 14:09:39

Сообщение drac0Sha »

так ответ приходит.Надо оказывается набирать полный пакет вида $7E $01 $33 $( контрольная сумма)
Ребят, вопрос у меня есть команды 0х31, 0х32, 0х33, 0х34, 0х35 и мне нужно подсчитать контрольную сумму методом исключающее или с командой, как посчитать , например с 0х31 ?
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

методом исключающее или с командой
Что это за метод такой ?
Если нужно просто сделать XOR с командой, то делайте его и пихайте в контрольную сумму.
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вт окт 09, 2012 14:09:39

Сообщение drac0Sha »

Аlex писал(а):
методом исключающее или с командой
Что это за метод такой ?
Если нужно просто сделать XOR с командой, то делайте его и пихайте в контрольную сумму.
вот получается, что мне нужно заранее посчитать, чтобы программа распознала пакет, так как я сейчас ввел неправильную контрольную сумму и она мне выдала сообщение, что неправильная контрольная сумма.
Вот в задании написано:
Контрольная сумма CS должна вычисляться сложением байтов поля message (команда, например, 0х33) при помощи операции «ИСКЛЮЧАЮЩЕЕ ИЛИ»( XOR).
Так вот как мне, например, для 0х33 сделать операцию XOR? Разве не нужно два аргумента? А у меня получается один - команда.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

unsigned char fn_KS(unsigned char * arr,unsigned char len)
{
unsigned char sum=0;
do
{
sum^=*arr++;
}while(--len);
return sum;
}
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вт окт 09, 2012 14:09:39

Сообщение drac0Sha »

спасибо ))) но я хотел узнать как вручную посчитать))
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

drac0Sha писал(а):я хотел узнать как вручную посчитать))
Тынц :)
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

глядя на код urry можно мысленно посчитать
сначала сумма равна нулю, потом эту сумму Хорим с сообщением, так как в сообщении всего один элемент, то
0 XOR 0x31=0x31
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

Если сообщение из нескольких байт, то можно с помощью калькулятора дядюшки Билла :)
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вт окт 09, 2012 14:09:39

Сообщение drac0Sha »

vitalik_1984 писал(а):глядя на код urry можно мысленно посчитать
сначала сумма равна нулю, потом эту сумму Хорим с сообщением, так как в сообщении всего один элемент, то
0 XOR 0x31=0x31
Получается, что она всегда контрольная сумма равна команде ?
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

drac0Sha писал(а):Получается, что она всегда контрольная сумма равна команде ?
vitalik_1984 писал(а):так как в сообщении всего один элемент
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

если в сообщении будет к примеру 0x31 ,0x32,0x33 то считаем аналогично
(((0#0x31)#0x32)#0x33)=0x30
В моем калькуляторе # обозначает операцию XOR
Контактная информация:
Ответить

Вернуться в «Разные вопросы по МК»