ICD 3 недёшево стоит, однако.Можно. Купить отладчик, который умеет ставить софтварные брекпоинты.
Вопросы по С/С++ (СИ)
Аlex

Успех - императив!
- Реклама
Есть еще VSPE - полезная программа для работы с портами
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
Согласен. Но, он того стОит, если человек реально занялся PIC'ами и будет создавать не просто новогодние мигалки.
- Сообщения: 25
- Зарегистрирован: Вт окт 09, 2012 14:09:39
так настроил compim. Дополнительную программу тоже настроил ( Terminal). Но почему то не могу понять как оно должно работать. При отправке из программы Terminal команды 0х33, никто не реагирует - ни virtual terminal, ни мк. Но если я нажму кнопку в virtual terminal в протеусе, то в программе Terminal отобразится какую я кнопку нажал.
Вот ссылка по которой я их настраивал и заодно по фотографии urry:
Вот ссылка по которой я их настраивал и заодно по фотографии urry:
- Вложения
-
- схемаРадиокот2.PNG
- (95.15 КБ) 310 скачиваний
Потому, что Вы выводом ТХ процессора "душите" сигнал с СОМ порта. USART - это интерфейс для связи только 2-ух устройств.
- Реклама
-1 к внимательности - rx compim идет на rx контроллера.
И уберите терминал с передачи
И уберите терминал с передачи
- Сообщения: 25
- Зарегистрирован: Вт окт 09, 2012 14:09:39
Так, сделал вроде. При нажатии на кнопку send в Terminale у compim rxd зеленый меняется на красный, т.е. взаимодействие вроде идет. Но на команду реакции нету. Ничего не меняется и ответа нету. Если раньше, когда был просто подключен virtual terminal без compim'a, при нажатии на клавишу хотя бы какой то ответ шел в нужном формате. То сейчас вообще ничего не приходит.
- Вложения
-
- схемаРадиокот3.PNG
- (216.09 КБ) 322 скачивания
Вы обладаете удивительным свойством - не слышать то, что вам говорят...
1 к внимательности - rx compim идет на rx контроллера.
На сколько мне известно, на СОМПИН'е подписаны внешние выводы СОМ порта. Т.е. , если написано RX, значит это вход на порте, соответственно, его нужно подключать к RX проца. СОМ: 2-ой ПИН - RX, 3-ий - TX.rx compim идет на rx контроллера.
Единственное непонятно, чем ТС смотрит посылку в протеусе ? Терминал то удалён.
- Сообщения: 25
- Зарегистрирован: Вт окт 09, 2012 14:09:39
так ответ приходит.Надо оказывается набирать полный пакет вида $7E $01 $33 $( контрольная сумма)
Ребят, вопрос у меня есть команды 0х31, 0х32, 0х33, 0х34, 0х35 и мне нужно подсчитать контрольную сумму методом исключающее или с командой, как посчитать , например с 0х31 ?
Ребят, вопрос у меня есть команды 0х31, 0х32, 0х33, 0х34, 0х35 и мне нужно подсчитать контрольную сумму методом исключающее или с командой, как посчитать , например с 0х31 ?
Что это за метод такой ?методом исключающее или с командой
Если нужно просто сделать XOR с командой, то делайте его и пихайте в контрольную сумму.
- Сообщения: 25
- Зарегистрирован: Вт окт 09, 2012 14:09:39
вот получается, что мне нужно заранее посчитать, чтобы программа распознала пакет, так как я сейчас ввел неправильную контрольную сумму и она мне выдала сообщение, что неправильная контрольная сумма.Аlex писал(а):Что это за метод такой ?методом исключающее или с командой
Если нужно просто сделать XOR с командой, то делайте его и пихайте в контрольную сумму.
Вот в задании написано:
Контрольная сумма CS должна вычисляться сложением байтов поля message (команда, например, 0х33) при помощи операции «ИСКЛЮЧАЮЩЕЕ ИЛИ»( XOR).
Так вот как мне, например, для 0х33 сделать операцию XOR? Разве не нужно два аргумента? А у меня получается один - команда.
unsigned char fn_KS(unsigned char * arr,unsigned char len)
{
unsigned char sum=0;
do
{
sum^=*arr++;
}while(--len);
return sum;
}
{
unsigned char sum=0;
do
{
sum^=*arr++;
}while(--len);
return sum;
}
- Сообщения: 25
- Зарегистрирован: Вт окт 09, 2012 14:09:39
глядя на код urry можно мысленно посчитать
сначала сумма равна нулю, потом эту сумму Хорим с сообщением, так как в сообщении всего один элемент, то
0 XOR 0x31=0x31
сначала сумма равна нулю, потом эту сумму Хорим с сообщением, так как в сообщении всего один элемент, то
0 XOR 0x31=0x31
Если сообщение из нескольких байт, то можно с помощью калькулятора дядюшки Билла 
- Сообщения: 25
- Зарегистрирован: Вт окт 09, 2012 14:09:39
Получается, что она всегда контрольная сумма равна команде ?vitalik_1984 писал(а):глядя на код urry можно мысленно посчитать
сначала сумма равна нулю, потом эту сумму Хорим с сообщением, так как в сообщении всего один элемент, то
0 XOR 0x31=0x31
drac0Sha писал(а):Получается, что она всегда контрольная сумма равна команде ?
vitalik_1984 писал(а):так как в сообщении всего один элемент
если в сообщении будет к примеру 0x31 ,0x32,0x33 то считаем аналогично
(((0#0x31)#0x32)#0x33)=0x30
В моем калькуляторе # обозначает операцию XOR
(((0#0x31)#0x32)#0x33)=0x30
В моем калькуляторе # обозначает операцию XOR


