Например TDA7294

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



Текущее время: Сб дек 05, 2020 14:42:13

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


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



Начать новую тему Ответить на тему  [ Сообщений: 16 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Помогите с кодом.
СообщениеДобавлено: Сб окт 10, 2020 14:01:13 
Родился

Зарегистрирован: Сб окт 10, 2020 13:50:59
Сообщений: 4
Рейтинг сообщения: 0
Код:
#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>


void pwm_settings()
{
   // PWM SETTINGS
   TCCR1A |= (1 << COM1A1)|(0 << COM1A0)
   |(1 << WGM11)|(1 << WGM10);
   TCCR1B |= (1 << WGM12)|(1 << WGM13)|(0 << CS12)|(1 << CS11)|(0 << CS10);
   TCNT1 = 0x00;
   ICR1 = 0xFF;
   OCR1A = 0x00;
};



int main(void)
{
   unsigned char d=0;
   DDRA &= ~((1<<PA0)|(1<<PA1));
   PORTA |=(1<<PA0)|(1<<PA1);   
   DDRD |=(1<<PD5);
   
   void pwm_settings();
   
   
         
         
   while(1)
   {
               
      if (0== (PINA&(1<<0)))
         {
      for(d=0; d<255; d++)
          {
         OCR1A = d;
         _delay_ms(30);
          }
      }
      if (0== (PINA&(1<<1)))
      {
      for(d=0; d>255; d--)
          {
         OCR1A = d;
         _delay_ms(30);
          }
      }
   }   
         
}


Добрый день. Помогите с кодом программа не работает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом.
СообщениеДобавлено: Сб окт 10, 2020 15:55:42 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 555
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2322
Рейтинг сообщения: 0
Если запятую поставить после "Помогите", то вопрос становится более логичным, а ответ - очевидным.
Автор, ты бы хоть комментарии к коду написал, что и где хочешь получить. Глядишь, сам бы ошибку и нашёл.
И какой смысл писать PINA&(1<<0) и PINA&(1<<1) ?


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Помогите с кодом.
СообщениеДобавлено: Сб окт 10, 2020 16:04:42 
Держит паяльник хвостом

Карма: -3
Рейтинг сообщений: 108
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 949
Рейтинг сообщения: 0
ТС. На будущее. Не нужно выкладывать простыню кода. Ваш вопрос на форумах подобных этому должен звучать так: типа народ, есть девайс, функционал такой то. Эта фича работает, эта нет. Или все не работает. Где я накосячил? Ну и самое. Если вы все проверили, книги, даташиты почитали. В программу до покраснения глаз смотрели. А не так, что при малейшем затруднении, побежали на форум.
Ваши простыни никому не интересны без описания. Поверьте.


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Шестое юбилейное мероприятие в процессе
Не в сети
 Заголовок сообщения: Re: Помогите с кодом.
СообщениеДобавлено: Сб окт 10, 2020 16:10:28 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 555
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2322
Рейтинг сообщения: 0
но я всё же подскажу: у циклов разные приращения счётчиков, разные условия проверки, но начальные значение одинаковы...


Последний раз редактировалось BlackKilkennyCat Сб окт 10, 2020 16:12:02, всего редактировалось 1 раз.

Вернуться наверх
 
Вебинар «Практическое использование TrustZone в STM32L5»(10.12.2020)

Приглашаем на вебинар, посвященный экосистеме безопасности и возможностях, которые появились у разработчиков благодаря новой технологии TrustZone в микроконтроллерах STM32L5. Программа рассчитана на технических специалистов и тех, кто уже знаком с основами защиты ПО в STM32.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Помогите с кодом.
СообщениеДобавлено: Сб окт 10, 2020 16:10:54 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 60
Откуда: Сумы, Украина
Рейтинг сообщения: 0


Попробуй так... А вообще, хотелось бы изначально описание увидеть. И хорошо бы указать контроллер...

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Вернуться наверх
 
SiC MOSFET = высокий КПД источника питания

650 В карбид-кремниевые (SiC) MOSFET компании Wolfspeed имеют самый низкий в отрасли показатель сопротивления открытого канала и наименьшую его зависимость от температуры, что дает им преимущество не только перед обычными кремниевыми (Si) 650 В MOSFET, но и перед нитрид-галлиевыми транзисторами.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: Помогите с кодом.
СообщениеДобавлено: Сб окт 10, 2020 16:47:32 
Родился

Зарегистрирован: Сб окт 10, 2020 13:50:59
Сообщений: 4
Рейтинг сообщения: 0
Я недавно начал работать на AVR. Использую контроллер atmega16. Хочу сделать ШИМ с регулировкой скважности сигнала. Кнопка на ноге PA0 уменьшает скважность а на PA1 увеличивает. Но программа не работает. Скорее всего у меня какая та ошибка в цикле.

Добавлено after 1 minute 22 seconds:
Работаю на Atmel Studio 7


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Помогите с кодом.
СообщениеДобавлено: Сб окт 10, 2020 17:33:41 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 555
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2322
Рейтинг сообщения: 0
Согласно коду кнопки не уменьшают и не увеличивают, а запускают постоянное увеличение от минимума до максимума с шагом 1, и наоборот, постоянное уменьшение. Формулируйте точнее.


Вернуться наверх
 


В сети
 Заголовок сообщения: Re: Помогите с кодом.
СообщениеДобавлено: Сб окт 10, 2020 18:09:50 
Это не хвост, это антенна

Карма: 9
Рейтинг сообщений: 338
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1337
Рейтинг сообщения: 0
Alek_von_German, "if (~PINA&(1<<0))//" - конечно с точки зрения C одно и тоже будет, но боюсь так компилятор сгенерит немного избыточного код для считывания и инверсии регистра.
"if (!(PINA & (1<<0)))" уж лучше так.

Salih, как написано у вас при разовом нажатии кнопки будет увеличивать заполнение до максимума. Аналогично было бы при уменьшении, если бы вы не ошиблись и не написали бы там "for(d=0; d>255; d--)". d никогда не может стать больше 255. Оно будет по кругу бесконечно меняться 0, 255, 254, 253,...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом.
СообщениеДобавлено: Сб окт 10, 2020 18:59:01 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 60
Откуда: Сумы, Украина
Рейтинг сообщения: 0

Разницы я не заметил ни при "!", ни при "~". Но может Вы и правы.

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Последний раз редактировалось Alek_von_German Сб окт 10, 2020 19:41:15, всего редактировалось 1 раз.

Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Помогите с кодом.
СообщениеДобавлено: Сб окт 10, 2020 19:35:29 
Это не хвост, это антенна

Карма: 9
Рейтинг сообщений: 338
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1337
Рейтинг сообщения: 0
Alek_von_German, хотя нет, проверил, avr-gcc в данном случае с любой включенной оптимизацией генерит просто инструкцию sbic + переход.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом.
СообщениеДобавлено: Сб окт 10, 2020 19:56:28 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 60
Откуда: Сумы, Украина
Рейтинг сообщения: 0
Можно еще так сделать:

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом.
СообщениеДобавлено: Сб окт 10, 2020 19:58:24 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 555
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2322
Рейтинг сообщения: 0
можно мильёном способов. ТС скопипастит и будет счастлив.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом.
СообщениеДобавлено: Пн окт 12, 2020 14:28:08 
Родился

Зарегистрирован: Сб окт 10, 2020 13:50:59
Сообщений: 4
Рейтинг сообщения: 0
Не работает. На выводе PD5 тишина, при нажатии на кнопки. И на протеусе и на макетке протестил.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом.
СообщениеДобавлено: Пн окт 12, 2020 21:09:03 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 60
Откуда: Сумы, Украина
Рейтинг сообщения: 1
Salih, всё потому, что таймер настроен не правильно, скорее всего. Я не особо вникал.


Вот это у меня работает.

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом.
СообщениеДобавлено: Вт окт 13, 2020 09:45:03 
Родился

Зарегистрирован: Сб окт 10, 2020 13:50:59
Сообщений: 4
Рейтинг сообщения: 0
У меня было настроен таймер как FastPWM. А вы сделали ШИМ с коррекцией фазы и частоты по даташиту? А в чем разница между ними? И то и другое ШИМ.


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Помогите с кодом.
СообщениеДобавлено: Вт окт 13, 2020 09:58:43 
Это не хвост, это антенна

Карма: 9
Рейтинг сообщений: 338
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1337
Рейтинг сообщения: 0
В ДШ ведь написано, в чем разница. И графики состояний приведены. Посмотрите графики хотя бы для начала. Самое главное отличие - Fast PWM "крутит" только инкрементирует таймер. А другие режимы "вверх-вниз" считают.

Добавлено after 2 minutes 20 seconds:
Вот тут просто расписано различие режимов: http://easyelectronics.ru/avr-uchebnyj- ... -shim.html
Одно НО - написано "В этом режиме счетчик считает от нуля до 255", хотя для 16-битного таймера разрешение ШИМ конечно же может быть больше.


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

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


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

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


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

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


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