AVR studio в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: AVR studio 4 в вопросах и ответах

Сообщение vitalik_1984 »

тут смотреть

Код: Выделить всё

#elif defined (__AVR_ATtiny2313__)
#  include <avr/iotn2313.h>
Вообще то в даташите написано PD0...6 а не RD0...7 можете сами убедиться :)))
В поисках истины человек развивается.
Реклама
Аватара пользователя
Ghost in shell
Держит паяльник хвостом
Сообщения: 931
Зарегистрирован: Пн июн 15, 2009 06:01:38
Откуда: USSR

Re: AVR studio 4 в вопросах и ответах

Сообщение Ghost in shell »

Вообще то в даташите написано PD0...6 а не RD0...7 можете сами убедиться
Я, конечно, пока темен в AVR, но до RD7 в семибитном порту не докатился.
Можно какой-нить пример обращения к линиям портов? Я перерыл весь iotn2313.h, толку мало.
Где бы найти пример *.h - файла и правильный код С, чтобы сравнением вычислить обращение к линиям портов для ATtiny2313?

Без макросов можно?

Код: Выделить всё

#elif defined (__AVR_ATtiny2313__)
Тут хоть с простейшим кодом разобраться...
Кот гуляет сам по себе, но вблизи холодильника.
Реклама
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: AVR studio 4 в вопросах и ответах

Сообщение vitalik_1984 »

обращение такое же как и в любом си

у каждого порта есть три регистра влияющие на работу порта,
DDRx, PORTx, PINx
через PINx читаем,
через PORTx выставляем состояние ног либо включаем подтяжку при входе установив 1.
DDRx меняет направление порта
при 1 - вывод наружу.
х- буква порта.
чтобы включить подтягивание нужно выключить бит PUD вроде в регистре MCUCR. посмотрите сами сейчас не смогу посмотреть

ваш код
RD0 = RD2;

по идее должен выглядеть так

Код: Выделить всё

