Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Proteus, KiCAD и другие ECAD Разработчик так или иначе сталкивается с системами автоматизированного проектирования. Данный раздел - по САПР.

Результаты опроса: Каким Си компилятором пользуетесь?
CodeVisionAvr 45 55.56%
WinAvr 17 20.99%
Iar 12 14.81%
ImageCraft 2 2.47%
другой 5 6.17%
Голосовавшие: 81. Вы ещё не голосовали в этом опросе

 
Опции темы
Непрочитано 25.03.2007, 11:46  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,956
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию

Цитата:
как ты думаешь куда программа должна засунуть значение i когда инкремент достигнет значения скажем 15000, если ты под неё выделил всего 1байт( "unsigned int i")
Не вводите человека в заблуждение. Int вообще-то всегда (ну или почти всегда) двухбайтовый. Ну и если и байтовая величина, то при чем тут число 15000? В байте умещается 0-255, если без знака.
nml вне форума  
Непрочитано 25.03.2007, 11:58  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,956
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию

Сообщение от stas633
IAR считается "стандартом"..., на мой взгляд, его основной плюс в том, что среди "продуктов" IAR есть компиляторы Си и для 51-х, и для AVR и DSP..
Насчет IAR для 51. Мне как-то понадобилось корректировать старую программу для клона 51, писана еще на асме была. Вспоминать все тонкости было лениво, решил что быстрее будет с нуля переписать на Си. Взял компилятор IAR. Поглядел на код. Коряв до ужаса. Глупостей навалом. Так что фирма еще не значит, что все компиляторы у них одинакового качества. Видать, для АВРок и для 51 делают ну оччень разные по уровню команды.

После по совету работающих с 51 взял Keil - ну никакого сравнения.

Да, и по поводу кнопок.
1) Если не подразумевается работа в цеху рядом с мощным двигателем, вполне достаточно внутренней подтяжки. А уж для опытов цеплято еще и резистор ни к чему...
2) Я с дребезгом борюсь примерно так. Делается прерывание таймера где-то раз 30 в секунду. И там смотрим на кнопку. Ведем флаг "предыдущее значение". И если сайчас нажато, а предыдущее - нет, выставляем флажок наружу "нажатие". Небольшое усложнение (ввести счетчик "сколько времени нажато") - даст возможность различать ситуации "нажато" и "нажато и удержано секунду". Для реалтаймовых программ такой подход - IMHO - лучше, хотя на первый взгляд и сложноват. И дребезг в этом случае по барабану.
nml вне форума  
Сказали "Спасибо" nml
zas51 (09.03.2011)
Непрочитано 25.03.2007, 13:38  
stas633
Частый гость
 
Регистрация: 16.03.2007
Сообщений: 13
Сказал спасибо: 1
Сказали Спасибо 10 раз(а) в 2 сообщении(ях)
stas633 на пути к лучшему
По умолчанию

Сообщение от nml
Насчет IAR для 51... Взял компилятор IAR. Поглядел на код. Коряв до ужаса. Глупостей навалом... После по совету работающих с 51 взял Keil - ну никакого сравнения.
Заметьте, я не хвалил и не ругал компилятор, а лишь указал на наличие возможностей. Обсуждать же "правильность" кода считаю бессмысленным, так как определение "правильности" - вещь чисто субъективная. Тем более если код характеризовать одними эпитетами. )) Компиляторы пишут люди (команда) (3..5 редко больше человек), которые в силу своих природных данных (таланта) "предлагают" нам свой продукт. Пользователи, как правило, используют программный продукт "в лоб", не пытаясь изучить настройки компилятора и выбрать свой (оптимальный) вариант... между скоростью работы и объемом кода, например.

Полезно:
Ассемблерные вставки на IAR пишутся с выделением каждой строки (команды) кавычками и символом конца строки (
):
...
asm ("Label: nop
"
" jmp Label");
...
В CVAVR это делается по другому:
...
#asm
ldd r30,y+3 ;R30=LSB a
...
adc r31,r27
#endasm
, второй вариант мне кажеться более удобным.

Повторю вопрос: Как "подключить" симулятор к CVAVR? Да и какой симулятор выбрать?

Про кнопки... предлагаю тему не "засорять". Давайте созданим отдельную тему. Скажу только кратко, что на подключении внешнего резистора настаиваю. Источником помех может являться не только станок в цеху, но и пылесос, блок зажикания в автомобиле, лодочном моторе, мобильный телефон наконец. Ну а с обработкой нажатия по прерыванию таймера согласен полностью, только и здесь есть "тонкости" (давайте в отдельной теме).
stas633 вне форума  
Непрочитано 25.03.2007, 14:58  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию

