Например TDA7294

Форум РадиоКот • Просмотр темы - Как установить значение OCR1A ?
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн авг 25, 2025 07:15:00

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


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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Как установить значение OCR1A ?
СообщениеДобавлено: Сб апр 16, 2022 13:39:08 
Прорезались зубы

Карма: -5
Рейтинг сообщений: -18
Зарегистрирован: Ср янв 11, 2012 11:55:51
Сообщений: 217
Рейтинг сообщения: 0
Собственно вопрос наверное даже странный, но тем не менее. Как производится установка регистра OCR1A в Ардуино? Я думал, что записи типа OCR1A = 19999 (например) достаточно. Однако в в выводе в сериал Serial.print(" OCR1AH= ");Serial.print(OCR1AH); Serial.print(" OCR1AL= ");Serial.println(OCR1AL);я вижу такую вот фигню:

OCR1AH= 0 OCR1AL= 31

т.е. старший байт не устанавливается???


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как установить значение OCR1A ?
СообщениеДобавлено: Сб апр 16, 2022 14:35:54 
Друг Кота

Карма: 67
Рейтинг сообщений: 1964
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
http://forum.easyelectronics.ru/viewtop ... =4&t=21582


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как установить значение OCR1A ?
СообщениеДобавлено: Сб апр 16, 2022 14:47:17 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 452
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1649
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
При инициализации Arduino, таймер уже настроен и занимается на обслуживание PWM (функция analogWrite()).
https://forum.arduino.cc/t/having-troub ... 1a/56613/4
Код:
  TCCR1A = 0;
  TCCR1B = 0;
  OCR1A = 19999;

  Serial.begin(57600);
  Serial.print(" OCR1AH= ");
  Serial.println(OCR1AH);
  Serial.print(" OCR1AL= ");
  Serial.println(OCR1AL);

ответ:
Код:
 OCR1AH= 78
 OCR1AL= 31

проверка: 78 * 256 + 31 = 19999.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как установить значение OCR1A ?
СообщениеДобавлено: Сб апр 16, 2022 16:32:37 
Прорезались зубы

Карма: -5
Рейтинг сообщений: -18
Зарегистрирован: Ср янв 11, 2012 11:55:51
Сообщений: 217
Рейтинг сообщения: 0
Спасибо. Ларчик просто открывается однако )

а вот однако ни фига ( запись вида
OCR1A = 0x1234;
Serial.print("OCR1A = 0x");
Serial.println(OCR1A);

в терминале дает
OCR1A = 0x52

Зараза... TCCR1A надо обязательно обнулить. :kill:
слепой кот Базилио ((


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как установить значение OCR1A ?
СообщениеДобавлено: Сб апр 16, 2022 18:00:59 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 452
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1649
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Если не хотите лезть в настройки Arduino (и настройки по умолчанию например при инициализации), используйте не их, а чистый AVR. В противном случае, должны соображать то, что делает. Он не делает так много непредсказуемых вещей, и если хотите, можете увидеть это в коде в:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\


Последний раз редактировалось veso74 Сб апр 16, 2022 18:02:09, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как установить значение OCR1A ?
СообщениеДобавлено: Сб апр 16, 2022 18:01:47 
Друг Кота

Карма: 2
Рейтинг сообщений: 79
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8325
Откуда: .ru
Рейтинг сообщения: 0
странные эти Arduino...
в CodeVisionAVR такой фигни нет))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как установнаоборот, при обычном, элеменить значение OCR
СообщениеДобавлено: Сб апр 16, 2022 18:06:13 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 452
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1649
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
странные эти Arduino ... такой фигни нет ...

Оффтоп: Все наоборот. При обычном, элементарном и среднем использовании вникаешь в математику, в алгоритм, не вдаваясь в бесконечные настройки регистров, таймеров и т. д. в "заглавными буквами" :), от которых испаряется всякое желание продолжать. А представьте, что потребителем может быть подросток, пусть даже первоклассник. И что? его устройство работает, не хуже напр. Вашего, написан почти на ассемблере. И он радуется, что создал что-то с помощью своего ума (и "общего разума" с помощью поделеного кода).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как установить значение OCR1A ?
СообщениеДобавлено: Сб апр 16, 2022 18:33:49 
Друг Кота

Карма: 2
Рейтинг сообщений: 79
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8325
Откуда: .ru
Рейтинг сообщения: 0
veso74 писал(а):
работает, не хуже напр. Вашего, написан почти на ассемблере.

почему почти ?))
у меня прекрасно всё работает и на ассемблере... в AVR Studio.
а радость от того что двигаемся дальше и глубже )) изучаем новые горизонты))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как установить значение OCR1A ?
СообщениеДобавлено: Сб апр 16, 2022 19:18:27 
Потрогал лапой паяльник
Аватар пользователя

Карма: -6
Рейтинг сообщений: -2
Зарегистрирован: Вс апр 03, 2022 07:01:29
Сообщений: 362
Рейтинг сообщения: 0
Цитата:
вникаешь в математику, в алгоритм, не вдаваясь в бесконечные настройки регистров,

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как установить значение OCR1A ?
СообщениеДобавлено: Сб апр 16, 2022 19:58:30 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 452
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1649
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
... Мы, как эмбеддеры ...

Большой офлайн: Зачем? Для меня это хобби (наверное для 90% форумчан), эмоция, приятное времяпрепровождение. Работает конструкция или нет, эффекта (почти) нет. И часто само изготовление является самым приятным моментом, конструкция после навсегда может остаться в коробке/мешок/чердак. Напаример, в комнате, где я нахожусь сейчас, я вижу 11 устройств (посчитал их), по которым могу понять время. Ну ничего, на столе стоит 12-тое устройствo, нa PIC, на бредборде, для тестов. То же самое и с приемниками FM, и с приемниками КВ ... Это хобби. (частично пользуюсь переводчиком БГ -> РУ)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как установить значение OCR1A ?
СообщениеДобавлено: Сб апр 16, 2022 20:05:07 
Потрогал лапой паяльник
Аватар пользователя

Карма: -6
Рейтинг сообщений: -2
Зарегистрирован: Вс апр 03, 2022 07:01:29
Сообщений: 362
Рейтинг сообщения: 0
Не спорю, для кого-то это всего лишь хобби, где важен быстрый результат. Не сошлись скетчи - пробуем другие, лезем на форум arduino.ru, тыкаемся.
А для кого-то - это работа, где важна принципиальная работоспособность, надежность, четкое поведение без сюрпризов. Каждому - своё. Кто-то получает удовольствие от того, что разбирается в тонкостях железа и может определить, почему не работает у ардуинщиков что-либо. Ну а почему бы и нет? Всегда ведь есть любители, а есть специалисты. Только вот "любителя народной медицины" не допустят делать хирургическую операцию.


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

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


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

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


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

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


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