Например TDA7294

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

Текущее время: Ср окт 01, 2025 13:43:13

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


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



Начать новую тему Ответить на тему  [ Сообщений: 8351 ]     ... , , , 302, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 20, 2014 10:35:27 
Это не хвост, это антенна
Аватар пользователя

Карма: 11
Рейтинг сообщений: 1
Зарегистрирован: Пт фев 19, 2010 19:39:28
Сообщений: 1451
Откуда: Москва
Рейтинг сообщения: 0
Попробую с "F", а что он значит?
Тип переменной у меня float.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Чт фев 20, 2014 12:02:29 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 11
Рейтинг сообщений: 26
Зарегистрирован: Вс июн 26, 2011 20:03:21
Сообщений: 2316
Рейтинг сообщения: 0
f должна быть маленькой. Обозначает зачение типа float.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 24, 2014 13:57:38 
Это не хвост, это антенна
Аватар пользователя

Карма: 11
Рейтинг сообщений: 1
Зарегистрирован: Пт фев 19, 2010 19:39:28
Сообщений: 1451
Откуда: Москва
Рейтинг сообщения: 0
Не прокатывает, во вложении ошибка компилятора


Вложения:
image.jpg [176.43 KiB]
Скачиваний: 392
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 24, 2014 17:12:06 
Встал на лапы

Зарегистрирован: Ср дек 29, 2010 21:19:03
Сообщений: 147
Рейтинг сообщения: 0
У Вас ошибка в форматной строке, о чем компилятор Вам и сообщает - нельзя применять оператор "%" к вещественным числам. Вообще странный способ вывода числа у Вас придуман.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 24, 2014 17:18:20 
Это не хвост, это антенна
Аватар пользователя

Карма: 11
Рейтинг сообщений: 1
Зарегистрирован: Пт фев 19, 2010 19:39:28
Сообщений: 1451
Откуда: Москва
Рейтинг сообщения: 0
А как вы предлагаете выводить? Через sprintf()?
Пробую выводить таким способом,выводится нифига не напряжение, а "Voltage = 2f v"
Код:
sprintf(lcd_buf,"Voltage = %.2f V \r\n",voltage);
puts(lcd_buf);

Как быть?
И кстати вопрос с сравнением напряжения не закрыт... в уарт выводится ошибка о напряжении, не лежащем в пределах. хотя напряжение в этот момент = 6.36 вольт(и по тестеру и измерением ADC МК).
Код:
if (voltage < 6.3 || voltage > 6.9){printf("ERROR Voltage\r\n");  ok = 1; }
else { printf("Voltage          OK\r\n"); ok = 0; }


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт фев 25, 2014 00:48:31 
Мучитель микросхем
Аватар пользователя

Карма: 4
Рейтинг сообщений: 49
Зарегистрирован: Сб авг 25, 2007 22:02:05
Сообщений: 424
Откуда: Германия, Viernheim
Рейтинг сообщения: 0
Сериг писал(а):
А как вы предлагаете выводить?


Код:
printf("Voltage = %4.2f\n", voltage);

_________________
Коктейль "Рекурсивный": 20% спирта, 30% воды, 50% коктейля "Рекурсивный"...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт фев 25, 2014 00:56:54 
Мучитель микросхем
Аватар пользователя

Карма: 4
Рейтинг сообщений: 49
Зарегистрирован: Сб авг 25, 2007 22:02:05
Сообщений: 424
Откуда: Германия, Viernheim
Рейтинг сообщения: 0
Сериг писал(а):
И кстати вопрос с сравнением напряжения не закрыт... в уарт выводится ошибка о напряжении, не лежащем в пределах

ну тут уже надо видеть код - оцифровка, преобразование...

_________________
Коктейль "Рекурсивный": 20% спирта, 30% воды, 50% коктейля "Рекурсивный"...


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

Карма: 1
Рейтинг сообщений: 2
Зарегистрирован: Пн ноя 04, 2013 20:56:24
Сообщений: 71
Рейтинг сообщения: 0
Здраствуйте всем, недавно начал осваивать АВР и Codevision по примерам написал следующее[code]

Так вот все работает и хочу сюда пределать измеритель Амперчасов но никак не могу сообразить как это сделать
ПС кварц что в протеусе он не нужен, это я хотел таймер задействовать чтобы считал с 1с интервалом но чето не вышло.


Вложения:
ЛСД.zip [106.52 KiB]
Скачиваний: 170


Последний раз редактировалось sanya123 Ср фев 26, 2014 13:10:06, всего редактировалось 1 раз.
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 26, 2014 10:07:57 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 19843
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
В таком коде никто разбираться не будет.

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 26, 2014 13:13:30 
Открыл глаза

