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

Обсуждаем контроллеры компании Atmel.
MACOH
Родился
Сообщения: 11
Зарегистрирован: Сб окт 09, 2010 14:10:05

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

Сообщение MACOH »

Доброго дня всем! Ну умоляю уж очень хочу учиться кодить avr на Си. И следующая проблема пишу, программу, рандомное мигание портами. В протеусе работает, а вот в железе молчит. Плата wave share. Openm128. Скажите что не так...
download/file.php?mode=view&id=286244
Вложения
pixlr_20170529070600499_20170529110135832.jpg
(120.26 КБ) 876 скачиваний
ozonn
Вымогатель припоя
Сообщения: 522
Зарегистрирован: Чт янв 21, 2016 15:59:10

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

Сообщение ozonn »

появилась проблема. Никогда раньше не пользовался плавающей точкой, но настал момент, когда избежать этого не удается. Итак, код примерно такой:

.
.
.

double magn_angle;
char str_buff[90];
.
.
.

int main(void)
{
.
.
.
magn_angle = atan(mag_hx/mag_hy);
sprintf(str_buff, " %f %d", magn_angle, -23);
ili9341_draw_string(176, 210, WHITE, NAVY, str_buff, &CourierNew16x20[0][0], 16, 20);
.
.
.
}

в результате на дисплее получаю результат:

? -23

то есть в десятичном формате выводится правильно, а вместо вещественного числа получаю знак вопроса. Что ж за бабуйня такая?
Может кто-нибудь подскажет, в чем проблема?
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

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

Сообщение COKPOWEHEU »

Since the full implementation of all the mentioned features becomes fairly large, three different flavours of vfprintf() can be selected using linker options. The default vfprintf() implements all the mentioned functionality except floating point conversions. A minimized version of vfprintf() is available that only implements the very basic integer and string conversion facilities, but only the # additional option can be specified using conversion flags (these flags are parsed correctly from the format specification, but then simply ignored). This version can be requested using the following compiler options:

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

   -Wl,-u,vfprintf -lprintf_min

If the full functionality including the floating point conversions is required, the following options should be used:

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

   -Wl,-u,vfprintf -lprintf_flt -lm
из документации по avr-libc. Вы учитываете что дефолтная реализация stdio не поддерживает дробные числа?
ozonn
Вымогатель припоя
Сообщения: 522
Зарегистрирован: Чт янв 21, 2016 15:59:10

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

Сообщение ozonn »

[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=3128126#p3128126"]Вы учитываете что дефолтная реализация stdio не поддерживает дробные числа?[/uquote]
разумеется не учитываю, иначе, откуда бы у меня возник вопрос? Хотя, я подозревал, что либо подобное.

итак, проект у меня в атмел студио 6.2 Как мне победить эту бабуйню?

нашел, куда эти опции вставить, все заработало. Огромное спасибо COKPOWEHEU :)
REQW84
Родился
Сообщения: 5
Зарегистрирован: Пт дек 23, 2016 16:43:34

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

Сообщение REQW84 »

Господа, помогите правильно установить (или настроить) Atmel Studio 7

Компьютер: Windows 8.1 Корпоративная (с полными правами), Core i3 2,10 Ghz, 8 Gb RAM

Исходник Atmel Studio 7 (as-installer-7.0.1417-web) скачал с оф сайта
При установке просит установить обновление Windows KB2978092, но скачав данное обновление мой Windows говорит: "Обновление не применимо к Вашему компьютеру" (если я правильно понимаю, то оно для Windows 7)
ОК
Продолжить установку. Studio дает возможность (фото прикрепляю - Фото1
Фото1.jpg
(173.22 КБ) 549 скачиваний

Устанавливается без ошибок
Запускаем
Создаем новый проект (GCC C Executable Project) далее выбираем ATtiny 2313
Studio создала пустой проект
Нажимаем Build GccApplication2
И получаем следующий error: recipe for target 'main.o' failed (Фото2
Фото2.jpg
(219.16 КБ) 621 скачивание


Перерыл уже весь интернет, сбился с ног...
Подскажите, что я делаю не так?!
Vaha
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Пт окт 11, 2013 20:43:07
Откуда: с. Муравлёвка Измаильский р-н.

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

Сообщение Vaha »

Здравствуйте.
Чтобы отладчик Atmel Studio 4.18 начал реагировать на прерывания что надо?
Предложенные аналогичные варианты для 5-6 студии мне не помогли, "interrupts while" или аналогичное пока не нашел.
(программка откомпелированна и в камне работает, как-бы ошибки исключаю)
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

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

Сообщение Z_h_e »

Vaha писал(а):как-бы ошибки исключаю
Это зря конечно :)

На счет 4ого уже не помню, собственно я там и проблем не помню. В 6 ом у меня реагирует на прерывания, если симуляция запущена в "RUN", а вот когда выполняешь по шагам, то игнорирует.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

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

Сообщение pyzhman »

[uquote="Vaha",url="/forum/viewtopic.php?p=3137252#p3137252"]...ошибки исключаю)[/uquote]
Программу в студию.
Docendo discimus
Vaha
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Пт окт 11, 2013 20:43:07
Откуда: с. Муравлёвка Измаильский р-н.

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

Сообщение Vaha »

Простенькая программка - крутим энкодер - считает счетчик: - влево на отнимание, в право на прибавление (или на оборот :), и это все безобразие отражается на ЛСД. (в камне работает) Хочу облегчить обработчик по "переполнению Т0" (encoder.asm)., вставил строки 86-88 - для возврата по "reti" в нужное место... и тут понеслось... (как обычно), - при отладке без возможности захода в прерывания - будет трудно отыскать "где собака была". У меня "Atmel Studio 4.18" - при отладке счетчик считает, флаги устанвливаются, а ухода в обработчик - нет. Может надо где-то пИтичку поставить?, как в предложенных вариантах для 5,6 версии.
Вложения
shim_&_LCD_3_s.rar
(21.89 КБ) 279 скачиваний
Аватара пользователя
RUNA
Прорезались зубы
Сообщения: 249
Зарегистрирован: Ср дек 31, 2008 01:55:19
Откуда: Санкт-Петербург

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

