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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

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

Сообщение B@R5uk »

Поставил WinAVR, что-то пытается скомпилировать, но возникает ошибка:

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

Build started 8.6.2015 at 13:57:56
mmcu=atmega8a -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT mega8-test.o -MF dep/mega8-test.o.d  -c  ../mega8-test.c
/bin/sh: -Wall: command not found
make: [mega8-test.o] Error 127 (ignored)
mmcu=atmega8a -Wl,-Map=mega8-test.map mega8-test.o     -o mega8-test.elf
/bin/sh: -Wl,-Map=mega8-test.map: command not found
make: [mega8-test.elf] Error 127 (ignored)
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature  mega8-test.elf mega8-test.hex
avr-objcopy: 'mega8-test.elf': No such file
make: *** [mega8-test.hex] Error 1
Build failed with 1 errors and 0 warnings...
Подскажите, пожалуйста, что не так?
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

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

Сообщение Alexeyslav »

У тебя студия не срослась с компилятором... может настройки не те?
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

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

Сообщение B@R5uk »

Что с этим можно сделать?
Аватара пользователя
alex38779
Потрогал лапой паяльник
Сообщения: 386
Зарегистрирован: Чт окт 31, 2013 10:54:32
Контактная информация:

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

Сообщение alex38779 »

Пишет ошибку unknown type name 'uint8_t' Студия 6.

В чем может быть проблема?

подключены такие инклюды:

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

#include <avr/io.h>
#include <math.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include <stdbool.h>
#include <stdint.h>
#include <inttypes.h>


пишу на си..
Аватара пользователя
afz
Опытный кот
Сообщения: 744
Зарегистрирован: Сб дек 22, 2012 08:17:42
Откуда: Караганда, Казахстан

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

Сообщение afz »

B@R5uk писал(а):Что с этим можно сделать?
Поставить студию 4.19, затем к ней avr-toolchain-installer-3.3.0.710-win32.win32.x86.exe - это тот самый WinAVR для Студии 4.19, находится с полпинка прямо по полному названию файла. На мой взгляд, эта Студия - лучшее решение для АВР, если не понадобится программировать для XMega. А шестая Студия сильно толстая, ей подавай комп посвежее, на старых тормозит по-тяжелому, да и на новых не скажешь, что летает...
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

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

Сообщение oleg110592 »

alex38779 писал(а):Пишет ошибку unknown type name 'uint8_t' Студия 6.

попробуйте #include <stdint.h> переставить выше других #include
vga80
Родился
Сообщения: 11
Зарегистрирован: Ср июл 03, 2013 11:47:56

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

Сообщение vga80 »

Добрый день!
Обнаружил, что моя программа неправильно выполняет операции с типом float.

Как пример:
volatile float Time:
volatile float Calibrat;

Time=962884.0;
Calibrat=25.05124;

Calibrat=(float)(Time*Calibrat);
В итоге ave studio 4.18 дает результат 24121440, а калькулятор 24121438,176. Полдня потратил, пробуя разные варианты и преобразовывая типы. Ничего :(
В чем моя ошибка?

Библиотека <math.h>
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

Переменная типа float занимает 32 бита (4 байта) в памяти.
Тип float имеет точность 6-7 знаков, имеются ввиду все знаки, а не только мантисса. Обычно для увеличения точности используют другой тип - double
Вот он и отбрасывает всё что после 25,0 при умножении и потом при запихивании во float.
Хотел бы я посмотреть как вы 24121438,176 запихнёте в 4 байта :)))
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
vga80
Родился
Сообщения: 11
Зарегистрирован: Ср июл 03, 2013 11:47:56

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

Сообщение vga80 »

И как быть?
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

Сообщение Аlex »

Использовать 64-битный тип.
32 бита мало для таких вычислений.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

vga80 писал(а):И как быть?

думать над алгоритмом. в 99% задачах, решаемых при помощи микроконтроллеров AVR, можно легко обойтись без float и double (тем более что это одно и то же в данном контексте), а оставшийся 1% задач требует усилий для этого.

так что дерзайте.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
vga80
Родился
Сообщения: 11
Зарегистрирован: Ср июл 03, 2013 11:47:56

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

Сообщение vga80 »

Спасибо! Думаю, знаю как решить проблему - буду использовать тип int в вычислениях, а после уже сам возьму сколько знаков после запятой надо и выведу на дисплей. Завтра из любопытства еще попробую double.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

для WinAVR double и float - одно и то же, я об этом писал же.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

Сообщение Аlex »

vga80 писал(а): буду использовать тип int в вычислениях, а после уже сам возьму сколько знаков после запятой надо и выведу на дисплей.
Если в вашем компиляторе int - 16 бит, то у вас не то что результат умножения, даже ни один множитель не влезет в него.
И в long результат тоже не влезет.
TICLIR
Встал на лапы
Сообщения: 134
Зарегистрирован: Вс авг 01, 2010 16:05:25

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

Сообщение TICLIR »

Доброго времени суток, нужда заставили перейти с WinAvr на AVRStudio, подскажите знающие, возможно сделать нумерацию строк, а то если вдруг, ошибка не явная то хоть затыкайся на сообщение. Я вроде все настройки перерыл так ни чего не нашел.
Аватара пользователя
baghear
Опытный кот
Сообщения: 791
Зарегистрирован: Вт июн 17, 2014 00:34:26

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

Сообщение baghear »

