Например TDA7294

Форум РадиоКот • Просмотр темы - CodeVision AVR в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Пт июн 20, 2025 19:07:58

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 8294 ]     ... , , , 79, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс июн 20, 2010 21:16:53 
Потрогал лапой паяльник

Зарегистрирован: Сб дек 12, 2009 02:15:45
Сообщений: 392
Рейтинг сообщения: 0
подскажите как провернуть такое. допустим происходит чтение ds18b20. в это время наступает прерывание в котором читаются кнопки. допустим кнопка нажата, как сделать так чтоб при выходе из этого прерывания, прекращалась текущая процедура чтения ds18b20 и выполнялся код который идет после чтения?

мне это нужно для того чтоб реакция на нажатие кнопки была незамедлительна, а не ждать пока отработает чтение датчика.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс июн 20, 2010 22:25:40 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18395
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
to ValBag:
никто не запретит вам создать union с вашим битовым полем, для которого так же будет выделены битовые поля для доступа к каждому биту... только нафига весь этот огород?!

to neon-f:
во-первых, чтение датчика занимает примерно 16 миллисекунд - это ж какая у вас реакция, что нажатие кнопки при этом так задерживается?! человек должен быть резче, чем детский утренний понос, чтобы заметить запаздывание реакции на нажатую кнопку в 16-20 миллисекунд!!! тем более, что для кнопки надо дребезг подавлять - а это минимум 10 миллисекунд.
во-вторых, почему бы не продолжать спокойно дочитывание информации из датчика, отработав прерывание от кнопки (если уж так нетерпится)? почему надо обязательно завершать процедуру чтения?
наконец, в-третьих, чтение инфы из датчика ведется явно в цикле - почему бы в этом цикле не проверять дополнительно какой-то флаг, который устанавливается в обработке вашей супер-резкой кнопки? если флаг установлен - return и точка.

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс июн 20, 2010 22:59:00 
Потрогал лапой паяльник

Зарегистрирован: Сб дек 12, 2009 02:15:45
Сообщений: 392
Рейтинг сообщения: 0
не, не так.
есть прерывание обслуживающее динамическую индикацию. также внутри этого прерывания производится чтение кнопок(их у меня 12 шт(про антидребезг не забыл)) и переменной bytton присваиваю значение состояния кнопок. потом по выходу из прерывания происходит какое то действие в зависимости от того какая кнопка нажата. так вот, если кнопка нажата когда началось чтение датчика(а он опрашивается раз в 5сек) то по выходу из прерывания произходит дочитывание датчика, а уж потом проверяется значение bytton и производится определенное действие. а чтение ведь почти секунду длиться, и следовательно периодически я получаю неприятные "затыки" реакции кнопок.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс июн 20, 2010 23:20:01 
Сверлит текстолит когтями
Аватар пользователя

Карма: 1
Рейтинг сообщений: 4
Зарегистрирован: Чт окт 15, 2009 14:16:18
Сообщений: 1116
Откуда: Екб
Рейтинг сообщения: 0
neon-f писал(а):
а чтение ведь почти секунду длиться, и следовательно периодически я получаю неприятные "затыки" реакции кнопок.

Чтение длится несколько десятков миллисекунд. Секунда нужна датчику для преобразования температуры. Но, не обязательно же заставлять МК тупо простаивать эту секунду, можно в это время занять его другим, более важным делом. А датчик опрашивать когда-нибудь там в цикле, готов он отдать температуру или нет.


Вернуться наверх
 
В продаже новые LED-драйверы XLC компании MEAN WELL с диммингом нового поколения

Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс июн 20, 2010 23:22:13 
Потрогал лапой паяльник

Зарегистрирован: Сб дек 12, 2009 02:15:45
Сообщений: 392
Рейтинг сообщения: 0
я только за, научите как.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс июн 20, 2010 23:27:38 
Мудрый кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 7
Зарегистрирован: Ср апр 23, 2008 17:44:56
Сообщений: 1708
Откуда: Россия, г. Нижний Новгород
Рейтинг сообщения: 0
neon-f писал(а):
я только за, научите как.

пишем в CVAVR? научится можно глянув в хелп к этому компилятору :wink: и используя низкоуровневые команды работы с датчиком
заодно и размер *.hex уменьшится немножко :roll:

_________________
абажаю мой KIA CEED Изображение
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс июн 20, 2010 23:32:55 
Потрогал лапой паяльник

