Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

CodeVisionAVR 2.60

Непрочитано 28.01.2014, 01:11  
Арктур
Почётный гражданин KAZUS.RUN
 
Аватар для Арктур
 
Регистрация: 29.10.2012
Сообщений: 2,930
Сказал спасибо: 7
Сказали Спасибо 3,471 раз(а) в 1,771 сообщении(ях)
Арктур на пути к лучшему
По умолчанию Re: CodeVisionAVR 2.60

Насколько помню, обошлось без них. Иначе бы не написал об этом.
МК ещё сортировать и редактировать успевал этот текст, поступавший по RS-232.
Вывод в несколько рядов.
Реклама:

Последний раз редактировалось Арктур; 28.01.2014 в 01:19.
Арктур вне форума  
Непрочитано 28.01.2014, 01:30  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: CodeVisionAVR 2.60

Сообщение от Арктур Посмотреть сообщение
Насколько помню, обошлось без них. Иначе бы не написал об этом.
Если грамотно подойти к вопросу, думаю, и на CV такое можно сделать без проблем.

P.S. Только тема совсем не о том.
Godzilla82 вне форума  
Непрочитано 28.01.2014, 10:25  
SasaVitebsk
Гражданин KAZUS.RUN
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: CodeVisionAVR 2.60

Сообщение от Godzilla82 Посмотреть сообщение
Стоит сказать, что CV - обычный себе компилятор, так сразу поток говна в свой адрес, обвинения во лжи.
Я, например, не возражаю. Я, правда, возражаю против того, что он лучший.
С другой стороны, для конкретного пользователя, лучшим является тот инструмент, которым он умеет пользоваться. В принципе хорошо, что вы глубоко копаете. Всё остальное придёт.
Но с одним, я никак не соглашусь. Если вы сами говорите, что применение volatile не ухудшит качество компилируемого кода, то совершенно непонятно, почему вы рекомендуете не его не писать? Наоборот необходимо писать. Как минимум приучаться.
SasaVitebsk вне форума  
Непрочитано 28.01.2014, 11:23  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: CodeVisionAVR 2.60

Сообщение от SasaVitebsk Посмотреть сообщение
Я, например, не возражаю. Я, правда, возражаю против того, что он лучший.
Я никогда не говорил, что CV лучший

Сообщение от SasaVitebsk Посмотреть сообщение
Но с одним, я никак не соглашусь. Если вы сами говорите, что применение volatile не ухудшит качество компилируемого кода, то совершенно непонятно, почему вы рекомендуете не его не писать?
Я наоборот говорю, что в CV может ухудшить (при наличии свободных регистров). А если не писать - у переменной есть шанс оказаться в регистре.
Godzilla82 вне форума  
Непрочитано 29.01.2014, 02:03  
tempora
Почётный гражданин KAZUS.RUN
 
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: CodeVisionAVR 2.60

Сообщение от Godzilla82 Посмотреть сообщение
CV - обычный себе компилятор
Тут важно ответить на вопрос - компилятор чего этот ваш CV? Впрочем, даже если согласиться на написание программ не на языке Си, а на некоем его CV-диалекте, даже если согласиться с потерей надёжной связи с миром Си-библиотек, всё равно останется одна проблема - глюки. Причём, ладно бы они повторялись из версии в версию, так нет же - одни уходят, другие появляются. Не раз уже всё и обсуждалось, и взвешивалось - нет никаких причин ограничивать себя до узких рамок CV и AVR, кроме одной - интеллектуальное бессилие.

Сообщение от Godzilla82 Посмотреть сообщение
Ассемблер - сколько не пытался, не могу на нём мыслить.
Ой, йооо...
__________________
There's always more than one way to skin a cat.

Последний раз редактировалось tempora; 29.01.2014 в 02:07.
tempora вне форума  
Сказали "Спасибо" tempora
mike7815 (29.01.2014)
Непрочитано 29.01.2014, 10:37  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: CodeVisionAVR 2.60

Сообщение от tempora Посмотреть сообщение
нет никаких причин...
Пукнули в очередной раз и довольны. Надеюсь вам полегчало
Godzilla82 вне форума  
Непрочитано 29.01.2014, 11:02  
SasaVitebsk
Гражданин KAZUS.RUN
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: CodeVisionAVR 2.60

Сообщение от tempora Посмотреть сообщение
... даже если согласиться на написание программ не на языке Си, а на некоем его CV-диалекте ...
Раз уж Вы затронули. Я смотрю на это шире.
Вам всё время предлагаются какие-то шаблоны. И Вы вольны выбирать использовать их или нет. Более того, часто мы начинаем свои какие-то шаблоны создавать и в рамках их работать.
Приведу пример. IAR AVR позволяет обращаться к битам порта. Для этого созданы макросы. Причём эти макросы общие для разных процессоров. Честно говоря, как по мне, они совсем неудобные.
Только что работал с MSP430, в стандартных библиотеках просматривается подход TI. Тоже энтузиазма у меня не вызывает.
Наиболее красивый подход, абсолютно в рамках языка, предлагается в CMSIS.
Я не вижу причин почему бы этот подход не перенести на AVR, к примеру. Да и вообще, почему бы его не узаконить.

