Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/14: Рейтинг темы: голосов - 14, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 21
1

AVR studio

15.01.2015, 16:31. Показов 2637. Ответов 42
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Когда-то давно писал под AT90S2313 на ассемблере. Недавно скачал AVR Studio version 4.19 и у вас на форуме увидел, что можно писать на языке "С", а не на ассемблере. Я думал, что только ARDUINO С понимает. Подскажите как в AVR Studio version 4.19 писать на С? Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2015, 16:31
Ответы с готовыми решениями:

CAVR против AVR Studio, что не так в программе под AVR Studio
Проблема такая, есть исходник, если его компилировать в CAVR заливаю в МК все работает, если этот...

Как подкрутить AVR Toolchain к AVR Studio 4.19?
Здравствуйте. Как подкрутить AVR Toolchain к AVR Studio 4.19? avr-gcc есть, а make нет. Как...

(Avr Studio + WinAvr) vs (mikroC PRO for AVR)
Сам пользуюсь (Avr Studyo + WinAvr). Ктонибудь использует mykroC PRO for AVR ? Слышал там...

AVR Studio 6 и AVR Toolchain вопросы!
Всем доброго времени суток. Решил я написать софтинку в новой студии от Атмела AVR Studyo 6. Все...

GCC и AVR Studio 5 и AVR Studio 4.18
Доброго дня Всем! Кто может подсказать следующее - у меня установлена AVR Studio 5 со встроеным...

42
10231 / 6609 / 498
Регистрация: 28.12.2010
Сообщений: 21,156
Записей в блоге: 1
15.01.2015, 16:43 2
AVR. Учебный курс
https://www.cyberforum.ru/elec... 26610.html

ARDUINO С понимает
ардунья - это не МК, а торговая марка, название плат-модулей. МК там AVR и прочие, а потому писать можете хоть на МикроПаскале или даже Пурике.

А вот среда Arduino - Wiring/
0
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 21
15.01.2015, 18:29  [ТС] 3
raxp, спасибо попытаюсь изучить.

Добавлено через 53 минуты
raxp, к сожалению под Windows7 не запускаются VMLAB и CVAVR
0
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
15.01.2015, 20:35 4
Цитата Сообщение от sten_11 Посмотреть сообщение
Недавно скачал AVR Studio version 4.19
Где же Вы её нашли? Хотя если честно четвертая версия мне нравится больше чем современные.
Цитата Сообщение от sten_11 Посмотреть сообщение
к сожалению под Windows7 не запускаются VMLAB и CVAVR
виртуалку с XP делов то.
Цитата Сообщение от sten_11 Посмотреть сообщение
Подскажите как в AVR Studio version 4.19 писать на С?
Можно, весь вопрос GCC был в инсталяторе или нет, если нет то качать отдельно.
0
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 21
15.01.2015, 20:50  [ТС] 5
Витальич, могу версией каким-либо образом поделиться. GCC встроен, при создании проекта предлагает выбрать ASM или GCC. Тут на форуме видел как ребята подключали библиотеки
C++
1
2
3
4
#include <avr/io.h>
#include <string.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
но если в С++ это местные библиотеки, то в AVR я их не нашел.
Подскажи как оформить на форуме цитату?
0
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
15.01.2015, 21:06 6
Цитата Сообщение от sten_11 Посмотреть сообщение
могу версией каким-либо образом поделиться.
Это был сарказм, я знаю где взять
C
1
2
3
4
#include <avr/io.h> // определение регистров МК
#include <string.h> // сишная библиотека работы со строками
#include <avr/pgmspace.h> // работа с флешкой
#include <avr/interrupt.h>   // работа с прерываниями
Цитата Сообщение от sten_11 Посмотреть сообщение
но если в С++ это местные библиотеки, то в AVR я их не нашел.
у меня лежат вот по этому пути, они ставятся с GCC
Миниатюры
AVR studio  
0
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 21
15.01.2015, 21:17  [ТС] 7
Цитата Сообщение от Витальич Посмотреть сообщение
у меня лежат вот по этому пути, они ставятся с GCC
у меня вообще ни одного h-файла нет. Может версию другую поставить?
0
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
15.01.2015, 21:21 8
Цитата Сообщение от sten_11 Посмотреть сообщение
у меня вообще ни одного h-файла нет. Может версию другую поставить?
Цитата Сообщение от Витальич Посмотреть сообщение
Можно, весь вопрос GCC был в инсталяторе или нет, если нет то качать отдельно.
Лучше возьмите с официального сайта последнею версию. У меня стоит такая, мне будет легче советы давать.
0
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 21
15.01.2015, 21:41  [ТС] 9
Витальич, качаю