Карма: 1
Рейтинг сообщений: 2
Зарегистрирован: Пн ноя 04, 2013 20:56:24
Сообщений: 71
Рейтинг сообщения: 0
Мне разбиратся в нем и не нужно, он рабочий, просто дайте совет как осуществить подсчет амперчасов. Ток у нас есть остается либо задействовать асинхронный таймер чтобы подсчитывал часы либо минуты и их вставить в формулу для вывода на лсд либо ....как проще?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 26, 2014 21:12:52 
Это не хвост, это антенна
Аватар пользователя

Карма: 11
Рейтинг сообщений: 1
Зарегистрирован: Пт фев 19, 2010 19:39:28
Сообщений: 1451
Откуда: Москва
Рейтинг сообщения: 0
unalex писал(а):
Сериг писал(а):
А как вы предлагаете выводить?


Код:
printf("Voltage = %4.2f\n", voltage);

В уарт выводится " Voltage = 2f "
Вот так вот пытаюсь узнать истино ли выражение if (voltage < 6.3 || voltage > 6.9){printf("ERROR Voltage\r\n"); ok = 1; }
else { printf("Voltage OK\r\n"); ok = 0; }


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Ср фев 26, 2014 22:25:13 
Встал на лапы

Зарегистрирован: Ср дек 29, 2010 21:19:03
Сообщений: 147
Рейтинг сообщения: 0
Сериг писал(а):
В уарт выводится " Voltage = 2f "

Настройте проект для корректной работы sprintf с float


Вложения:
66.jpg [50.13 KiB]
Скачиваний: 364
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Ср мар 05, 2014 19:52:25 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 16:00:25
Сообщений: 236
Откуда: нижний новгород
Рейтинг сообщения: 0
подскажите как записывать в память епром показания датчиков. хочу сделать датчик уровня воды, нужно отслеживать положение попловка с помощью поплавка с магнитом и греконов. но есть положения когда поплавок находится между герконами и питание схемы будет отключатся так вот нужно что бы перед выключением устройства положение поплавка записывались в епром. или перезапись шла например 1 раз в 15 мин, для того что бы когда включишь устройство и поплавок окажется между герконами (датчиками) там где магнитное поле не работет то получится что нет сигнала , для этого мне нужно считать записаные показания до этого из епром. с епром не разу не работал , как его надо иницализировать или побьявлять?? и для разных микроконтролеров разные инициализации епром или нет. предполагаю использовать тини 13 или мега 8


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Чт мар 13, 2014 18:05:41 
Родился
Аватар пользователя

Зарегистрирован: Ср мар 13, 2013 08:41:58
Сообщений: 5
Рейтинг сообщения: 0
приветствую коты собираю дивайсину под названием "электропривод крышки багажника" хотелось бы у вас спросить про коллекторный шум зл. двигателя,
а именно как реализовать фичу зашиты двигателя от пере нагрузки как сделано в доводчиках окон стеклоподъёмника.
чувствую что надо копать в сторону коллекторного шума когда щетки двигателя перестают шуметь то авр дает сигнал реле и цепь размыкается
возможно ли это реализовать с помощью авр (tiny2313 или mega8-mega16)

схема дивайсины на данный момент
Вложение:
Комментарий к файлу: работает если нажать на кнопку то мотор вращаться 2.5 сек потом встает, еще раз нажать вращаться в другую сторону 2.5 сек
dev_rev003.jpg [47.59 KiB]
Скачиваний: 366

код программы cvar
Спойлер
Код:
#include <tiny2313.h>
#include <delay.h>
// Declare your global variables here

void main(void)
{
int sel=0;
CLKPR=(1<<CLKPCE);
CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);
//#ifdef _OPTIMIZE_SIZE_

PORTA=0x01;
//DDRA=0x01;
PORTD=0x00;
DDRD=0xFF;
//PORTD.0=1;


while (1)
     {
     if(PINA.0==0)
          {
          delay_ms(30);
          if(sel==0)
            {
            PORTD.0=1;
            PORTD.1=0;
            sel=1;
            delay_ms(2000);
            }
          else
            {
            PORTD.0=0;
            PORTD.1=1;
            sel=0;
            delay_ms(2000);
            } 
          }
          else
          {
            PORTD.0=0;
            PORTD.1=0;
          }
     }
}