В atmel studio 6 и 6.2 Tools>Options>Text Editor>All Languages>Line numbers установить галочку
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

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

Сообщение Alexeyslav »

А смысл? если ошибка неявная, то она не привязана к какой-либо строке.
TICLIR
Встал на лапы
Сообщения: 134
Зарегистрирован: Вс авг 01, 2010 16:05:25

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

Сообщение TICLIR »

Так понимаю что в студии 4 такой функции нет.
Vadim.S
Родился
Сообщения: 4
Зарегистрирован: Ср сен 30, 2015 08:44:46

Задачи с использованием программы AVRstudio Помогите решить

Сообщение Vadim.S »

Здравствуйте уважаемые форумчане!Нужна помощь с решением заданий с помощью программы AVRStudio.Если у вас есть время удилите 10 вашего драгоценного времени) 1.Ассемблер-программа должна записать в три РОН три шестнадцатеричных числа, произвести суммирование данных РОН и записать результат суммирования в четвертый РОН без переноса.
2.Ассемблер-программа должна инициализировать микроконтроллер, задав внутренний источник тактового сигнала (RC-генератор) частотой 1,0 МГц. Для работы периферийных устройств задать коэффициент
3.Ассемблер-программа должна сконфигурировать разряды 8-разрядного порта как входы и при приеме сигнала отличного от нуля, записать значение в РОН (R16)$ = (PINx)$+(R16)$
4.Ассемблер-программа должна сконфигурировать аналоговый компаратор (включить компаратор, разрешить прерывание от компаратора), сгенерировать прерывание по изменению состояния выхода компаратора с «1» на «0», записать результат сравнения в ячейку памяти по адресу 0001$
5.Ассемблер-программа должна сконфигурировать АЦП (включить АЦП, разрешить прерывание от АЦП, режим работы – одиночное преобразование, частота тактового сигнала АЦП – двукратная по отношению к тактовому сигналу МК), запустить АЦП в режиме ADC Noise Reduction, сгенерировать прерывание от АЦП, записать результат преобразования в ячейку памяти, адрес которой указан в указателе стека SPH:SPL

Вот собственно и задания....Версия программы AVRstudio4.0. Мне нужен сам код чтобы скопировать и вставить в программу а далее сохранить.Учусь на экономиста а преподаватель озадачил по Информатике.Выручайте
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Задачи с использованием программы AVRstudio Помогите реш

Сообщение Engineer_Keen »

Vadim.S писал(а):Здравствуйте уважаемые форумчане!Нужна помощь с решением заданий с помощью программы AVRStudio.Если у вас есть время удилите 10 вашего драгоценного времени)

Правильная тема вот. В чем разница? Помогают это когда человек пытается что-то сделать, но у него не все получается, а когда просто вываливают задачу - это именно "сделайте за меня" :dont_know:
Vadim.S писал(а):1.Ассемблер-программа должна записать в три РОН три шестнадцатеричных числа, произвести суммирование данных РОН и записать результат суммирования в четвертый РОН без переноса.

найти в документации на ассемблер AVR 3 нужные команды из сотни и скомбинировать из них последовательность в 7 строчек...
Смотрите ТУТ.
Vadim.S писал(а):2.Ассемблер-программа должна инициализировать микроконтроллер, задав внутренний источник тактового сигнала (RC-генератор) частотой 1,0 МГц. Для работы периферийных устройств задать коэффициент

Вообще-то источник тактирования задается фьюзами... Программно можно только поменять делитель, да и то не везде.
Смотреть ТУТ
Vadim.S писал(а):3.Ассемблер-программа должна сконфигурировать разряды 8-разрядного порта как входы и при приеме сигнала отличного от нуля, записать значение в РОН (R16)$ = (PINx)$+(R16)$

Не особо отличается от предыдущего, только надо еще смотреть как устроены порты в AVR
Vadim.S писал(а):4.Ассемблер-программа должна сконфигурировать аналоговый компаратор (включить компаратор, разрешить прерывание от компаратора), сгенерировать прерывание по изменению состояния выхода компаратора с «1» на «0», записать результат сравнения в ячейку памяти по адресу 0001$
5.Ассемблер-программа должна сконфигурировать АЦП (включить АЦП, разрешить прерывание от АЦП, режим работы – одиночное преобразование, частота тактового сигнала АЦП – двукратная по отношению к тактовому сигналу МК), запустить АЦП в режиме ADC Noise Reduction, сгенерировать прерывание от АЦП, записать результат преобразования в ячейку памяти, адрес которой указан в указателе стека SPH:SPL

Такая же фигня, правда написано как-то коряво... Сгенерировать прерывание где? В симуляторе чтоли? Тогда ладно. Частота тактового сигнала АЦП двукратная по отношению к тактовой МК это шИдевр! Учитывая что вся периферия тактируется от тактовой МК. Ну предположим что это корявая опечатка, вот в 2 раза меньше можно...
Vadim.S писал(а):Учусь на экономиста а преподаватель озадачил по Информатике.Выручайте

Учусь на механизатора, но препод по анатомии зачем-то требует знать сколько у человека костей в организме :facepalm:
Вот извините, но что-то не верится, серьезно... Почему почти все кто попадает в ту тему говорят примерно одно и то же? Сейчас что, во всех учебных заведениях на уроках информатики проходят 8-битные микроконтроллеры, да еще и ассемблер? Вот везет же людям!
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Ответить

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