CodeVision AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
SIM31
Это не хвост, это антенна
Сообщения: 1363
Зарегистрирован: Чт апр 04, 2013 22:22:57
Откуда: Белгород, РФ

Re: CodeVision AVR в вопросах и ответах

Сообщение SIM31 »

У меня иногда глюк похожий с интерфейсом, выскакивает окно с кнопкой под формой редактирования кода (вероятно дочернее окно с вопросом типа "сохранить изменения?"), основное окно замораживается, активно окно снизу, но его не видно, активное окно скрыто "замороженной" формой. Выход или закрыть программу с несохраненными данными по alt+ctr+del как зависшую или пытаться нажать кнопку "ок"(?) на невидимой форме под основной формой.
CAVR 3.12, Windows 7 64 бит.
Похоже связано с переключением между несколькими программами, например между Proteus и СAVR, ОС возвращает фокус не на то окно.
forfrends
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс дек 30, 2012 00:32:06
Откуда: Николаев / Украина
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение forfrends »

Добрый день! Имеется программатор USBasp (http://www.fischl.de/usbasp/). Он вполне хорошо работает с AVRDUDE, но хочется его подружить с CodeVision AVR.
Нашел статью что его нужно прошить спец. прошивкой как AVR DOPER (STK500). Сказано-сделано: прошил, драйвера установил, в системе появился Communication port (8). НО! В настройках CodeVision AVR я не нашел как можно выбрать порт № 8... В списке только 5 портов :(
Что делать? как их подружить?
Сделать своими руками всегда интересней чем просто купить и пользоваться
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: CodeVision AVR в вопросах и ответах

Сообщение oleg110592 »

Диспетчер устройств:
Изображение
forfrends
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс дек 30, 2012 00:32:06
Откуда: Николаев / Украина
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение forfrends »

oleg110592, Спасибо большое! Поменял номер порта с 8-го на 2-й! Но в CVAVR этот номер порта исчез... исть только 1,3,4,5.... 2-го уже нет... в чем может быть проблема?
Сделать своими руками всегда интересней чем просто купить и пользоваться
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: CodeVision AVR в вопросах и ответах

Сообщение oleg110592 »

настройки терминала мешают
Изображение
forfrends
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс дек 30, 2012 00:32:06
Откуда: Николаев / Украина
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение forfrends »

oleg110592, в терминале тоже нет 2-го порта. На всякий случай поменял номер на 4-й. Результата это не дало. 2-й порт нигде не виден.
Может быть дело в прошивке? Может CodeVision AVR просто не в состоянии работать с таким программатором и просто "игнорируент" его?
CodeVision AVR 3.10 Advanset
В прикрепленном архиве материалы для AVR-Doper. Прошивку для USBasp брал AVR-Doper.2012-12-08\firmware\usbasp-mega8-12mhz.hex
Все материалы брал здесь : http://makesystem.net/?p=6#.V4SRAEaLSUl
Вложения
AVR-Doper.2012-12-08.zip
(518.1 КБ) 202 скачивания
Сделать своими руками всегда интересней чем просто купить и пользоваться
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: CodeVision AVR в вопросах и ответах

Сообщение oleg110592 »

пользовался ранее подобным USBaspу программатором от Протоса, отсюда http://electronix.ru/forum/lofiversion/ ... 6-300.html с альтернативной прошивкой STK500 от Alfa (для USBasp может не подойти!). Для нормальной работы надо было еще "Исполнить танец с бубном - в диспетчере устройств установить для COM порта скорость 115200", может поможет.
p/s по вашей ссылке есть еще о снятии перемычки "slow SCK".
forfrends
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс дек 30, 2012 00:32:06
Откуда: Николаев / Украина
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение forfrends »

В общем, собрал программатор AVR910 с этой страницы: http://prottoss.com/projects/AVR910.usb.prog/avr910_usb_programmer.htm
Собрал, прошил прошивкой 1.05 от 17.01.2007, выставил фьюзы. Подключаю к компу, устанавливаю драйвера - проблем никаких нет. Программатор установился на COM1.
Запускаю CVAVR - та же проблема: ни в терминале, ни в настройках программатора нет COM1 ! Пробовал менять скорость работы COM, пробовал менять № COM - не помогло.
Попробовал перепрошить прошивкой STK500 от Alfa (http://electronix.ru/forum/lofiversion/index.php/t18676-300.html) - результат тот же.
В настройках CVAVR пробовал программаторы STK500/AVRISP и AVRProg(AVR910).
Что можете посоветовать? Почему CVAVR не видит программатор?
Характеристики компа:
Microsoft Windows 7 Ultimate х64
Проц: AMD FX-6100, 3600 MHz
Материнка: MSI 760GM-P21/FX
ОЗУ: 8176 МБ

хм....
Удалил ранее установленный драйвер - в системе определилось новое устройство - AVR DOPER. Но что-то на один драйвер не хочет устанавливаться (прошивка от Alfa). Можете помочь со ссылкой на драйвера?
Сделать своими руками всегда интересней чем просто купить и пользоваться
forfrends
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс дек 30, 2012 00:32:06
Откуда: Николаев / Украина
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение forfrends »

В общем после долгих исканий и проб установил все-таки прошивку и драйвер. Работает. Только жаль что из Rx и Tx только 1 светодиод светится
Сделать своими руками всегда интересней чем просто купить и пользоваться
kotriks
Грызет канифоль
Сообщения: 274
Зарегистрирован: Чт апр 28, 2011 15:08:58

Re: CodeVision AVR в вопросах и ответах

Сообщение kotriks »

народ помогите не компилится, или я что то не так делаю

Код: Выделить всё

eeprom unsigned char Key[10];

void crypt(){
unsigned char b;
b^b=Key;
}

Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: CodeVision AVR в вопросах и ответах

Сообщение Vov123 »

Код: Выделить всё

b^b=Key;

:)))
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение pyzhman »