Зарегистрирован: Сб дек 12, 2009 02:15:45
Сообщений: 392
Рейтинг сообщения: 0
да, в CVAVR?
к сожалению с нулевым английским смотреть туда бесполезно. может подбросите кусочек кода.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс июн 20, 2010 23:36:11 
Сверлит текстолит когтями
Аватар пользователя

Карма: 1
Рейтинг сообщений: 4
Зарегистрирован: Чт окт 15, 2009 14:16:18
Сообщений: 1116
Откуда: Екб
Рейтинг сообщения: 0
neon-f писал(а):
я только за, научите как.

После подачи команды на преобразование температуры (0x44), периодически отсылайте датчику команду чтения данных (0xBE), как только датчик перестанет отвечать нулём - можно делать сброс и читать температуру. Разумеется, т.к. датчику приходится просаживать линию в ноль, паразитное питание - невозможно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс июн 20, 2010 23:46:17 
Мудрый кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 7
Зарегистрирован: Ср апр 23, 2008 17:44:56
Сообщений: 1708
Откуда: Россия, г. Нижний Новгород
Рейтинг сообщения: 0
а делается это низкоуровневыми коммандами...

_________________
абажаю мой KIA CEED Изображение
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пн июн 21, 2010 15:54:10 
Сверлит текстолит когтями
Аватар пользователя

Карма: 5
Рейтинг сообщений: 10
Зарегистрирован: Сб апр 03, 2010 08:57:35
Сообщений: 1138
Рейтинг сообщения: 0
А подскажите пожалуйста как можно програмно сбросить контроллер ATmega. (ног свободных нет)
Токо сильно носом тыкать не надо ежели обсуждалось уже где :)

_________________
Изображение
Ты думаешь ты думал как ты думаешь? (с)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пн июн 21, 2010 16:03:26 
Сверлит текстолит когтями
Аватар пользователя

Карма: 1
Рейтинг сообщений: 4
Зарегистрирован: Чт окт 15, 2009 14:16:18
Сообщений: 1116
Откуда: Екб
Рейтинг сообщения: 0
Могу ошибаться, но вроде как единственный способ программного сброса МК - ватчдок.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пн июн 21, 2010 17:11:49 
Потрогал лапой паяльник

Зарегистрирован: Сб дек 12, 2009 02:15:45
Сообщений: 392
Рейтинг сообщения: 0
AI_Disable
sema

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пн июн 21, 2010 18:14:00 
Мудрый кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 7
Зарегистрирован: Ср апр 23, 2008 17:44:56
Сообщений: 1708
Откуда: Россия, г. Нижний Новгород
Рейтинг сообщения: 0
вот:
The 1 Wire Functions are:

unsigned char w1_init(void)

this function initializes the 1 Wire devices on the bus.
It returns 1 if there were devices present or 0 if not.

unsigned char w1_read(void)

this function reads a byte from the 1 Wire bus.

unsigned char w1_write(unsigned char data)

this function writes the byte data to the 1 Wire bus.
It returns 1 if the write process completed normally or 0 if not.

unsigned char w1_search(unsigned char cmd,void *p)

this function returns the number of devices connected to the 1 Wire bus.
If no devices were detected then it returns 0.
The byte cmd represents the Search ROM (F0h), Alarm Search (ECh) for the DS1820/DS18S20, or other similar commands, sent to the 1 Wire device.

только что скопипастил из хелпа к CVAVR 2***
перевести описание функций элементарно

_________________
абажаю мой KIA CEED Изображение
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт июн 22, 2010 02:07:50 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пт май 01, 2009 08:58:42
Сообщений: 151
Откуда: г. Коломна
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
AI_Disable писал(а):
Могу ошибаться, но вроде как единственный способ программного сброса МК - ватчдок.

Можно еще использовать безусловный переход на начало проги (в СИ - это функция main), но если прога зависнет, данный способ конечно не сработает. :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт июн 22, 2010 07:08:37 
Сверлит текстолит когтями
Аватар пользователя