Добавлено через 13 минут
Это нормально, что установщик ставит мне MS Visual Studio, а не AVR Studio
0
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
15.01.2015, 21:46 10
Да, нормально. Шестая студия сделана на основе MS Visual Studio. ИМХО: В VS один из лучших редакторов, но машина должна быть мощная
0
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 21
15.01.2015, 21:50  [ТС] 11
Витальич, скажи а смысл в 4ю версию GCC засовывать если библиотек нет ?
0
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
15.01.2015, 21:55 12
GCC - это компилятор, линковщик итд, а также библиотеки. Когда ставится GCC он библиотеки тоже ставит. Почему не поставилось у Вас не знаю.
P.S. GCC не мой основной компилятор, я им пользуюсь от случая к случаю поэтому могу что то не знать.
0
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 21
15.01.2015, 22:05  [ТС] 13
Ты на ASM пишешь ?
0
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
15.01.2015, 22:10 14
Цитата Сообщение от sten_11 Посмотреть сообщение
Ты на ASM пишешь ?
Раньше писал, сейчас нет. Смысла нет, качество кода генерируемое современными компиляторами не хуже чем можно написать на асме.
0
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 21
15.01.2015, 22:34  [ТС] 15
Студия встала, библиотеки есть. Пытаюсь создать проект, не могу найти AT90S4433
0
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
15.01.2015, 22:49 16
А нет больше поддержки девяностой серии, она была снята с производства чуть ли не девять лет назад. Либо ставить старую студию либо брать современный МК. Можно конечно прикрутить и его, но геморроя будет немеряно.
P.S. AT90S4433 один из самых геморройных МК в девяностой серии из опыта.
0
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 21
15.01.2015, 23:02  [ТС] 17
Вот ведь. 2313 есть главное. Ладно достану новый какой-нибудь. Витальич, скажи можно ли в СТУДИИ работать с выводами порта как с массивом, что-то типа
C++
1
2
3
4
5
arr[6]={PD0;PD1..;PD5}
for(int i=0;i++;i<6)
{
if(PD[i]==1) {//тра ля ля}
}
Была задача: с Пк приходит цифра (не больше 6 ) и согласно её представлению в двоичном виде должны включаться соответствующие светодиоды.
Я в 4й студии писал на asm, сделал цикл, проверял каждый бит на 0/1 но как выставить ногу порта в нужное состояние обращаясь к ней не PD0,PD1 а используя счетчик цикла? Может матрицу как-нибудь можно организовать ?
0
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
15.01.2015, 23:31 18
Можно поменять все разряды порта сразу:
C
1
2
PORTB = 0xFF; // все разряды в 1 
PORTB = 0x00; // все разряды в 0
аналог:
Assembler
1
2
ld r16,255
out PORTB,r16
Можно менять по разрядно:
C
1
2
PORTB |= (1<<6);// в шестой разряд записать 1
PORTB &= ~(1<<6); //в шестой разряд записать 0
Можно сразу несколько разрядов
C
1
2
PORTB |= (1<<6)|(1<<1);// в шестой и первый разряд записать 1
PORTB &= ~((1<<6)|(1<<1));// в шестой  и первый разряд записать 0
Можно получить доступ к единственному нужному биту порта через особую директиву Bit Value.
C
1
PORTB |= _BV(6);//  в шестой разряд записать 1
Далее код не для AVR, а для примера:
Я в своих проектах создаю специальный файл где через дефайны прописываю все порты и команды
Вот например с текущего проекта:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef __PORT_INIT_H
#define __PORT_INIT_H
 
extern void Init_Ports(void);
 
//--------------------------------------------------------------------
//  Порты SPI
#define SPI_GPIO_PORT                   GPIOC
#define SPI_SCK_PIN                     GPIO_PIN_5
#define SPI_MOSI_PIN                    GPIO_PIN_6
#define SPI_MISO_PIN                    GPIO_PIN_7
 
#define RC_NCS_GPIO_PORT                GPIOE
#define RC_NCS_PIN                      GPIO_PIN_5
 
//---------------------------------------------------------------------
//  Кнопки
#define KEY_1_GPIO_PORT                 GPIOF
#define KEY_1_PIN                       GPIO_PIN_4
 
#define KEY_1_ON                        ((BitStatus)KEY_1_GPIO_PORT->IDR & (uint8_t)KEY_1_PIN)
 
//---------------------------------------------------------------------
//  Светодиоды
#define LED_GPIO_PORT                   GPIOB
#define LED_GREEN_PIN                   GPIO_PIN_0
 
#define LED_GREEN_ON                    LED_GPIO_PORT->ODR |= (uint8_t)(LED_GREEN_PIN)
#define LED_GREEN_OFF                   LED_GPIO_PORT->ODR &= (uint8_t)(~LED_GREEN_PIN)
 
#endif
Теперь в коде что бы включить зелёный светодиод нужно написать
LED_GREEN_ON;
0
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 21
15.01.2015, 23:48  [ТС] 19
Assembler
1
sbi PORTD,count //count счетчик цикла, он же и укажет на номер СД
Добавлено через 7 минут
Витальич, а ты к ноге порта анод или катод ставишь? Я катод поставил и конфигурирую порт на ввод. Порт ток должен выдержать СД загорится.
0
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
15.01.2015, 23:53 20
В асме да. К сожалению в конструкции PORTB |= (1<<6); номер пина должен быть задан константой
Поэтому нужно делать по другому, например вот так:
C
1
2
3
unsigned char tmp;
tmp = PORTB;
PORTB = tmp & маска
count - может быть маской если Вы уверены что там только нужный БИТ установлен в 1 в противном случаи придется использовать "таблицу" соответствия в виде массива.
0
15.01.2015, 23:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2015, 23:53
Помогаю со студенческими работами здесь

AVR Studio 6 Avr simulator
Подскажите каким образом стартануть прогу в avr symulator с адреса boottooder (atmega8a, 0x0F80)....

Установить AVR Studio 6 после Visual Studio 10 SP1
При уже установленной Visual Studio 10 установщик AVR Studio 6 устанавливает Visual Studio Shell,...

Почему AVR Studio 4, а не Atmel Studio 6?
По какой причине большинство специалистов по AVR микроконтроллерам в основном используют AVR Studyo...

AVR studio 4.19
Здравствуйте! При установке AVR studyo 4.19 у меня нет значков программирования CON и AVR....

AVR Studio 4.18
Кто ставил 4.18 какие глюки заметил?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru