Страница 80 из 421
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 22, 2010 19:10:56
tuco2009
приведение к типу double убрало 2 warning но ничем более не помогло...
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 22, 2010 19:32:18
ARV
странно... а у меня с рекомендованными мною опциями все заполняется в массив... с большим успехом

Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 22, 2010 19:52:46
avreal
tuco2009 писал(а):результат один - пустой массив.
Код: Выделить всё
sprintf (ADCOut,"%2.2f+-%2.2f", Mean,StandartDeviation);
Если массив пустой, то проблема где-то в другом месте. Пи использовании printf, не понимающего форматов с плавающей точкой, эти форматы просто игнорируются, но всё остальное из форматной строки проходит. В случае с Вашей форматной строкой в массиве должно было бы оказаться либо "f+-f" либо как минимум то, что не имеет отношения к форматам, т.е. просто "+-", сейчас уже не помню — давно уже не забывал сразу включить нужный PRINTF_LIB
Попробуйте просто
в массиве хоть что-то окажется?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 22, 2010 20:03:04
ARV
да отлично там все работает
в студии Watch-окно не всегда своевременно обновляется

может, причина в этом?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 22, 2010 20:22:25
tuco2009
avreal писал(а): sprintf (ADCOut,"qwerty");
в массиве хоть что-то окажется?
Странно, но до добавления ключей компилятора там были разные символы, сейчас все по нулям...
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 22, 2010 20:24:16
tuco2009
ARV писал(а):да отлично там все работает
в студии Watch-окно не всегда своевременно обновляется

может, причина в этом?
Уже замечал, особенно массивы, для этого я сначала сворачиваю его в окне Watch, потом разворачиваю. После разворачивания всегда обновляется.
А вот почему там совершенно пусто - я уже сам задумался, ранее хотябы +- выводило правильно...Шаз буду копаться...
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 22, 2010 20:28:51
tuco2009
Все, походу замучил я функцию sprintf окончательно, а сним и какие-то конфиг файлы, теперь эти функции не работают вовсе, т.е. не выводят даже текст "sadfsadf". Вот, буду студию переставлять...
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 22, 2010 21:17:37
tuco2009
Скачал новую студию, установил - все заработало, только как-то по -странному. Там у меня цикл. ПРи первом вызове функции - в массиве ничего нет, при втором-все работает отлично. Странно... К тому же, при нажатии F10 заходит в подпрограммы, ИМХО глюков студии еще больше появилось

Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 22, 2010 21:22:07
tuco2009
Всем большое спасибо!
Не знаю по какой причине в тестовом файле цикл с первого раза не работал, но основная программа запустилась!
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 22, 2010 21:28:31
ARV
все у вас с правильного захода заполняется, это "нюансик" отладчика, который с оптимизатором не дружит - показывает иной раз не ту строку в исходнике, которая выполняется на самом деле.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 22, 2010 22:10:06
tuco2009
Ну и фик с ним, с оптимизатором, хотя немного раздражает, когда стрелка пропадает, главное - все РАБОТАЕТ!!! Я доволен как стадо слонов! Огромное человеческое СПАСИБО!
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 22, 2010 22:50:46
avreal
ARV писал(а):да отлично там все работает
в студии Watch-окно не всегда своевременно обновляется

может, причина в этом?
Не знаю :-D симуляторами не пользуюсь

А вживую
Код: Выделить всё
fprintf_P( fuart, PSTR("blah-blah %f\n"), 3.1415926f);
fprintf_P( flcd, PSTR("%02X:%02X:%02X"), t.hh, t.mm, t.ss);
работают
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт июн 24, 2010 11:22:01
mva789
Помогите разобраться, может кто сталкивался или знает: до некоторых пор пользовался CodeVision AVR v1.25.9, но после перехода на версию 2.04.4а появилась такая проблема. Файлы .hex создаются не работоспособными, т.е. если один и тот же проект скомпилировать в старой версии, а затем новой, то на старой версии работает, на новой нет.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт июн 25, 2010 21:31:40
Apparatchik
Подскажите пожалуйста как правильно сделать?
Восьмизначное число нужно перевести в двоичную систему счисления и с конца передать на например PORTA.0 включая нули в старших битах. На PORTA.1 будут подаватся стробирующие импульсы.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт июн 25, 2010 21:43:38
AI_Disable
Обязательно PORTA.1? Если нет, используйте аппаратный USART или SPI.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт июн 25, 2010 21:50:55
Apparatchik
AI_Disable писал(а):Обязательно PORTA.1? Если нет, используйте аппаратный USART или SPI.
Схема уже спаяна. Данные нужно передавать на регистры здвига: PORTA.2 - данные, PORTA.1 - запись в регистр, PORTA.0 - вывод данных с регистра.
Я просто когда паял думал что это не сложно реализовать, и вот запнулся.
P.S. Можно ли в CodeVisionAVR присвоить это число какой-нить регистровой паре (перед этим поделить число на части чтоб влезло) и потом пройтись по битам и как это реализовать, или я захотел просто отделаться?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб июн 26, 2010 01:05:55
Apparatchik
Я вроде понял! Нужно каждый знак сдвигать и выполнять побитное И с 0b10000000
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб июн 26, 2010 01:12:26
AI_Disable
Да не так уж и сложно. десяток строк кода... Только как это понимать? :
Восьмизначное число нужно перевести в двоичную систему счисления и с конца передать
То есть нужно передать 32 битное число? Или вы имели виду 8 знаков уже после перевода в бинарную систему? Переспрашиваю т.к. обычно используется 8 или 16 бит…
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб июн 26, 2010 01:24:35
Apparatchik
Да нужно передать 32 битное число - восемь знаков от 0 до 9.
И ещо вопрос: Если это всё сделать в обработчике преривания таймера по сравнению, не будет ли это долго для прерывания? Контроллер мега16 пока на 1 Мгц, но можно и повысить частоту если надо. Передавать думаю каждые 30 милисекунд.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб июн 26, 2010 02:01:56
AI_Disable
"и с конца передать" дак это начиная с младшего или старшего бита? Конца то два... Какое активное состояние стробирующих импульсов? Устанавливать данные по фронту или спаду? Что делать с третьим выводом? Он типо как SS у SPI, или просто, после передачи 32 бит, строб на него подать? И какое у него активное состояние?