реклама на сайте
подробности

 
 
> Разница CodeVision и WinAVR
virtuality
сообщение Jul 22 2006, 10:15
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 83
Регистрация: 17-05-06
Пользователь №: 17 190



Гребаные идентификаторы....

Как просто было в CodeVision : PORTD.1=1; DDRD=1;
Пытаюсь в WinAVR сделать - достал примерно следующий код:

Код
  DDRD  &= ~(_BV(PD2));                            // Назначаем 2-ю линию порта D на вход
  PORTD |=  (_BV(PD2));                            // подключаем "подтягивающий" резистор


Нельзя ли попроще как-нибудь?


И еще вопрос - инициализирую АЦП - выдает беспорядочные хаотичные цифры. Понятно, что дело в том, что ловятся шумы. Вылечил резистором 4,7 кОм на питание. А как-нить программно нельзяли?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
pitt
сообщение Jul 22 2006, 16:13
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Разница CodeVision и WinAVR в том, что один пакет это IDE, предназначенное для тех, кто не является профессиональным software engineer, а другой именно пакет утилит для профессионалов или тех, кто на пути в этом направлении.

Сообщение отредактировал pitt - Jul 22 2006, 16:14


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
vesago
сообщение Jul 23 2006, 06:41
Сообщение #3


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



Цитата(pitt @ Jul 22 2006, 19:13) *
Разница CodeVision и WinAVR в том, что один пакет это IDE, предназначенное для тех, кто не является профессиональным software engineer, а другой именно пакет утилит для профессионалов или тех, кто на пути в этом направлении.

Как однако вы точно сказали. Недостаток PORTD.1 потом если надо код перегнать под другую платформу, менять больше придется. Приятнее когда PORTD=(1<<LED) - везде пройдет и понятнее имхо.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 23 2006, 20:15
Сообщение #4


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(vesago @ Jul 23 2006, 09:41) *
Недостаток PORTD.1 потом если надо код перегнать под другую платформу, менять больше придется. Приятнее когда PORTD=(1<<LED) - везде пройдет и понятнее имхо.

Приятнее спору нет, однако это совсем не равносильно с PORTD.1 = 1. И сгенеренные команды будут совсем разными.

Для PORTD.1 = 1 будет сгенерено
SBI PORTD, 1


Для PORTD = (1 << LED):
LDI Rxx, (1 << LED)
OUT PORTD, Rxx
Go to the top of the page
 
+Quote Post
Guest_Serg79_*
сообщение Jul 24 2006, 04:59
Сообщение #5





Guests






Цитата(defunct @ Jul 24 2006, 00:15) *
Цитата(vesago @ Jul 23 2006, 09:41) *

Недостаток PORTD.1 потом если надо код перегнать под другую платформу, менять больше придется. Приятнее когда PORTD=(1<<LED) - везде пройдет и понятнее имхо.

Приятнее спору нет, однако это совсем не равносильно с PORTD.1 = 1. И сгенеренные команды будут совсем разными.

Для PORTD.1 = 1 будет сгенерено
SBI PORTD, 1


Для PORTD = (1 << LED):
LDI Rxx, (1 << LED)
OUT PORTD, Rxx

Ну это вы зря, WinAVR может позволить себе токое невежество только при отключенной оптимизации (-О0) и то не всегда.

Писать: " TIMSK.1 = 1; TIMSK.7 = 1; " можно себе позволить только если не приходиться сопровождать код.
Зато как приятно через полгода поднять код и увидеть там " TIMSK |= (1<<OCIE0)|(1<<OCIE2); ", сразу становиться понятно что у тебя сдесь делается.

А на счет того какой компилятор лучше смотри тему http://electronix.ru/forum/index.php?showtopic=12284
Go to the top of the page
 
+Quote Post
vet
сообщение Jul 24 2006, 07:52
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



Цитата(Serg79 @ Jul 24 2006, 08:59) *
Писать: " TIMSK.1 = 1; TIMSK.7 = 1; " можно себе позволить только если не приходиться сопровождать код.

Никто не мешает в CV написать TIMSK.OCIE0 = 1;


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
Guest_Serg79_*
сообщение Jul 24 2006, 08:55
Сообщение #7





Guests






Цитата(vet @ Jul 24 2006, 11:52) *
Цитата(Serg79 @ Jul 24 2006, 08:59) *

Писать: " TIMSK.1 = 1; TIMSK.7 = 1; " можно себе позволить только если не приходиться сопровождать код.

Никто не мешает в CV написать TIMSK.OCIE0 = 1;

Я прикрепил заголовочный файл для ATMega64 из CV, так попробуй там найти флаг OCIE0. Это тебе придется все самому ручками прописывать.
Это один из минусов CV, кстати не самый маленький.

