AVR studio в вопросах и ответах
Re: AVR studio в вопросах и ответах
Доброго дня всем! Ну умоляю уж очень хочу учиться кодить avr на Си. И следующая проблема пишу, программу, рандомное мигание портами. В протеусе работает, а вот в железе молчит. Плата wave share. Openm128. Скажите что не так...
download/file.php?mode=view&id=286244
download/file.php?mode=view&id=286244
- Вложения
-
- pixlr_20170529070600499_20170529110135832.jpg
- (120.26 КБ) 876 скачиваний
Re: AVR studio в вопросах и ответах
появилась проблема. Никогда раньше не пользовался плавающей точкой, но настал момент, когда избежать этого не удается. Итак, код примерно такой:
.
.
.
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
то есть в десятичном формате выводится правильно, а вместо вещественного числа получаю знак вопроса. Что ж за бабуйня такая?
Может кто-нибудь подскажет, в чем проблема?
.
.
.
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 в вопросах и ответах
из документации по avr-libc. Вы учитываете что дефолтная реализация stdio не поддерживает дробные числа?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
Re: AVR studio в вопросах и ответах
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=3128126#p3128126"]Вы учитываете что дефолтная реализация stdio не поддерживает дробные числа?[/uquote]
разумеется не учитываю, иначе, откуда бы у меня возник вопрос? Хотя, я подозревал, что либо подобное.
итак, проект у меня в атмел студио 6.2 Как мне победить эту бабуйню?
нашел, куда эти опции вставить, все заработало. Огромное спасибо COKPOWEHEU
разумеется не учитываю, иначе, откуда бы у меня возник вопрос? Хотя, я подозревал, что либо подобное.
итак, проект у меня в атмел студио 6.2 Как мне победить эту бабуйню?
нашел, куда эти опции вставить, все заработало. Огромное спасибо COKPOWEHEU
Re: AVR studio в вопросах и ответах
Господа, помогите правильно установить (или настроить) 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
Устанавливается без ошибок
Запускаем
Создаем новый проект (GCC C Executable Project) далее выбираем ATtiny 2313
Studio создала пустой проект
Нажимаем Build GccApplication2
И получаем следующий error: recipe for target 'main.o' failed (Фото2
Перерыл уже весь интернет, сбился с ног...
Подскажите, что я делаю не так?!
Компьютер: 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
Устанавливается без ошибок
Запускаем
Создаем новый проект (GCC C Executable Project) далее выбираем ATtiny 2313
Studio создала пустой проект
Нажимаем Build GccApplication2
И получаем следующий error: recipe for target 'main.o' failed (Фото2
Перерыл уже весь интернет, сбился с ног...
Подскажите, что я делаю не так?!
-
Vaha
- Первый раз сказал Мяу!
- Сообщения: 21
- Зарегистрирован: Пт окт 11, 2013 20:43:07
- Откуда: с. Муравлёвка Измаильский р-н.
Re: AVR studio в вопросах и ответах
Здравствуйте.
Чтобы отладчик Atmel Studio 4.18 начал реагировать на прерывания что надо?
Предложенные аналогичные варианты для 5-6 студии мне не помогли, "interrupts while" или аналогичное пока не нашел.
(программка откомпелированна и в камне работает, как-бы ошибки исключаю)
Чтобы отладчик Atmel Studio 4.18 начал реагировать на прерывания что надо?
Предложенные аналогичные варианты для 5-6 студии мне не помогли, "interrupts while" или аналогичное пока не нашел.
(программка откомпелированна и в камне работает, как-бы ошибки исключаю)
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: AVR studio в вопросах и ответах
Это зря конечноVaha писал(а):как-бы ошибки исключаю
На счет 4ого уже не помню, собственно я там и проблем не помню. В 6 ом у меня реагирует на прерывания, если симуляция запущена в "RUN", а вот когда выполняешь по шагам, то игнорирует.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: AVR studio в вопросах и ответах
[uquote="Vaha",url="/forum/viewtopic.php?p=3137252#p3137252"]...ошибки исключаю)[/uquote]
Программу в студию.
Программу в студию.
Docendo discimus
-
Vaha
- Первый раз сказал Мяу!
- Сообщения: 21
- Зарегистрирован: Пт окт 11, 2013 20:43:07
- Откуда: с. Муравлёвка Измаильский р-н.
Re: AVR studio в вопросах и ответах
Простенькая программка - крутим энкодер - считает счетчик: - влево на отнимание, в право на прибавление (или на оборот
, и это все безобразие отражается на ЛСД. (в камне работает) Хочу облегчить обработчик по "переполнению Т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 в вопросах и ответах
Энкодер лучше опрашивать не по таймеру а по внешнему прерыванию от ноги.
Никогда не бойся делать то, что ты не умеешь. Ковчег был сооружен любителем. Профессионалы построили "Титаник".
Я всегда делаю то, что не умею, иначе как я научусь?! Когда Муза приходит ко мне, то застает меня за работой! - Пикассо.
Я всегда делаю то, что не умею, иначе как я научусь?! Когда Муза приходит ко мне, то застает меня за работой! - Пикассо.
-
Vaha
- Первый раз сказал Мяу!
- Сообщения: 21
- Зарегистрирован: Пт окт 11, 2013 20:43:07
- Откуда: с. Муравлёвка Измаильский р-н.
Re: AVR studio в вопросах и ответах
Спасибо. Учту. А как на счет птички?
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: AVR studio в вопросах и ответах
В моей 4.13 SP2 заходит.
[uquote="Vaha",url="/forum/viewtopic.php?p=3137568#p3137568"]Спасибо. Учту.[/uquote]
Красивый посыл.
Браво.
[uquote="Vaha",url="/forum/viewtopic.php?p=3137568#p3137568"]Спасибо. Учту.[/uquote]
Красивый посыл.
Docendo discimus
-
Vaha
- Первый раз сказал Мяу!
- Сообщения: 21
- Зарегистрирован: Пт окт 11, 2013 20:43:07
- Откуда: с. Муравлёвка Измаильский р-н.
Re: AVR studio в вопросах и ответах
Всем здрасьте.
Вопрос по "... Atmel Studio 4.18 начал реагировать на прерывания..." снимается.
После "издиавтельств" над студией, перед ее переустановкой (которую пока отложил), случилось чудо - начала отрабатывать прерывания. Что конкретно повлияло - сказать не могу, много разного было нажато, отжато, поставлено, снято., возможно испугалась переустановки
.
Всем спасибо за участие.
Вопрос по "... Atmel Studio 4.18 начал реагировать на прерывания..." снимается.
После "издиавтельств" над студией, перед ее переустановкой (которую пока отложил), случилось чудо - начала отрабатывать прерывания. Что конкретно повлияло - сказать не могу, много разного было нажато, отжато, поставлено, снято., возможно испугалась переустановки
Всем спасибо за участие.
Re: AVR studio в вопросах и ответах
Здравствуйте.
Помогите разобраться с кодом.
Написал программу в АВР - читаю из порта строки и пишу назад в порт. функция вывода строки работает Ок.
Функчия чтения тоже работает ок. Только одно НО: я ей в качестве аргумента передаю указатель на строку.
Предварительно указателю присваиваю адрес строки.
Внутри функции вывожу данные которые записал по адресу из этого указателя (проверяю себя) все ок.
Потом вывожу после чтения строку - в ней мусор. Второй вечер туплю. Помогите найти ошибку. Коды:
/*******************************************************************/
#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;
}
Помогите разобраться с кодом.
Написал программу в АВР - читаю из порта строки и пишу назад в порт. функция вывода строки работает Ок.
Функчия чтения тоже работает ок. Только одно НО: я ей в качестве аргумента передаю указатель на строку.
Предварительно указателю присваиваю адрес строки.
Внутри функции вывожу данные которые записал по адресу из этого указателя (проверяю себя) все ок.
Потом вывожу после чтения строку - в ней мусор. Второй вечер туплю. Помогите найти ошибку. Коды:
/*******************************************************************/
#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 в вопросах и ответах
если вы думаете, что char *pstr[255] у вас является указателем на массив из 255 char-ов, то вы ошибаетесь: это массив из 255 указателей на char.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: AVR studio в вопросах и ответах
спасибо.
Re: AVR studio в вопросах и ответах
Авр студия 5. Пошаговая отладки. Иметься код:
Я только начинающий, поэтому хочу в пошаговой отладке наблюдать состояние регистров D, но когда я дохожу до функции _delay_ms(500); то я в нее захожу и не могу выйти, как мне ее перепрыгнуть, или что бы не заходить во внутрь ее ? Спасибо.
Код: Выделить всё
#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 в вопросах и ответах
Симуляция не в реальном времени, поэтому 500мс по факту значительно дольше.
- Сериг
- Это не хвост, это антенна
- Сообщения: 1451
- Зарегистрирован: Пт фев 19, 2010 19:39:28
- Откуда: Москва
Re: AVR studio в вопросах и ответах
Всех приветствую! Хочу собрать устройство http://radioded.ru/skhema-na-mikrokontr ... e-attiny85, там дан исходник (прикреплю снизу), установил студию, ну ничего не понимаю в ней, после CVavr, хотел бы попросить кого-нибудь о помощи скомпилировать с изменениями (рандомным воспроизведением файлов). Буду очень благодарен, можно в личку. Спасибо за внимание!
- Вложения
-
- src.zip
- (112.62 КБ) 328 скачиваний