З.Ы. если нужна была новая тема или написал не туда извините )


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пт мар 14, 2014 00:37:53 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 16:00:25
Сообщений: 236
Откуда: нижний новгород
Рейтинг сообщения: 0
было бы не плохо к коду пояснения писать.)) а что если кнопку поставить которую будет нажимать крышка при полном открытии или закрытии?? или датчик оптический щелевой. а еще видел где то ставили геркон ,его обматывали проводом получался электро магнит, затем его подключали к мотору кажется и когда тот упирался в преграду то на проводе начинал проходить ток тем самым создавая магнитное поле и гркон замыклся а там можно от геркона управление на мк сделать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пт мар 14, 2014 10:40:10 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 16:00:25
Сообщений: 236
Откуда: нижний новгород
Рейтинг сообщения: 0
коты разъясните пожалуйста , хочу с помощью оптопары считывать импульсы микроконтролером атини 13. фиксировать импульсы буду с помощью внешнего прерывания по ниспадающему уровню. в визарде cvavr содал первоначальный код, написал прогу но вот в авр студио симуляторе заметил то что прерывание не происходит пока не поставиш флаг в GIFR INTF0, на картинке обвел кружком. код для инициализации создан визардом
MCUCR=0x02; // по нисподающему уровню
GIFR=0x40; // а вот тут не чего не плучается , в симуляторе авр студио после прочтения этой строки все равно отсается флаг пустым, в чем проблема
GIMSK=0x40; // включить прерывания от INT0

Спойлер#include <tiny13.h>

unsigned char pr;
interrupt [EXT_INT0] void ext_int0_isr(void)
{
pr++;
}







// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

// Input/Output Ports initialization
// Port B initialization
// Func5=In Func4=Out Func3=Out Func2=Out Func1=Out Func0=In
// State5=T State4=0 State3=0 State2=0 State1=0 State0=T
PORTB=0x00;
DDRB=0x1E;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x00;
TCCR0B=0x00;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;

// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Falling Edge
// Interrupt on any change on pins PCINT0-5: Off

MCUCR=0x01;
GIFR=0x40;
GIMSK=0x40;
GIFR |= (1<<6);


// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
ACSR=0x80;
ADCSRB=0x00;
DIDR0=0x00;

// ADC initialization
// ADC disabled
ADCSRA=0x00;
#asm("sei")
while (1)
if (pr==3)
{
PORTB.1=1;
pr=0;
}
if (PORTB.1==1)
{
if (pr==3)
{
PORTB.1=0;
pr=0;
};

};





}

Вложение:
Безымянный.JPG [40.56 KiB]
Скачиваний: 245


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пт мар 14, 2014 12:47:33 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 885
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6125
Откуда: Minsk
Рейтинг сообщения: 0
pashaumnov писал(а):
GIFR=0x40; // а вот тут не чего не плучается , в симуляторе авр студио после прочтения этой строки все равно отсается флаг пустым, в чем проблема

А с какой радости там что-то должно появиться ?
The flag is cleared when the interrupt routine is executed.
Alternatively, the flag can be cleared by writing a logical
one to it.

В переводе на рабоче-крестьянский, этот флаг СБРАСЫВАЕТСЯ обработчиком прерывания или же именно записью 1 в этот бит GIFR. А УСТАНАВЛИВАЕТСЯ этот флаг асинхронно самим фактом изменения уровня на отслеживаемой пине. Т.е. производя эту манипуляцию при инициализации, мы всего лишь очищаем флаг, чтобы сразу не было ложного прерывания, если каким-то образом он был ранее установлен, и подготавливаем прерывание именно по фактическому изменению уровня.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пт мар 14, 2014 13:22:06 
Вымогатель припоя

Карма: 22
Рейтинг сообщений: 114
Зарегистрирован: Пн июн 14, 2010 13:07:29
Сообщений: 630
Откуда: Жуковский
Рейтинг сообщения: 0
GIFR |= (1<<6); - это лишнее (но не мешает).
Чтобы произошло прерывание, нужно поменять уровень с высокого на низкий. При отладке ставите, снимаете соответствующую галочку в PINB?
Еще, переменная pr должна быть volatile.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пт мар 14, 2014 17:23:51 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 16:00:25
Сообщений: 236
Откуда: нижний новгород
Рейтинг сообщения: 0
всем спасибо за помощь, я балбес дергал не той ногой((( тыкал порт Б0 а надо было порт Б1.... все вробе бы пока заработало , сегдня буду дальше колдовать над кодом..)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Ср мар 26, 2014 05:20:05 
Вымогатель припоя

Зарегистрирован: Вт ноя 02, 2010 17:46:37
Сообщений: 574
Рейтинг сообщения: 0
Здравствуйте, как в CV при инициализации разместить массив в EEPROM по нужному мне адресу ?

Так же ещё интересует как стереть всю EEPROM ?
Точнее как сделать так что бы файл .eep был забит FF а не
только теми значениями которые используется в программе.
Код:
:0A0000000102030405060708090BBE
:00000001FF


программатор UABasb программирую через Khazama AVR Programmer.exe


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

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


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

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


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

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


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