Proteus, KiCAD и другие ECAD Разработчик так или иначе сталкивается с системами автоматизированного проектирования. Данный раздел - по САПР. |
22.02.2007, 12:37
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от EagleB3
|
А на чем отлаживать ATMEGA168?
|
в IAR.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
22.02.2007, 12:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от EagleB3
|
Лезу в "Project"-"Configure", закладка "C Compiler".
Точно! У тебя в настройке "s(printf) Feature" стоит "int, width". Поставил "long, width, precision" - и твой код заработал! Вернул с виртуального терминала на LCD - продолжает работать.
|
я про это и талдычил чуть выше.
чел отрапортовал что все "крутил" всяко-разно !
Прикрепленный файл: 6301495.zip
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
22.02.2007, 14:00
|
|
Вид на жительство
Регистрация: 03.05.2006
Сообщений: 312
Сказал спасибо: 30
Сказали Спасибо 144 раз(а) в 52 сообщении(ях)
|
Сообщение от avr123-nm-ru
|
Сообщение от EagleB3
|
Лезу в "Project"-"Configure", закладка "C Compiler".
Точно! У тебя в настройке "s(printf) Feature" стоит "int, width". Поставил "long, width, precision" - и твой код заработал! Вернул с виртуального терминала на LCD - продолжает работать.
|
я про это и талдычил чуть выше.
чел отрапортовал что все "крутил" всяко-разно !
|
Так поэтому я туда и полез не сразу, а в конце...
Прикрепленный файл: 6301495.zip
|
|
|
|
22.02.2007, 14:04
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,593
Сказал спасибо: 706
Сказали Спасибо 4,353 раз(а) в 1,996 сообщении(ях)
|
Минуточку!
int.width, long.with никакой рояли в Вашем примере не играет(проверте сами) пока не используется форматированный вывод.
Теперь попробуйте вывести скажем:
sprintf(lcd_buffer,"%i Hello!",25);
или
sprintf(lcd_buffer,"%d Hello!",25);
или
sprintf(lcd_buffer,"%ld Hello!",25);
эта инструкция вообще выводит "d Hello!"
все, компилер вязнет. Спасибо коллеге С++ зрит сразу в корень. IMHO Proteus тут не виноват.
Осталось выяснить почему 1242 работает а ›1242 нет.
|
|
|
|
22.02.2007, 14:23
|
|
Вид на жительство
Регистрация: 03.05.2006
Сообщений: 312
Сказал спасибо: 30
Сказали Спасибо 144 раз(а) в 52 сообщении(ях)
|
Сообщение от Kabron
|
Минуточку!
int.width, long.with никакой рояли в Вашем примере не играет(проверте сами) пока не используется форматированный вывод.
|
Совершенно верно, не играет. Вот поэтому мои добавки (без форматированного вывода) заработали сразу, а Ваш код (в котором используется форматированный вывод) - только после установки "long, width, precision".
И после этой установки Ваш дивайс с Вашим исходным текстом заработал в полном объеме (с переключением каналов кнопкой или автоматически, с выводом чего положено на LCD). В нем ничего не пришлось исправлять и ничего не потребовалось в него добавлять.
Моя добавка (ее средняя часть) просто позволила выяснить, что проблема не в функции sprintf (как предполагалось изначально), а в где-то в процедурах форматирования. А вот на корректную работу процедур форматирования влияет установка "long, width, precision" - это известно.
Правда, неизвестно почему она на это влияет столь криво...
|
|
|
|
22.02.2007, 15:55
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,593
Сказал спасибо: 706
Сказали Спасибо 4,353 раз(а) в 1,996 сообщении(ях)
|
Big Respect, разобрался глаза замылились перепутал со scanf.
Однако не могу удержаться от замечаний:
версии 1242 по барабану эти установки, при этом asm код на 10% короче.
Неужели разработчикам трудно было предусмотреть какие либо предупреждения(вопрос в пустоту саппорта нет)?
Значит если мне один раз нужно что-то форматно вывести я должен не забыть "передвинуть ту штучечку в обратном направлении", тем самым перестроить компилер на громоздкий код.
Пока разбирался сваял пример из их хелпа. Там дофига форматированного вывода. 1242 работает при любых установках.
В общем я рад что проблема решена и Proteus реабилитирован!
-- Прилагается рисунок: --
Прикрепленный файл: 5930658.ZIP
|
|
|
|
22.02.2007, 16:42
|
|
Вид на жительство
Регистрация: 03.05.2006
Сообщений: 312
Сказал спасибо: 30
Сказали Спасибо 144 раз(а) в 52 сообщении(ях)
|
Сообщение от Kabron
|
Неужели разработчикам трудно было предусмотреть какие либо предупреждения(вопрос в пустоту саппорта нет)?
|
Попробуй, напиши им (ему?). Из переписки с кем-то у меня отложилось впечатление, что Павел Гайдук вполне вменяемый человек, и вдобавок понимающий по-русски.
Уже не помню, откуда это впечатление у меня взялось...
-- Прилагается рисунок: --
Прикрепленный файл: 5930658.ZIP
|
|
|
|
22.02.2007, 19:04
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,593
Сказал спасибо: 706
Сказали Спасибо 4,353 раз(а) в 1,996 сообщении(ях)
|
"Из переписки с кем-то у меня отложилось впечатление, что Павел Гайдук вполне вменяемый человек, и вдобавок понимающий по-русски.
"
Ну, во-первых, морально-нравственный вопрос. Софт-то нелегальный. А во-вторых, если у него на сайте ни саппорта ни форума, оно ему(им) нужно?
|
|
|
|
22.02.2007, 19:08
|
|
Прохожий
Регистрация: 25.08.2005
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Мужики, чеж вы...! Работает/не работает проверять нада только в железе. В протеусе можно лишь только прикинуть как оно должно быть. У меня было немало случаев, когда в протеусе модель не работала, а в реале все как часики, и наоборот. Сделал выводы. Недоверяю никаким симуляторам, отлаживаю исключительно в железке без всяких отладочных комплексов (дебаг инфа помогает). Удачи!
|
|
|
|
22.02.2007, 19:18
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,593
Сказал спасибо: 706
Сказали Спасибо 4,353 раз(а) в 1,996 сообщении(ях)
|
Сообщение от ReiseReise
|
Мужики, чеж вы...! Работает/не работает проверять нада только в железе. В протеусе можно лишь только прикинуть как оно должно быть. У меня было немало случаев, когда в протеусе модель не работала, а в реале все как часики, и наоборот. Сделал выводы. Недоверяю никаким симуляторам, отлаживаю исключительно в железке без всяких отладочных комплексов (дебаг инфа помогает). Удачи!
|
А у меня пока не было по крайней мере на Пиках. А мы здесь как раз и прикидываем.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Проблема компиляции в CodeVision
|
art07 |
Микроконтроллеры, АЦП, память и т.д |
2 |
14.08.2008 13:04 |
Codevision и lcd
|
EKuzmich |
Микроконтроллеры, АЦП, память и т.д |
3 |
18.06.2008 13:57 |
Меню AVR Codevision
|
theonebug |
Микроконтроллеры, АЦП, память и т.д |
2 |
09.06.2008 21:48 |
Битовые функции в CodeVision
|
Andrewg |
Микроконтроллеры, АЦП, память и т.д |
3 |
03.08.2007 12:19 |
Вопрос по CodeVision
|
EES |
Микроконтроллеры, АЦП, память и т.д |
4 |
08.12.2005 01:53 |
Часовой пояс GMT +4, время: 08:20.
|
|