if (PIND&(1<<PIND2){PORTD|=(1<<PD0);}
else {PORTD&=~(1<<PD0);}
 
PS и впредь внимательнее читайте даташиты , RD0 не равно PD0
В поисках истины человек развивается.
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: AVR studio 4 в вопросах и ответах

Сообщение GP1 »

стою на асфальте...(далее по тексту)
обнаружился интересный глюк
студия 4.19 b.716
камень tiny24
вот такая инструкция:

Код: Выделить всё

		ldi	tmp,1<<TOIE0
		out	TIMSK0,tmp
приводит к тому, что в студии устанавливается флаг OCIE0A (см.рисунок), чуть моск себе не расплавил, пока обнаружил, при чем, в tmp(он же r16) значение грузится правильно.
так что АХТУНГ
http://radiokot.ru/forum/download/file. ... &id=115535

зы ноп - чисто для брейка :wink:
Вложения
глюк.PNG
(28.98 КБ) 704 скачивания
Чем дальше, тем больше становлюсь занудой...
Изображение
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Re: AVR studio 4 в вопросах и ответах

Сообщение zero648 »

Пробую компилировать программу на С, компилятор выдает сообщения, что это означает?

Изображение

Или я не правильно компилирую, как правильно?
Реклама
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: AVR studio 4 в вопросах и ответах

Сообщение vitalik_1984 »

компилируете правильно, если бы вы потрудились перевести то, что вам пишет студия, то поняли бы, что она не видит ни WinAvr ни AvrTools . Вам нужно установить один из возможных вариантов и работать.
Если же они стоят, то я не знаю что делать.Вроде как эти программы должны находиться в той же папке, в которую установлена студия.Где то прочитал, что так нужно и у меня все работает.По другому не пробовал.Может кто знает как оно по другому?
В поисках истины человек развивается.
Реклама
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Re: AVR studio 4 в вопросах и ответах

Сообщение zero648 »

Спасибо! Установил WINAVR и все заработало
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: AVR studio 4 в вопросах и ответах

Сообщение vitalik_1984 »

Хе, :lol: можно не добавлять инклуд с точным названием контроллера компилятор уже знает с чем компилировать.
Вот
Изображение
В поисках истины человек развивается.
pokk
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Re: AVR studio 4 в вопросах и ответах

Сообщение pokk »

Здравствуйте, в качестве блокнота использую Notepat++ но при копировании когда в AVR studio теряются комментарии (становятся вопросиками) а если копировать из обычного (виндовского блокнота) то всё нормально копируется. Подскажите что сделать что бы не терялись комментарии.
И ещё не большой вопросик можно в AVR studio 4 сделать шаблон т.е я хочу сделать так что бы когда открываешь новый проект то вместо пустой страницы появлялась страница со стандартным кодом написанным заранее .
Аватара пользователя
Ghost in shell
Держит паяльник хвостом
Сообщения: 931
Зарегистрирован: Пн июн 15, 2009 06:01:38
Откуда: USSR

Re: AVR studio 4 в вопросах и ответах

Сообщение Ghost in shell »

kk
У вас (как и у меня) несовместимость кодовых таблиц кириллических раскладок юникодовского шрифта (да будет бессилен его творец от пупка до колена, чтоб не плодил идиотов). Пользуйтесь чем-то совместимым, например, Вордом.
Кот гуляет сам по себе, но вблизи холодильника.
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: AVR studio 4 в вопросах и ответах

Сообщение vitalik_1984 »

pokk писал(а):Здравствуйте, в качестве блокнота использую Notepat++ но при копировании когда в AVR studio теряются комментарии (становятся вопросиками) а если копировать из обычного (виндовского блокнота) то всё нормально копируется. Подскажите что сделать что бы не терялись комментарии. .
есть вариант сохранять все в unicod потом открывать в студии.Правда понятно зачем вообще в блокноте делать.
pokk писал(а):
И ещё не большой вопросик можно в AVR studio 4 сделать шаблон т.е я хочу сделать так что бы когда открываешь новый проект то вместо пустой страницы появлялась страница со стандартным кодом написанным заранее .
Создайте нужный текст и сохраните.Потом при при каждом новом проекте открываете этот файл и нажимаете сохранить как.Можно таким образом несколько шаблонов иметь.
для удобства можно сделать ярлык и открывать этот файл через ярлык.
В поисках истины человек развивается.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15559
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: AVR studio 4 в вопросах и ответах

Сообщение BOB51 »

pokk писал(а):Здравствуйте, в качестве блокнота использую Notepat++ но при копировании когда в AVR studio теряются комментарии (становятся вопросиками) а если копировать из обычного (виндовского блокнота) то всё нормально копируется. Подскажите что сделать что бы не терялись комментарии.
И ещё не большой вопросик можно в AVR studio 4 сделать шаблон т.е я хочу сделать так что бы когда открываешь новый проект то вместо пустой страницы появлялась страница со стандартным кодом написанным заранее .
пользуйтесь DPAD ( подходит и для AVRstudio и для c51asm и для mplab)
http://dpad-editor.ru/
шаблоны у меня только к тем МК, которыми пользуюсь - attiny13, 2313 & atmega8515 - остальное леньки писать, ежли интересно - скину...
:beer:
pokk
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Re: AVR studio 4 в вопросах и ответах

Сообщение pokk »

шаблоны у меня только к тем МК, которыми пользуюсь - attiny13, 2313 & atmega8515 - остальное леньки писать, ежли интересно - скину...
да давайте интересно по смотреть :)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15559
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: AVR studio 4 в вопросах и ответах

Сообщение BOB51 »

лови в "личку" :)
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: AVR studio 4 в вопросах и ответах

Сообщение Jack_A »

BOB51 писал(а): пользуйтесь DPAD
... Или старым добрым MultiEdit
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: AVR studio 4 в вопросах и ответах

Сообщение FreshMan »

подскажите пожалуйста, есть ли пошаговое руководство для чайника по данной проге ?
Tell Me The Truth
Аватара пользователя
CyberVad
Встал на лапы
Сообщения: 142
Зарегистрирован: Сб дек 24, 2011 12:39:03

Re: AVR studio 4 в вопросах и ответах

Сообщение CyberVad »