Скажем упрощённое описание порта выглядело бы так, в хидере...
Код:
typedef struct
{
  __IO uint8_t  PINA;
  __IO uint8_t  DDRA;
  __IO uint8_t  PORTA;
} GPIO_TypeDef;
...
#define GPIOA_BASE            (0x0800)
...
#define GPIOA               ((GPIO_TypeDef *) GPIOA_BASE)
Ну и обращение к нему типо GPIOA-›PORTA =
Также можно и биты расписать именно в рамках языка
можно так, к примеру.
Код:
typedef struct
{
   uint8_t  
     b0 : 1,
     b1 : 1,
     b2 : 1,
     b3 : 1,
     b4 : 1,
     b5 : 1,
     b6 : 1,
     b7 : 1;
} bit_t;

typedef struct
{
  __IO bit_t PINA;
  __IO bit_t DDRA;
  __IO bit_t PORTA;
} GPIO_TypeDef;
...
#define GPIOA_BASE            (0x0800)
...
#define GPIOA               ((GPIO_TypeDef *) GPIOA_BASE)
Ну и обращайтесь к битам GPIOA-›PORTA.b3 = TRUE;
Причём это скомпилируется любым компилятором - CV, IAR, GCC.
Возьмём таймер:
Код:
typedef struct
{
   uint8_t  
     FOC0A  : 1,
     WGM00 : 1,
     COM0A : 2,
     WGM01 : 1,
     CS0     : 3;
} tccr0a_t;

#define _TCCR0A               (*(tccr0a_t*) 0x24)
Обращение _TCCR0A.CS0 = 3; // clk/64

Я так по-быстрому писал. Я просто обращаю внимание начинающих, что в рамках языка ничто не ограничивает ваши возможности. Но использование именно рамок стандарта языка, гарантирует правильность работы и переносимость. А также, даёт вам возможность двигаться дальше. А не замкнуться в рамках какого-то диалекта.
Я не ставлю задачу навязать вам свой взгляд, я рекомендую вам выработать свой подход в рамках языка.
SasaVitebsk вне форума  
Непрочитано 29.01.2014, 12:18  
makser1
Прописка
 
Регистрация: 14.04.2009
Сообщений: 103
Сказал спасибо: 17
Сказали Спасибо 11 раз(а) в 10 сообщении(ях)
makser1 на пути к лучшему
По умолчанию Re: CodeVisionAVR 2.60

Тестировал я компиляторы IAR MikroC CVAVR на выполнении FFT, так CVAVR самый медленный и большой оказался.
cvavr 3832b-7880ms
mikroc 3620b-5400ms
IAR 3398b-1200ms
Я на нем тоже начинал изучать МК. И проекты не слабые писал.
Но теперь только ARM+GCC
Вложения:
Тип файла: zip test_cmp.zip (258.5 Кб, 34 просмотров)
makser1 вне форума  
Непрочитано 29.01.2014, 21:33  
tempora
Почётный гражданин KAZUS.RUN
 
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: CodeVisionAVR 2.60

Сообщение от SasaVitebsk Посмотреть сообщение
Я не вижу причин почему бы этот подход не перенести на AVR, к примеру.
Если это мне, то поздновато - я так уже лет *дцать и делаю.

Сообщение от SasaVitebsk Посмотреть сообщение
Я смотрю на это шире. Вам всё время предлагаются какие-то шаблоны. И Вы вольны выбирать использовать их или нет.
Если бы речь шла о выборе неких расширений, на фоне полностью и правильно реализованного Си, тогда дело обстояло бы именно так, однако, с CV "не до жиру" - он стандарта Си реализовать не может и глюками набит по самое "не балуй". По каковой причине, пользование им лучше всего описывается притчей о поедании кактуса - и хотелось бы не горькое и без калючек, да не можется никак.


Сообщение от Godzilla82 Посмотреть сообщение
Пукнули в очередной раз и довольны.
Любезный, вы об этих материях лучше не рассуждайте - "не запоминайте это слово, а-то, запомните, не дай бог, и ...".
А процитированная выше фраза - ещё одно тому доказательство, ведь вы услышали своё эхо, а источник ищете где угодно, только не там, откуда звук.
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 29.01.2014, 22:21  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: CodeVisionAVR 2.60

Сообщение от tempora Посмотреть сообщение
Любезный, вы об этих материях лучше не рассуждайте
Я вам не любезный, это раз. А во вторых - оставьте свои желчные рассуждения при себе.
Godzilla82 вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CodeVisionAVR selevo Embedd С 11 26.02.2016 22:16
SD и CodeVisionAvr 2.04.4a sersne Микроконтроллеры, АЦП, память и т.д 29 24.03.2010 18:39
CodeVisionAVR V2.03.2 dimonbest Микроконтроллеры, АЦП, память и т.д 253 29.09.2009 22:37
New CodeVisionAVR 1.25.8 dimonbest Микроконтроллеры, АЦП, память и т.д 15 07.02.2008 12:56
Help CodeVisionAVR Serg79 Микроконтроллеры, АЦП, память и т.д 3 15.12.2005 23:32


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.