Сообщение от stas633
Заметьте, я не хвалил и не ругал компилятор, а лишь указал на наличие возможностей. Обсуждать же "правильность" кода считаю бессмысленным, так как определение "правильности" - вещь чисто субъективная.
Ну почему, есть и объективные методы. Достаточно откомпилировать одинаковый исходник и посмотреть результат. Идеал правильности - любой исходник в 1 команду выполняемую за 1 такт Это правильный код!
Сообщение от stas633
Повторю вопрос: Как "подключить" симулятор к CVAVR? Да и какой симулятор выбрать?
Например AVR Studio. Достаточно ей открыть coff файл, и сохранить проект. Или Proteus - можно работать с железом, но пошаговая отладка работает не всегда корректно. Также не все железо эмулируется. Подключить - в свойствах кристалла выбрать тот-же coff.
Но самое лучшее - внутрисхемный эмулятор - JTAG ICE, AVR DRAGON, JTAG ICE II. Оболочка - опять Студия. Это решение самое лучшее, но не все кристаллы имеют jtag или debugwire
kison вне форума  
Непрочитано 25.03.2007, 16:22  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,956
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию

Сообщение от stas633
Заметьте, я не хвалил и не ругал компилятор, а лишь указал на наличие возможностей.
Да упаси боже, я тоже ничего не рекламирую. Просто указал на различия уровня

Цитата:
Обсуждать же "правильность" кода считаю бессмысленным, так как определение "правильности" - вещь чисто субъективная.
Отнюдь...
Смотрится листинг. Как правило, человеку, знающему
ассемблер, этого вполне достаточно для оценки качества компиляции.
Цитата:
Повторю вопрос: Как "подключить" симулятор к CVAVR? Да и какой симулятор выбрать?
Сколько не видел разных симуляторов - все они пригодны только для проверки арифметики, что в случае Си как правило смысла не имеет. При работае с портами и прочим - все врут. Один больше, другой меньше.
Я использую свой метод отладки - см. на сайте (на конечном устройстве)
nml вне форума  
Непрочитано 25.03.2007, 19:26  
stas633
Частый гость
 
Регистрация: 16.03.2007
Сообщений: 13
Сказал спасибо: 1
Сказали Спасибо 10 раз(а) в 2 сообщении(ях)
stas633 на пути к лучшему
По умолчанию

Спасибо,kison, к стыду своему скажу, что при попытках "связать" CV и Studio мне не хватало "смелости" сохранить проект. Все получилось, симулятор работает.

В обсуждениях качества компилируемого кода тем или иным компилятором сломано столько "копий", что продолжать обсуждение смысла не вижу. Достаточно воспользоваться поиском и прочитать все что сказано на различных форумах.
Мне кажется, что главным критерием в выборе компилятора должно быть удобство работы и простота (понятность) интерфейса. И на мой взгляд, бесспорным лидером по "дружественности" является CVAVR.

Применение симуляторов считаю оправданным, так как при использовании отладки в схеме, по любому из возможных интерфейсов, динамику процесса "отследить" очень сложно (если вообще возможно). Анализ же работы в симуляторе во вмогих случаях позволяет проверить правильность алгоритма работы программы.
stas633 вне форума  
Непрочитано 25.03.2007, 19:35  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от stas633
вопрос: Как "подключить" симулятор к CVAVR? Да и какой симулятор выбрать?
Советую VMLAB.

Вот шаблон для быстрого запуска CVAVR + VMLAB

http://www.radiokot.ru/forum/viewtopic.php?t=2273

Более продвинут мощнейший симуляор множества микроконтроллеров в одном устройстве PROTEUS

Вот начальные сведения:
proteus123.narod.ru/01.htm
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 25.03.2007, 19:38  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от stas633
Применение симуляторов считаю оправданным, так как при использовании отладки в схеме, по любому из возможных интерфейсов, динамику процесса "отследить" очень сложно (если вообще возможно).

Анализ же работы в симуляторе во вмогих случаях позволяет проверить правильность алгоритма работы программы.
И я тогоже мнения.

Вот подробней о симуляторе VMLAB

avr123.nm.ru/z3.htm
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 27.03.2007, 10:52  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Сообщение от slawalog
Сообщение от dimonbest
unsigned char waitkn1on (void)
{
unsigned int i=0;
if (PINA.2==1)return 0;else
while (i!=20000)
Здесь посмотри пожалуйста. как ты думаешь куда программа должна засунуть значение i когда инкремент достигнет значения скажем 15000, если ты под неё выделил всего 1байт
У меня же переменная i unsigned int i=0; не одно а двух байтовая...
dimonbest вне форума  
Непрочитано 27.03.2007, 15:11  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Спасибо всем за помощь. Думаю эту тему можно закрыть, но продолжить опрос по компиляторам.
P.S. Остался я все таки на CodeVisinAVR А дальше жизнь покажет
dimonbest вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопрос по отладчику IAR AVR to kison picavr Микроконтроллеры, АЦП, память и т.д 36 28.04.2009 18:01
Вопрос по ШИМ на нулевом таймере AVR. chapa Микроконтроллеры, АЦП, память и т.д 10 09.02.2009 18:31
Обработка нескольких прерываний AVR (вопрос) festoon Микроконтроллеры, АЦП, память и т.д 27 17.11.2008 18:02
GNU GCC AVR вопрос по переменным.. Mozart Микроконтроллеры, АЦП, память и т.д 3 09.02.2007 20:00
Вопрос по асемблеру к AVR Гость Микроконтроллеры, АЦП, память и т.д 2 12.09.2005 00:47


Часовой пояс GMT +4, время: 02:25.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot