Например TDA7294

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





Текущее время: Вс июн 22, 2025 00:53:25

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


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



Начать новую тему Ответить на тему  [ Сообщений: 1478 ]     ... , , , , 74
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт май 02, 2024 16:28:45 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1213
Рейтинг сообщения: 0
Ну почему же! Спорт у каждого свой. Как и смысл.)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт сен 12, 2024 22:37:13 
Родился

Зарегистрирован: Чт сен 12, 2024 21:34:21
Сообщений: 12
Рейтинг сообщения: -4
Добрый вечер! Форумчане!!!
Я начинающий! Можете подсказать что значит строка PORTC = 0x3F & led_buff[0]; в этом коде?



#include <mega8.h>
#include <delay.h>

#define ON 1
#define OFF 0
#define timer_ TCNT0
#define timer_tact TCCR0
#define OUT PORTB.0

#define enable PINB.3
#define up PINB.4
#define down PINB.5
#define pwm__ OCR1AL

#define klapan PORTB.2
#define motor_stop {PORTB.1=0;}
#define motor_tormoz {PORTD.4=1;}
#define motor_tormoz_off {PORTD.4=0;}

bit flags_button=0;
volatile unsigned char sek_;
volatile unsigned char timer_button, timer_butt;
volatile unsigned char timer_shou;
volatile unsigned char timer_stop;
volatile unsigned char eep_timer;
volatile unsigned char sek;
volatile unsigned char timer;
volatile unsigned char y,jamp2=0;
volatile unsigned int pwm, start_;



volatile unsigned char pwm_, data0, data1, data2, led_buff[3];
//---------- 0-9 10 ........... 18 символов
//Символы для LED (0-9, ,-,t,L,A,r,d,b,DP)
flash unsigned char led_table[26]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf,0x87,0xC7,0x88,0xAF,0xA1,0x83,0x7F,0x8C,0xC6,0xC1,0x86,0x89,0x8E,0x9C};
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
// [] - t L A r d b Dp P C U E H F град.

//volatile unsigned char y, jamp2=0;
volatile unsigned char start=180;

eeprom unsigned char eep_power, eep_jamp, eep_pwm, eep_sek;

// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void) // прерывание для захвата перехода через ноль.
{
// Place your code here Процедура обслуживания внешнего прерывания 0

OUT=OFF;
timer_=start;

}

// Timer 0 overflow interrupt service routine Процедура обслуживания прерывания переполнения таймера 0
interrupt [TIM0_OVF] void timer0_ovf_isr(void) // прерывание для выхода управления тиристорами
{
// Place your code here Разместите свой код здесь
timer_=start;
OUT=ON;
}