Сообщение RUNA »

Энкодер лучше опрашивать не по таймеру а по внешнему прерыванию от ноги.
Никогда не бойся делать то, что ты не умеешь. Ковчег был сооружен любителем. Профессионалы построили "Титаник".
Я всегда делаю то, что не умею, иначе как я научусь?! Когда Муза приходит ко мне, то застает меня за работой! - Пикассо.
Vaha
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Пт окт 11, 2013 20:43:07
Откуда: с. Муравлёвка Измаильский р-н.

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

Сообщение Vaha »

Спасибо. Учту. А как на счет птички?
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

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

Сообщение pyzhman »

В моей 4.13 SP2 заходит.
[uquote="Vaha",url="/forum/viewtopic.php?p=3137568#p3137568"]Спасибо. Учту.[/uquote]
Красивый посыл. :) Браво.
Docendo discimus
Vaha
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Пт окт 11, 2013 20:43:07
Откуда: с. Муравлёвка Измаильский р-н.

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

Сообщение Vaha »

Всем здрасьте.
Вопрос по "... Atmel Studio 4.18 начал реагировать на прерывания..." снимается.
После "издиавтельств" над студией, перед ее переустановкой (которую пока отложил), случилось чудо - начала отрабатывать прерывания. Что конкретно повлияло - сказать не могу, много разного было нажато, отжато, поставлено, снято., возможно испугалась переустановки :-).
Всем спасибо за участие.
kurakste
Родился
Сообщения: 2
Зарегистрирован: Пн июл 24, 2017 20:56:35

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

Сообщение kurakste »

Здравствуйте.
Помогите разобраться с кодом.
Написал программу в АВР - читаю из порта строки и пишу назад в порт. функция вывода строки работает Ок.
Функчия чтения тоже работает ок. Только одно НО: я ей в качестве аргумента передаю указатель на строку.
Предварительно указателю присваиваю адрес строки.
Внутри функции вывожу данные которые записал по адресу из этого указателя (проверяю себя) все ок.
Потом вывожу после чтения строку - в ней мусор. Второй вечер туплю. Помогите найти ошибку. Коды:

/*******************************************************************/
#define F_CPU 16000000UL
#include <avr/delay.h>
#include "USART_lib_atm328.h"

int main(void)
{
char str[255];
char *pstr[255];
SerialIni ();
SerialSendStringLn("Hi, it's a test of new serial library. Is it looks Ok?");
SerialSendString("input>>");

pstr[0]=&str[0];
while (1){
SerialReadString(pstr);
SerialSendString(str);
}
return 0;
}

/*******************************************************************/


void SerialReadString (char *ppstr[255]) {

char str[255];
int numOfDataR=0;
char tmpCh =' ';


while(tmpCh!=0x0D)
//Принемаем данные пока не придет возврат коретки.
{
tmpCh=SerialReadChar();
if (numOfDataR==255) {numOfDataR=0;};
str[numOfDataR++]=tmpCh;
}
*ppstr=str;
SerialSendStringLn(*ppstr); // проверка вывода. зесь все ок.
numOfDataR=0;
}
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

если вы думаете, что char *pstr[255] у вас является указателем на массив из 255 char-ов, то вы ошибаетесь: это массив из 255 указателей на char.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
kurakste
Родился
Сообщения: 2
Зарегистрирован: Пн июл 24, 2017 20:56:35

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

Сообщение kurakste »

спасибо.
Аватара пользователя
alex11660
Открыл глаза
Сообщения: 67
Зарегистрирован: Вс фев 09, 2014 13:09:04

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

Сообщение alex11660 »

Авр студия 5. Пошаговая отладки. Иметься код:

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

#define F_CPU 8000000
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
   DDRD = 0xFF;
   PORTD = 0b00000000;
   while(1)
   {
      PORTD |= (1<<(PORTD0));
      _delay_ms(500);
      PORTD &= ~(1<<(PORTD0));
      _delay_ms(500);
   }
}


Я только начинающий, поэтому хочу в пошаговой отладке наблюдать состояние регистров D, но когда я дохожу до функции _delay_ms(500); то я в нее захожу и не могу выйти, как мне ее перепрыгнуть, или что бы не заходить во внутрь ее ? Спасибо.
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

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

Сообщение Z_h_e »

Симуляция не в реальном времени, поэтому 500мс по факту значительно дольше.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
Сериг
Это не хвост, это антенна
Сообщения: 1451
Зарегистрирован: Пт фев 19, 2010 19:39:28
Откуда: Москва

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

Сообщение Сериг »

Всех приветствую! Хочу собрать устройство http://radioded.ru/skhema-na-mikrokontr ... e-attiny85, там дан исходник (прикреплю снизу), установил студию, ну ничего не понимаю в ней, после CVavr, хотел бы попросить кого-нибудь о помощи скомпилировать с изменениями (рандомным воспроизведением файлов). Буду очень благодарен, можно в личку. Спасибо за внимание!
Вложения
src.zip
(112.62 КБ) 328 скачиваний
201bazza
Встал на лапы
Сообщения: 90
Зарегистрирован: Пн апр 03, 2017 11:40:46

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

Сообщение 201bazza »

Всем привет! При запуске Отладки в Atmel Studio 6.1 вылазит окно "Memory 1". Что это такое? Я так понимаю это структура памяти какая то?

Изображение
Ответить

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