Например TDA7294

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





Текущее время: Ср апр 17, 2024 01:42:08

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


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



Начать новую тему Ответить на тему  [ Сообщений: 3134 ]     ... , , , 135, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Ср мар 28, 2018 10:35:47 
Открыл глаза

Зарегистрирован: Вт май 05, 2009 17:32:50
Сообщений: 52
Рейтинг сообщения: 0
Цитата:
на мой взгляд с ними тоже)интереса ради проверьте кнопки на светодиодах

Работу кнопок я смотрю в еепроме как они прибавляют или отнимают.
Цитата:
можете четко сформулировать задачу, проблему и вопрос? как в армии - кратко и по существу?

после нажатия кнопок должна измениться частота на выходе ФАПЧ но этого не происходит
Код:
   // регистры сравнения 16 битный заносим AH старшую AL младшую часть переменной
   OCR1AH = (N >> 8) & 0x00FF;// Задаем новое значение коэффициента пересчета
   OCR1AL = N & 0x00FF;//записываем число для сравнения

это код в прерывании измененную переменную записываю для сравнения с ТССR таймера 1 и частота должна по идеи измениться.


Последний раз редактировалось bango Ср мар 28, 2018 10:49:10, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Ср мар 28, 2018 10:54:47 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
bango писал(а):
это код в прерывании измененную переменную записываю для сравнения с ТССR
как-то сложновато...
Код:
OCR1A = N;


режим таймера у вас правильно задан?

Добавлено after 13 minutes 7 seconds:
на выходе OC1A у вас должна появиться частота, равная поделенной на OCR1A частоте, поступившей на вход T1 - верно? на Т1 частота поступает? какая именно?
вы учитываете тот факт, что запись в OCR1A в обработчике происходит в время уже начатого цикла работы таймера, и, соответственно, на этот цикл не повлияет?

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Ср мар 28, 2018 10:56:45 
Открыл глаза

Зарегистрирован: Вт май 05, 2009 17:32:50
Сообщений: 52
Рейтинг сообщения: 0
Цитата:
режим таймера у вас правильно задан?

Настраивал таймер по описанию которое прикрепил с верху.
Цитата:
OCR1A = N;

этот же регистр 2х байтный если я ни чего ни путаю а у меня число от 1500 до 4000 примерно вот поэтому я его и делю на две части.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Ср мар 28, 2018 11:07:38 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
bango писал(а):
этот же регистр 2х байтный
так, как я написал - правильно.

Добавлено after 9 minutes 40 seconds:
да вот еще что...
я уж не знаю, насколько вы там сделали усекновение программы свей, но главный цикл в том файле, что вы выложили, полностью эквивалентен следующему:
Код:
while(1){
   Buton_save(); // Проверим состояние кнопки "Save" и сохраним переменные
   Buton_minys ();  // Проверка нажатия кнопки уменьшить
   Buton_plys();// Проверка нажатия кнопки увеличение
   if(FChangeFlag)
        {
           TIMSK |= (1 << OCIE1A);   // Разрешаем прерывания по совпадению для модификации OCR1A
        }
}
кстати, запрещать прерывания по совпадению в обработчике прерывания по совпадению не надо

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

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


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Ср мар 28, 2018 11:07:45 
Открыл глаза

Зарегистрирован: Вт май 05, 2009 17:32:50
Сообщений: 52
Рейтинг сообщения: 0
Цитата:
на выходе OC1A у вас должна появиться частота, равная поделенной на OCR1A частоте, поступившей на вход T1 - верно? на Т1 частота поступает? какая именно?
вы учитываете тот факт, что запись в OCR1A в обработчике происходит в время уже начатого цикла работы таймера, и, соответственно, на этот цикл не повлияет?

Вот где то тут истина я отвечу работа мешает думать.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Ср мар 28, 2018 11:08:59 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
то есть я хочу сказать, что никакого изменения ваших переменных не происходит, так как сначала отрабатывает кнопка минус, а потом плюс, в итоге все остается, как и было. на нажатия кнопок ваша программа реагировать не будет - можете даже не припаивать их :)
сорри, даже не мог подумать, что у вас так занятно обработка кнопок сделана :) т.е. главный цикл на самом деле в if-ах не нуждается, но реакция на кнопки какая-то предусмотрена... поспешил с выводами

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Ср мар 28, 2018 11:12:05 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
этот же регистр 2х

даташит:
The following code examples show how to do an atomic write of the TCNT1 Register contents. Writing any of
the OCR1A/B or ICR1 Registers can be done by using the same principle.