Карма: 5
Рейтинг сообщений: 10
Зарегистрирован: Сб апр 03, 2010 08:57:35
Сообщений: 1138
Рейтинг сообщения: 0
Ну на счёт сторожевого таймера понятно, просто както не очень удобно, Думал может есть какая функция на Си или вставка на асме. Неужели ничего такого нет. :(

_________________
Изображение
Ты думаешь ты думал как ты думаешь? (с)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт июн 22, 2010 17:30:00 
Грызет канифоль

Зарегистрирован: Пт ноя 13, 2009 10:43:31
Сообщений: 297
Рейтинг сообщения: 0
Помогите, добрые коты! где найти как написано в руководствах "в свойствах проекта CVAVR надо указать float для sprintf"
Имеется компилятор WinAVR-20090313 и AVR Studio 4.14. ПРобовал, как написано http://winavr.scienceprog.com/avr-gcc-tutorial/using-sprintf--function-for-float-numbers-in-avr-gcc.html - Не работает почемуто, может еще где-то корявка...

_________________
...Им бы пить и жрать в три горла день и ночь,
Будь ты трижды гений - им нельзя помочь...
\\Ария\\Игра с огнем


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт июн 22, 2010 18:17:55 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18395
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
tuco2009 писал(а):
Помогите, добрые коты! где найти как написано в руководствах "в свойствах проекта CVAVR надо указать float для sprintf"
Имеется компилятор WinAVR-20090313 и AVR Studio 4.14. ПРобовал, как написано http://winavr.scienceprog.com/avr-gcc-tutorial/using-sprintf--function-for-float-numbers-in-avr-gcc.html - Не работает почемуто, может еще где-то корявка...

вообще-то об WinAVR есть совсем отдельная тема... но пока модераторы не видят, подскажу:
Цитата:
Примечания: полная реализация всех возможностей форматирования требует больших затрат программной памяти. С целью минимизации ресурсов существует 3 варианта реализации функции vfprintf(), выбираемых компоновщиком во время сборки проекта:
- обычная (по умолчанию) – реализует все виды преобразований, кроме предназначенных для чисел с плавающей точкой;
- усеченная – реализует только базовые преобразования форматов целых чисел и строк, кроме того, может применяться только префикс # (см. Спецификация строки формата для функций форматированного вывода);
- полная – реализующая полную спецификацию форматов.

Усеченная версия выбирается следующими параметрами компилятора:
-Wl,-u,vfprintf -lprintf_min
Полная версия выбирается следующими параметрами компилятора:
-Wl,-u,vfprintf -lprintf_flt -lm
то есть добавьте нужные параметры в свойства вашего проекта (в AVR Studio открываете свойства проекта и переходите на закладку Custom Options, там в параметрах линкера вводите нужную строчку) и добавьте соответствующую библиотеку для компоновки... кстати, по вашей ссылке это и написано :) поздно увидел

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт июн 22, 2010 18:49:25 
Грызет канифоль

Зарегистрирован: Пт ноя 13, 2009 10:43:31
Сообщений: 297
Рейтинг сообщения: 0
ARV писал(а):
... там в параметрах линкера вводите нужную строчку) и добавьте соответствующую библиотеку для компоновки... кстати, по вашей ссылке это и написано :) поздно увидел

Вот поэтому и пишу, что не работает :cry: :cry:
Я уже все облазил, при билде вылазит
Код:
avr-gcc.exe -mmcu=atmega8 -Wl,-u,-vfprintf  -lm -Wl,-Map=tonometr.map tonometr.o    -lprintf_flt -lm  -o tonometr.elf

Т.е. вроде нормально, параметры заданы, библиотеки тоже подключил - ан нет, не работает...
Уже даже все файлы в папке поудалял, кроме проэктного и .с, думаю, пусть заново все пересоздаст - не хотит выводить ФЛОАТ :cry:
В чем может быть загогулина? Уже 3-й день простейшую прогу сделать не могу. В int все считать не получится, там три не очень простые формулы с делением и умножением...

_________________
...Им бы пить и жрать в три горла день и ночь,
Будь ты трижды гений - им нельзя помочь...
\\Ария\\Игра с огнем


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт июн 22, 2010 19:00:21 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18395
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
внимательно посмотрите, как должны вводиться опции:
у вас
Цитата:
-Wl,-u,-vfprintf

надо
Цитата:
-Wl,-u,vfprintf

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт июн 22, 2010 19:03:28 
Грызет канифоль

Зарегистрирован: Пт ноя 13, 2009 10:43:31
Сообщений: 297
Рейтинг сообщения: 0
уже пробовал и -Wl,-u,vfprintf и
-Wl,-u,-vfprintf
а также все это с -lm и без него - результат один - пустой массив. Вот сильно упрощенный код.
Код:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <math.h>
#include <util/delay.h>

#include <stdint.h>
#include <stdio.h>
unsigned char ADCOut [16];
float Mean;            
float StandartDeviation;   
Mean = 12.45;
StandartDeviation=25.25;
for (;;){
sprintf (ADCOut,"%2.2f+-%2.2f", Mean,StandartDeviation);
}

_________________
...Им бы пить и жрать в три горла день и ночь,
Будь ты трижды гений - им нельзя помочь...
\\Ария\\Игра с огнем


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 8294 ]     ... , , , 79, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y