// Timer2 overflow interrupt service routine Процедура обслуживания прерывания переполнения Таймера 2
interrupt [TIM2_OVF] void timer2_ovf_isr(void) // прерывание для дисплея
{
// Reinitialize Timer2 value Повторно инициализировать значение Таймера2
TCNT2=0xCB;

if (jamp2==0)
{
PORTD.5=PORTD.6=PORTD.7=0; // выключаем все разряды

switch (y) // общий анод
{

case 0:

PORTC = 0x3F & led_buff[0];
PORTD.0 = 0x40 & led_buff[0];
PORTD.1 = 0x80 & led_buff[0];


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

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1213
Рейтинг сообщения: 4
Вы бы, прежде чем постить, посмотрели бы как люди код вставляют в сообщение.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт сен 13, 2024 09:10:41 
Вымогатель припоя

Карма: 6
Рейтинг сообщений: 183
Зарегистрирован: Ср янв 06, 2010 10:01:46
Сообщений: 585
Рейтинг сообщения: 0
elektronic3452 писал(а):
что значит строка PORTC = 0x3F & led_buff[0]; в этом коде
вывод в PORTC значения из нулевого элемента массива led_buff c обнулением двух старших битов


Последний раз редактировалось metan Пт сен 13, 2024 09:13:18, всего редактировалось 1 раз.

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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт сен 13, 2024 09:12:20 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2708
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Не путайте. В массиве ничего не обнулиться.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


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

Карма: 6
Рейтинг сообщений: 183
Зарегистрирован: Ср янв 06, 2010 10:01:46
Сообщений: 585
Рейтинг сообщения: 0
Не путайте.
извиняюсь, неверно выразил свою мысль, поправил


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

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт сен 13, 2024 19:05:56 
Родился

Зарегистрирован: Чт сен 12, 2024 21:34:21
Сообщений: 12
Рейтинг сообщения: 0
Спасибо!!! "metan" и "Z_h_e"!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт апр 18, 2025 04:41:41 
Поставщик валерьянки для Кота

Карма: 34
Рейтинг сообщений: 313
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Сообщений: 2056
Откуда: Харьков
Рейтинг сообщения: 0
Немного нубский вопрос, но всё же. ATtiny85. Чип просыпается по внешнему прерыванию на пине PB2, затем сразу же в обработчике прерывания это самое прерывание отключается (PCMSK = 0), а включается обратно (PCMSK = 0b100) существенно позже, перед уходом в спящий режим. Делаю это для того, чтобы постоянно меняющийся уровень на пине (а там летит извне меандр 4 кГц) не вызывал сотни прерываний в секунду при работе основной программы, от них программа тормозит (чип работает на 128 кГц). Контроллер зависает намертво в спящем режиме второй раз за неделю, реагирует только на ресет. Безопасно ли отключать прерывание в обработчике этого же прерывания? И может ли быть такое, что при установке бита в PCMSK прерывание не включается или включается не сразу?

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт апр 18, 2025 06:14:08 
Друг Кота
Аватар пользователя

Карма: 51
Рейтинг сообщений: 2108
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6998
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (2)
Внутри прерывания ничего отключать не надо - т.к. пока ты в прерывании сбрасывается регистр "I" (глобальное разрешение прерываний)
а вот флаг прерывания в конце прерывания очистить наверно не повредит (зависит от решаемой задачи), это исключит повторный вызов прерывания сразу после его завершения если события, вызывающие прерывание, происходили во время прерывания. (флаг прерывания очищается записью в него "1")

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт апр 18, 2025 09:05:53 
Это не хвост, это антенна
Аватар пользователя

Карма: 15
Рейтинг сообщений: 211
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1447
Откуда: Тюмень
Рейтинг сообщения: 0
ATtiny85. Чип просыпается по внешнему прерыванию на пине PB2,

Уточните, от какого прерывания просыпается МК, от INT0 или от PCIE0?
Цитата:
Делаю это для того, чтобы постоянно меняющийся уровень на пине (а там летит извне меандр 4 кГц) не вызывал сотни прерываний в секунду

То есть, этот меандр будит ваш МК?
Цитата:
Контроллер зависает намертво в спящем режиме второй раз за неделю,

Контроллер в спящем режиме (Power-down) и так всегда «весит», то есть "спит и ничего не делает", экономит энергию… :) вы наверное хотите сказать, что не могли его разбудить два раза за неделю? Дело в том, что для пробуждения МК необходимо удерживать низкий уровень на пине достаточное время, чтобы МК включил питание и запустил тактовый генератор (завершил полностью пробуждение). Если продолжительности уровня на пине не достаточно, то МК может и проснуться, но прерывание не будет сгенерировано. Обратите внимание в даташите какое время необходимо МК для полного пробуждения.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт апр 18, 2025 10:54:43 
Друг Кота

Карма: 64
Рейтинг сообщений: 1013
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4326
Откуда: Ижевск
Рейтинг сообщения: 0
watchmaker писал(а):
Безопасно ли отключать прерывание в обработчике этого же прерывания?
Отключайте безопасно.


Последний раз редактировалось akl Сб апр 19, 2025 04:34:16, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт апр 18, 2025 11:24:19 
Поставщик валерьянки для Кота

Карма: 34
Рейтинг сообщений: 313
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Сообщений: 2056
Откуда: Харьков
Рейтинг сообщения: 0
Цитата:
Уточните, от какого прерывания просыпается МК, от INT0 или от PCIE0?

ISR(PCINT0_vect)
Цитата:
То есть, этот меандр будит ваш МК?

Да, МК подключён к выходу пищалки в электронных часах и просыпается от такого сигнала.
Цитата:
Контроллер в спящем режиме (Power-down) и так всегда «весит», то есть "спит и ничего не делает", экономит энергию… :) вы наверное хотите сказать, что не могли его разбудить два раза за неделю?

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт апр 18, 2025 11:58:06 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1213
Рейтинг сообщения: 0
Виснет так, что не разбудишь даже подачей постоянного уровня на пин, как будто прерывание не включилось при уходе в слип. Если конечно это вообще не аппаратные проблемы типа помех по питанию.

На пьезо какое напряжение? Бывает их раскачивают...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт апр 18, 2025 12:10:32 
Поставщик валерьянки для Кота

Карма: 34
Рейтинг сообщений: 313
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Сообщений: 2056
Откуда: Харьков
Рейтинг сообщения: 0
Пьезо там уже нет, сигнал запуска с часового чипа идёт прямо на МК, а с МК совсем другой сигнал идёт через мосфет на 32 Ом динамик.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт апр 18, 2025 12:24:16 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1213
Рейтинг сообщения: 0
Я имею ввиду входное напряжение. И пофигу ваши динамики.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт апр 18, 2025 14:06:57 
Это не хвост, это антенна
Аватар пользователя

Карма: 15
Рейтинг сообщений: 211
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1447
Откуда: Тюмень
Рейтинг сообщения: 0
ISR(PCINT0_vect)

Тогда (ИМХО) правильней использовать не регистр PCMSK в вашем случае, а регистр GIMSK (бит PCIE) для разрешения или запрета прерывания по маске пинов, а выбор пина (PCMSK) не трогать. Ну и не забывать при установке (PCIE), сбрасывать бит прерывания (PCIF).

Ну и сформировать достаточный временной потенциал для полного пробуждения МК.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Сб апр 19, 2025 00:05:35 
Поставщик валерьянки для Кота

Карма: 34
Рейтинг сообщений: 313
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Сообщений: 2056
Откуда: Харьков
Рейтинг сообщения: 0
Цитата:
Я имею ввиду входное напряжение. И пофигу ваши динамики.

3 В, как и на МК.
Цитата:
Тогда (ИМХО) правильней использовать не регистр PCMSK в вашем случае, а регистр GIMSK (бит PCIE) для разрешения или запрета прерывания по маске пинов, а выбор пина (PCMSK) не трогать. Ну и не забывать при установке (PCIE), сбрасывать бит прерывания (PCIF).

Попробую.
Кстати, в даташите написано, что этот флаг сбрасывается записью в него единицы. Это не опечатка, надо писать именно единицу?

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Сб апр 19, 2025 01:46:08 
Это не хвост, это антенна
Аватар пользователя

Карма: 15
Рейтинг сообщений: 211
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1447
Откуда: Тюмень
Рейтинг сообщения: 0
Это не опечатка, надо писать именно единицу?

Не опечатка, да "1".


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

Часовой пояс: 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