kotriks писал(а):не компилится

Что пишет в сообщениях?
Docendo discimus
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение ARV »

pyzhman писал(а):Что пишет в сообщениях?
что кое-кто не знает Си :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение WiseLord »

kotriks писал(а):не компилится, или я что то не так делаю
Вы пытаетесь b^b присвоить указатель Key. Что это? Зачем это?
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: CodeVision AVR в вопросах и ответах

Сообщение COKPOWEHEU »

char XOR char = char[10];
Конечно, компилятор впадает в ступор. Кто бы не впал!
kotriks
Грызет канифоль
Сообщения: 274
Зарегистрирован: Чт апр 28, 2011 15:08:58

Re: CodeVision AVR в вопросах и ответах

Сообщение kotriks »

может это как то подругому надо выразить, помогите не соображу.
Key - берётся из памяти процессора ключ шифрования и под средством его заносится в память.

Код: Выделить всё

eeprom unsigned char Key[10];

void crypt(){
unsigned char b;
b^b=Key;
}

void writeData(unsigned char read){
i2c_start();
i2c_write(0xa0);
i2c_write(addr>>8);
i2c_write(addr & 0x00FF);
page_stop_status=0;     
i2c_write(read=crypt()); 

 }   
}
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение WiseLord »

Ещё раз...

Код: Выделить всё

b^b=Key;
Что вы хотите с этим сделать? В любом языке программирования присвоить что-то можно лишь переменной, но не сумме переменных, разности, произведению или любой другой операции. Вы же пытаетесь присвоить указатель Key операции "исключающее ИЛИ". А поскольку b^b всегда равно нулю, то пытаетесь этому нулю присвоить указатель Key. Что это за бред?

Код: Выделить всё

i2c_write(read=crypt());  
А тут какой байт должен улететь по I²C? Тут переменной read пытаетесь присвоить результат выполнения функции, которая ничего не возвращает, т.к. она void. А потом результат операции присваивания отправляете по шине.

Вы хотя бы в голове у себя представьте, что хотите сделать. А уже потом в виде кода это реализовывать начинайте.
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: CodeVision AVR в вопросах и ответах

Сообщение Vov123 »

Код: Выделить всё

Key[X]=b^b;
kotriks
Грызет канифоль
Сообщения: 274
Зарегистрирован: Чт апр 28, 2011 15:08:58

Re: CodeVision AVR в вопросах и ответах

Сообщение kotriks »

это код который я пытаюсь востановить, забыл как было но помню, что было как то так b^b=Key; либо b+b=^Key; но не так не так не компилиться, вообще нужно взять ключь из 10 символов с еепром и записать через него в i2c чтобы данные были шифрованны этим ключём XOR. как то так :)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение ARV »

kotriks писал(а):забыл как было но помню, что было
если бы вы знали базовые основы Си, то проблем у вас не возникло бы (я намекал, что надо освежить знания языка - вы не обратили внимания).

в Си возможна только единственная форма записи выражения, в котором используется знак присваивания '=' - это когда левее этого знака находится только переменная, и ничего больше. поэтому оба варианта, которые вы "помните" принципиально неверны.

кроме этого, работа с массивом возможна двумя способами: либо через индексное обращение к его элементам, либо через указатель на его элементы (в сущности, это одно и то же, но для такого опытного программиста, как вы, лучше эти способы разделить). то, что записали вы - не является ни одним из перечисленных способов.

кроме того, вам сразу сказали, что функция у вас ничего не возвращает, и потому все, что она внутри себя делает, никак не может быть использовано (тем более, что написанное вами вообще не может ничего делать - оно неверно, а что надо - пока не ясно).

а теперь конкретика...
kotriks писал(а):взять ключь из 10 символов с еепром и записать через него в i2c чтобы данные были шифрованны этим ключём XOR

умение задавать вопросы - это тоже полезный опыт, который стоит освоить.
"взять ключ" - это как? ключ у вас в массиве Key, как я понимаю? как именно "записать через него" надо данные? данные - это что: байт, несколько байтов, строка или, например, long-числа?
"шифровать" вы собираетесь, как я понимаю, операцией битового XOR... вангую: каждый очередной байт, отправляемый в i2c, надо проXORить с очередным символом из массива Key - так или нет? если так, то ваш код должен быть примерно таким

Код: Выделить всё

char crypt(char data){
   static char i;
   char result = data ^ Key[i++];
   if(i >= SIZE_OF_KEY) i = 0;
   return result;
}

это, возможно, не совсем то, что хотите вы, но это однозначно будет компилироваться и на самом деле будет XORить данные... SIZE_OF_KEY - это константа, задающая размер вашего "ключа".
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Ответить

Вернуться в «AVR»