Сообщение отредактировал Serg79 - Jul 24 2006, 08:57
Прикрепленные файлы
Прикрепленный файл  MEGA64.zip ( 1.16 килобайт ) Кол-во скачиваний: 66
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- virtuality   Разница CodeVision и WinAVR   Jul 22 2006, 10:15
- - ksv198   Цитата(virtuality @ Jul 22 2006, 14:15) Г...   Jul 22 2006, 12:30
- - niccom   Цитата(virtuality @ Jul 22 2006, 14:15) Г...   Jul 22 2006, 12:34
- - xemul   Код#define bitset(var,bitno) ((var...   Jul 22 2006, 14:20
|- - defunct   Цитата(Serg79 @ Jul 24 2006, 07:59) Ну эт...   Jul 24 2006, 06:31
- - Laksus   Цитатаxemul #define bitset(var,bitno) ((var) |= 1 ...   Jul 22 2006, 16:39
|- - xemul   Цитата(Laksus @ Jul 22 2006, 20:39) Понят...   Jul 22 2006, 17:38
- - pitt   Во-первых, PORTD.1 = 1 эквивалентно PORTD |= ( 1 ...   Jul 23 2006, 21:32
|- - vesago   Цитата(pitt @ Jul 24 2006, 00:32) Во-перв...   Jul 24 2006, 07:14
|- - pokos   Цитата(vesago @ Jul 24 2006, 11:14) PORTD...   Jul 24 2006, 09:21
|- - vesago   Цитата(pokos @ Jul 24 2006, 12:21) Цитата...   Jul 24 2006, 09:53
|- - pokos   Цитата(vesago @ Jul 24 2006, 13:53) PORTD...   Jul 24 2006, 12:43
|- - _Bill   Цитата(pokos @ Jul 24 2006, 15:43) Цитата...   Jul 24 2006, 12:57
|- - Семён   Цитата(pokos @ Jul 24 2006, 16:43) Цитата...   Jul 24 2006, 13:07
|- - _Bill   Цитата(Семён @ Jul 24 2006, 16:07) Цитата...   Jul 24 2006, 13:14
|- - Семён   Цитата(_Bill @ Jul 24 2006, 17:14) Цитата...   Jul 24 2006, 13:28
||- - pokos   Цитата(Семён @ Jul 24 2006, 17:28) товари...   Jul 24 2006, 14:11
|- - Woodoo   Цитата(_Bill @ Jul 24 2006, 15:14) Цитата...   Jul 24 2006, 19:31
|- - pitt   Цитата(Woodoo @ Jul 24 2006, 15:31) Если ...   Jul 24 2006, 22:42
- - vet   Serg79 Ручками совершенно необязательно; лично я и...   Jul 24 2006, 09:05
|- - Семён   Цитата(vet @ Jul 24 2006, 13:05) Serg79 Р...   Jul 24 2006, 09:37
|- - Serg79   Цитата(vet @ Jul 24 2006, 13:05) Serg79 Р...   Jul 24 2006, 10:01
- - WHALE   дел на 5 минут,к тому-же я обычно свои библиотечны...   Jul 24 2006, 11:24
|- - Serg79   Цитата(WHALE @ Jul 24 2006, 15:24) дел на...   Jul 24 2006, 11:55
|- - Семён   Цитата(Serg79 @ Jul 24 2006, 15:55) Цитат...   Jul 24 2006, 12:23
|- - defunct   Цитата(Serg79 @ Jul 24 2006, 14:55) А Cod...   Jul 24 2006, 23:06
- - beer_warrior   ЦитатаИ правильно. Хотя: А IAR еще лучше, но по 5....   Jul 25 2006, 06:44
|- - osnwt   Цитата(beer_warrior @ Jul 25 2006, 09:44)...   Jul 25 2006, 10:59
- - Serg79   ЦитатаWinAVR не хуже, он просто сложнее в освоении...   Jul 25 2006, 09:04
- - beer_warrior   ЦитатаНасколько слышал, у него есть проблемы с адр...   Jul 25 2006, 11:09
|- - osnwt   Цитата(beer_warrior @ Jul 25 2006, 14:09)...   Jul 25 2006, 11:22
|- - pitt   Цитата(beer_warrior @ Jul 25 2006, 07:09)...   Jul 25 2006, 15:31
- - beer_warrior   ЦитатаЕсли писать со знанием особенностей конкретн...   Jul 25 2006, 11:31
|- - osnwt   Цитата(beer_warrior @ Jul 25 2006, 14:31)...   Jul 25 2006, 17:37
- - beer_warrior   Цитатаего стоит хотя бы отсутствие прагмы управлен...   Jul 25 2006, 17:35
|- - pitt   Цитата(beer_warrior @ Jul 25 2006, 13:35)...   Jul 25 2006, 18:50
- - tiasur   AVRGCC 4.1.1 При любой оптимизации: Код PORTD ...   Jul 25 2006, 22:16
|- - pitt   WinAVR size: Код PORTD = ( 1 << 0 ...   Jul 26 2006, 01:04
|- - tiasur   pitt, а какая у Вас версия?   Jul 26 2006, 01:43
|- - pitt   Цитата(tiasur @ Jul 25 2006, 21:43) pitt,...   Jul 26 2006, 14:04
|- - Сергей Борщ   О! Может тут кто-нибудь скажет: 1) как застави...   Jul 26 2006, 17:16
|- - aesok   Цитата(Сергей Борщ @ Jul 26 2006, 21:16) ...   Jul 26 2006, 21:03
- - beer_warrior   Цитата2) объявляю две функции (putstring, putstrin...   Jul 26 2006, 21:53
|- - pitt   Цитата(beer_warrior @ Jul 26 2006, 17:53)...   Jul 26 2006, 23:01
|- - pitt   Цитата(beer_warrior @ Jul 26 2006, 17:53)...   Jul 27 2006, 12:58
|- - pitt   Цитата(beer_warrior @ Jul 26 2006, 17:53)...   Jul 27 2006, 13:21
- - Seasonf   Прошу прощения за глупый вопрос, но как заставить ...   Aug 11 2006, 08:07
- - pitt   Код#include <avr/pgmspace.h> ... char cali...   Aug 11 2006, 11:15
- - Seasonf   Или так: #include <avr/pgmspace.h> ... pro_...   Aug 11 2006, 12:34


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 17:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01545 секунд с 7
ELECTRONIX ©2004-2016