Код:
void TIM16_WriteTCNT1 ( unsigned int i )
{
unsigned char sreg;
unsigned int i;
/* Save global interrupt flag */
sreg = SREG;
/* Disable interrupts */
_CLI();
/* Set TCNT1 to i */
TCNT1 = i;
/* Restore global interrupt flag */
SREG = sreg;


можно и как у вас написать,но разница на виду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Ср мар 28, 2018 11:33:00 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
ROMan2947 писал(а):
но разница на виду
вы забываете, что OCR1A обновляется в обработчике прерывания, т.е. запрещать прерывания не надо. но в остальном вы правы - снов я поторопился, т.к. привык пользовать таймер в режиме Fast-PWM, когда доступ в OCR1x буфферизируется... и совсем забыл, что эта буфферизация активна не всегда.

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Ср мар 28, 2018 14:24:45 
Открыл глаза

Зарегистрирован: Вт май 05, 2009 17:32:50
Сообщений: 52
Рейтинг сообщения: 0
Цитата:
на выходе OC1A у вас должна появиться частота, равная поделенной на OCR1A частоте, поступившей на вход T1 - верно?

Да это вы верно поняли
Цитата:
на Т1 частота поступает? какая именно?

да поступает. точно не знаю надо посчитать, должна поступать в (Диапазон регулирования частоты: 100 - 300 кГц)
Цитата:
вы учитываете тот факт, что запись в OCR1A в обработчике происходит в время уже начатого цикла работы таймера, и, соответственно, на этот цикл не повлияет?

Пока я над этим не думал это хорошее замечание. и даже не знаю как это вообщем отразится.

По поводу опроса кнопок вы дали хорошие замечания вот что значит взгляд профи за это спасибо.
Цитата:
запрещать прерывания не надо

значит получается запрет прерывания убрать из опроса прерывания и вот этот код убрать
Код:
        if(FChangeFlag)
        {
           TIMSK |= (1 << OCIE1A);   // Разрешаем прерывания по совпадению для модификации OCR1A
        }

а TIMSK вставить вот так я правильно понял?
Код:
int main(void)

TIMSK |= (1 << OCIE1A);   // Разрешаем прерывания по совпадению для модификации OCR1A


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Ср мар 28, 2018 15:07:06 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
как-то так, да

честно говоря, я не понимаю, зачем обновлять OCR1A в обработчике прерываний? ведь если делать это в главном цикле, обработчик прерывания вообще не понадобится - пусть себе гонит меандр на выходе абсолютно аппаратно

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Ср мар 28, 2018 15:38:40 
Открыл глаза

Зарегистрирован: Вт май 05, 2009 17:32:50
Сообщений: 52
Рейтинг сообщения: 0
Цитата:
честно говоря, я не понимаю, зачем обновлять OCR1A в обработчике прерываний?

Я думал что так нужно делать. Дома попробую сделать так как вы сказали и завтра отпишусь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Чт мар 29, 2018 07:49:20 
Открыл глаза

Зарегистрирован: Вт май 05, 2009 17:32:50
Сообщений: 52
Рейтинг сообщения: 0
у меня в протэусе кварц не правильно выставлен, пытаюсь понять как установить 16Мгц
вот что сейчас показывает осциллограф
Т1 = 6,7 нс = 1000\6,7 = 149,25 Мг
ОС1А = 30,4мс 100\30,4 = 3,2 Мг
ОС0А = 1020мс = 10\102 0,9 гц


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Чт мар 29, 2018 08:10:32 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
в протеусе "нарисованный" кварц никак не влияет на поведение МК. чтобы изменить частоту "кварца" надо в свойствах МК задать тактовую частоту - хоть 100 МГц можно :)

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Чт мар 29, 2018 08:21:47 
Открыл глаза

Зарегистрирован: Вт май 05, 2009 17:32:50
Сообщений: 52
Рейтинг сообщения: 0
Но даже если я кварц не выставил частота от кнопок должна меняться?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Чт мар 29, 2018 09:05:59 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
по идее должна

проверьте проще: вместо главного цикла напишите
Код:
for(N=1000; N < 4000; N+=100) _delay_ms(300);
и посмотрите в течение нескольких секунд на выходную частоту, вообще не трогая кнопки - будет меняться или нет?

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Чт мар 29, 2018 09:50:45 
Открыл глаза

Зарегистрирован: Вт май 05, 2009 17:32:50
Сообщений: 52
Рейтинг сообщения: 0
По инструкции выставил 16 мг в протэусе.
Долно быть вот так
16000000/1024/250 = 62,5Гц
а у меня выходит вот так что за кварц стоит не пойму
f = 1/с
ОС0А = 500мс = 0,5с = 2 Гц предделитель 1024 делитель = 250
ОС0А = 126мс = 0,126с = 7,9 Гц предделитель 256 делитель = 250
ОС0А = 31мс = 0,031с = 32,2 Гц предделитель 64 делитель = 250
ОС0А = 4мс = 0,004с = 250 Гц предделитель 8 делитель = 250


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Чт мар 29, 2018 10:29:01 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
фьюз CKDIV8 в протеусе как установлен?

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Чт мар 29, 2018 10:38:04 
Открыл глаза

Зарегистрирован: Вт май 05, 2009 17:32:50
Сообщений: 52
Рейтинг сообщения: 0
1101


Вложения:
Fuse.png [15.34 KiB]
Скачиваний: 225
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Чт мар 29, 2018 10:42:37 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
ну вот. фактическая частота тактирования у вас в 8 раз меньше, т.е. 2 МГц, а не 16. этот фьюз должен быть незапрограммирован, т.е. 1

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Чт мар 29, 2018 10:55:38 
Открыл глаза

Зарегистрирован: Вт май 05, 2009 17:32:50
Сообщений: 52
Рейтинг сообщения: 0
Выстовил как вы показали вот так получается
Вот так настроен счетчик
TCCR0B |= (1 << CS00);// CS = 101 - от внутреннего источника
TCCR0B |= (1 << CS02);// после пред делителя (15625)

OCR0A = M;// Задаем значение коэффициента пересчета 249
а частота получается
ОС0А = 31мс = 0,031с = 32 Гц предделитель 1024 делитель = 250


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

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


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

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


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

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


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