Приветствую многоуважаемых котов!
Я в программировании МК не новичок, но в программировании на СИ всё же новичок. Я всегда в душе ненавидел СИ а теперь совсем чёрт знает что в моей душе: СИ ненавижу но приходится в нём кодить, тк как он де-факто самый широкоупотребительный язык. (Было время огромные программы писал на асме, но новый асм изучать и писать большое - уже нету сил; ФАСТАВР простой но глючный; в Баскоме нелепые ограничения). Меня просто убивает что в си не чисто теоретическом виртуальном и умозримом, а что ни есть практическом - для МК нет простых команд для самого главного - ногодрыгания.
В первой и пока последней проге я использовал такие вот конструкции, например:
#define B_PORT PORTB
#define SCLK 5 //Port B.5 Запись в дисплей
DDRB |= (1 << 5); // Устанавливаем порт PORTB.5 (SCLK) как выход
и далее
B_PORT |= 1 << SCLK; //SCLK в единицу
B_PORT &= ~(1 << SCLK); //SCLK в ноль
Вопрос: кто как упрощает себе жизнь заменяя такие уродливые конструкции на более изящные?
Прошу не пинать. :cry:
Вышел из себя.
Пришел в себя.
Ушел в себя.
И решил больше сегодня никуда не ходить
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: AVR studio 4 в вопросах и ответах

Сообщение vitalik_1984 »

Отчего же уродливые? хотите сказать, что три строчки асм вместо одной строки си лучше?
Легко и просто можно сменить на более простую конструкцию с помощью макросов
Если желаете можно даже в виде знакомых команд асм

Код: Выделить всё

# define set_bits(Reg,Mask)   do( Reg|=Mask)while (0)
 //использование 
 set_bits(PORTB,0x01) ;  //можно числом
 clear_bits(MCUCR,(1<<PUD)) ;//можно маской сдвига
 
таким же образом можно создать и макрос очистки нужных бит.
для code vision AVR действительны записи типа
PORTB.1=1; но тут уже вопрос двоякий, изза лени может оказаться, что постоянно придется им пользоваться и если надоест, то все переделывать из-за таких строк.

PS между прочим операции сдвига для установки бит используются и в асм
Последний раз редактировалось vitalik_1984 Чт авг 09, 2012 12:39:45, всего редактировалось 2 раза.
В поисках истины человек развивается.
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: AVR studio 4 в вопросах и ответах

Сообщение ut1wpr »

CyberVad писал(а):Вопрос: кто как упрощает себе жизнь заменяя такие уродливые конструкции на более изящные?
Прошу не пинать. :cry:
Попробуйте в дополнение к обрУганному вами Си снизойти до изучения его ПРЕПРОЦЕССОРА. Гугл вам в помощь, много вкусного... :)
Изучив его, изящность сможете порождать сами. На свой вкус. Изящность - вещь субъективная, не забывайте. Кому-то ваша изящность может показаться и уродливой конструкцией. :)
PS Что-то слабо верится, что при написании огромных программ на ассемблере, вы обходились без такого мощного механизма, как макросы.
С уважением,
Виктор.
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

Re: AVR studio 4 в вопросах и ответах

Сообщение avreal »

CyberVad писал(а): B_PORT |= 1 << SCLK; //SCLK в единицу
B_PORT &= ~(1 << SCLK); //SCLK в ноль
Вопрос: кто как упрощает себе жизнь заменяя такие уродливые конструкции на более изящные?
Во-первых, присоединяюсь к тем, кто не считает такие конструкции уродливыми (точно так же устанавливаются и сбрасываются биты в переменных в памяти, это просто такой «оборот речи» языка С.
Во-вторых, давно предпочитаю такое

Код: Выделить всё

// желтый светодиод подключен к 1-ой ножке порта B и включается _низким_ уровнем
#define LED_YEL B, 1, L
// красный светодиод подключен к 2-ой ножке порта B и включается _высоким_ уровнем
#define LED_RED B, 2, H
// Кнопка подключена к 3-ей ножке и при нажатии выдаёт _низкий_  уровень
#define KEY B, 3, L
// Оптрон подключен к 4-ей ножке и при активации выдаёт _высокий_  уровень
#define OPTO B, 4, H

// Всё, с этого момента можно забыть, какие активные уровни у кнопок и светодиодов.
// Можно произвольно врезать инверторы (например, транзисторные ключи), ничего не меняя
// во всей программе, поменяв только буковки H и L выше

   ON(LED_YEL);
   ON(LED_RED);
   if (ACTIVE(KEY))     OFF(LED_YEL);
   if (!ACTIVE(OPTO)) TOGGLE(LED_YEL); // проинвертировать выход
Макросы для этого дела для AVR находятся в файле pin_macros.h
Для MSP430 и ARM7 должны лежать в соответствующих примерах scmRTOS

Операция TOGGLE (инвертирование выхода) делается оптимально, для старых AVR-ок путём PORTx ^= MASK, для новых путём PINx = MASK.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Ответить

Вернуться в «AVR»