Atmega8 регулировка частоты и амплитуды
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
Starichok51, ещё один вопрос)))
// ожидание поклевки
_delay_ms(1000);// сначала пауза 1 сек
while((millis()-T)<(Time1+Time2+Pause+1000))
{
s++; //костыль
s1=ADCread(ADC_KLEV);// слушаем аналоговый вход А1 подключен через резистивный делитель к электромагниту согласно схемы
_delay_ms(8);
s2=ADCread(ADC_KLEV);
if (((s1-s2)>Sens || (s2-s1)>Sens)&& s>15)
{
buzzer_on(40, 57);
if (rezhim==1)
{
Вот тут buzzer_on(40, 57); можешь подсказать где устанавливается длительность сигнала?
// ожидание поклевки
_delay_ms(1000);// сначала пауза 1 сек
while((millis()-T)<(Time1+Time2+Pause+1000))
{
s++; //костыль
s1=ADCread(ADC_KLEV);// слушаем аналоговый вход А1 подключен через резистивный делитель к электромагниту согласно схемы
_delay_ms(8);
s2=ADCread(ADC_KLEV);
if (((s1-s2)>Sens || (s2-s1)>Sens)&& s>15)
{
buzzer_on(40, 57);
if (rezhim==1)
{
Вот тут buzzer_on(40, 57); можешь подсказать где устанавливается длительность сигнала?
- Реклама
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Atmega8 регулировка частоты и амплитуды
смотри функцию buzzer_on в файле boot.cpp.
void buzzer_on(uint8_t val, uint8_t freq) {
buzzer_time=val;
OCR2=freq;
}
а теперь ищи по файлам, где используется переменная buzzer_time.
void buzzer_on(uint8_t val, uint8_t freq) {
buzzer_time=val;
OCR2=freq;
}
а теперь ищи по файлам, где используется переменная buzzer_time.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
Ну, там же видно, что баззер работает столько, сколько установлена buzzer_time - она постоянно уменьшается на единицу, пока не станет равна нулю. Так что, это и есть длительность. Можно видеть, в приведённом Starichok51 коде, что значение buzzer_time задаётся через val - первый аргумент функции .
Последний раз редактировалось Martian Сб май 04, 2024 20:54:37, всего редактировалось 2 раза.
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
Martian, мне надо пальцем ткнуть, и можно ли её сделать к примеру ровно 1 секунда
Последний раз редактировалось Varlakotam Сб май 04, 2024 20:53:23, всего редактировалось 1 раз.
- Реклама
Re: Atmega8 регулировка частоты и амплитуды
если не научиться базовым элементам программирования, пальцы скоро затупятся... выше я добавил пояснение.
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
Martian, вообще не понимаю как Вы определили что buzzer_time уменьшается на единицу, а val чему равняется? И где её значение задают?
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
Martian, с -1 понял, не понятно для чего так устанавливать длительность. Если я поставлю =1000 что-то может поломаться? И какое значение имеет val? Где его задают?
Re: Atmega8 регулировка частоты и амплитуды
Кроме Гриффитсов, книги остальных авторов есть в "Сундуке". Гриффитсы есть здесь: https://vk.com/wall-54530371_150619WorldEn писал(а): "Как программировать на С" Пол Дейтел, Харви Дейтел (здесь всё разжевано до мелочей)
"Язык программирования Си" Керниган и Ритчи (создатели языка)
"Язык программирования C. Лекции и упражнения" Стивен Прата (тоже хорошая книга с положительными отзывами)
"Изучаем программирование на C" Дэвид Гриффитс, Дон Гриффитс
В каждой книге есть упражнения для закрепления материала. Эти книги - лучшие по изучению языка Си
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
Martian, Не первый раз сталкиваюсь с этим на форумах: Захожу я в тёмное помещение. Спрашиваю: Мужики! Где освещение включить, на пару минут?
Раздаются любопытные и безразличные голоса: "А зачем это тебе? С какой целью ты это хочешь сотворить?" "Проще фонариком посветить, или даже спичками", "Купи индивидуальный прожектор и не заморачивайся" и т.п.
Появляется добрый, отзывчивый, очень умный и интеллигентный человек и говорит: "Вон там, это же и Ежу понятно".
Я: "Так направление покажите, пальцем тыкните."
В ответ: "Я устал уже всем объяснять, вам нужно самому всё понять и изучить, иначе так и будете всё время спрашивать. Начните с Закона Ома и Кирхгоффа, Вот вам книжки по ОТЦ, ТОЭ, ТЛЭЦ в них всё расписано, вот ещё ГОСТ, СНиП и ПУЭ, а так-же не помешает ТБ и ОТ."
Хочется уйти с этого тёмного помещения, но мне же надо включить освещение, всего лишь нажать на клавишу или щелкнуть переключателем! Больше я не вернусь в это непонятное загадочное место)))
С Праздником всех Православных !
Добавлено after 1 minute 40 seconds:
Книжки я скачал, Спасибо!!! Потихоньку, не доводя себя до головной боли, буду изучать.
Раздаются любопытные и безразличные голоса: "А зачем это тебе? С какой целью ты это хочешь сотворить?" "Проще фонариком посветить, или даже спичками", "Купи индивидуальный прожектор и не заморачивайся" и т.п.
Появляется добрый, отзывчивый, очень умный и интеллигентный человек и говорит: "Вон там, это же и Ежу понятно".
Я: "Так направление покажите, пальцем тыкните."
В ответ: "Я устал уже всем объяснять, вам нужно самому всё понять и изучить, иначе так и будете всё время спрашивать. Начните с Закона Ома и Кирхгоффа, Вот вам книжки по ОТЦ, ТОЭ, ТЛЭЦ в них всё расписано, вот ещё ГОСТ, СНиП и ПУЭ, а так-же не помешает ТБ и ОТ."
Хочется уйти с этого тёмного помещения, но мне же надо включить освещение, всего лишь нажать на клавишу или щелкнуть переключателем! Больше я не вернусь в это непонятное загадочное место)))
С Праздником всех Православных !
Добавлено after 1 minute 40 seconds:
Книжки я скачал, Спасибо!!! Потихоньку, не доводя себя до головной боли, буду изучать.
Re: Atmega8 регулировка частоты и амплитуды
Это совершенно неверная аналогия.
Ваш случай аналогичен такому:
- Мужики, где освещение включить?
- Вот выключатель.
- А что надо сделать?
- Нажать на него.
- А чем нажать?
- Пальцем.
- А каким пальцем?
- Любым.
- О, круто! Зажёгся! Мужики, а как теперь выключить свет?
- Надо снова нажать.
- Куда?
- На выключатель.
- А чем нажать?
- Пальцем.
- А каким?
- Любым.
- О, круто, погас! Мужики, я зашел в другую комнату, а как здесь включить свет?
Вот правильная аналогия для Вас и подобных Вам, просящих готовых решений. Притом, обижаетесь, если вам его не дают. А разве обязаны давать?
Дополнительные вопросы, которые Вам кажутся любопытными и безразличными, таковыми являются далеко не всегда. Как Вы вообще способны оценить вопрос, нихуя не разбираясь в теме? Придёте в больницу, скажете доктору: - доктор, у меня здесь болит. А доктор в ответ задаст что? Любопытные и безразличные вопросы? Да как он и смеет, и кто он вообще такой?
Кроме того, надо осознавать, что образование у всех разное, и задать вопрос или ответить часто бывает сложно, потому что спрашивающий и отвечающий имеют разные уровни информационные. Прочитайте рассказ Шекли "Ответчик".
Поэтому, я не могу ответить "поломается ли что-то, если присвоить 1000" - я не владею информацией. Я не могу сказать. где происходит присваивание, потому что ответил уже - через первый аргумент функции. Вы этого ответа не поняли, а также не поняли в нарисованном варианте, а значит, необходимо обучение. Всё свелось к книгам.
Ваш случай аналогичен такому:
- Мужики, где освещение включить?
- Вот выключатель.
- А что надо сделать?
- Нажать на него.
- А чем нажать?
- Пальцем.
- А каким пальцем?
- Любым.
- О, круто! Зажёгся! Мужики, а как теперь выключить свет?
- Надо снова нажать.
- Куда?
- На выключатель.
- А чем нажать?
- Пальцем.
- А каким?
- Любым.
- О, круто, погас! Мужики, я зашел в другую комнату, а как здесь включить свет?
Вот правильная аналогия для Вас и подобных Вам, просящих готовых решений. Притом, обижаетесь, если вам его не дают. А разве обязаны давать?
Дополнительные вопросы, которые Вам кажутся любопытными и безразличными, таковыми являются далеко не всегда. Как Вы вообще способны оценить вопрос, нихуя не разбираясь в теме? Придёте в больницу, скажете доктору: - доктор, у меня здесь болит. А доктор в ответ задаст что? Любопытные и безразличные вопросы? Да как он и смеет, и кто он вообще такой?
Кроме того, надо осознавать, что образование у всех разное, и задать вопрос или ответить часто бывает сложно, потому что спрашивающий и отвечающий имеют разные уровни информационные. Прочитайте рассказ Шекли "Ответчик".
Поэтому, я не могу ответить "поломается ли что-то, если присвоить 1000" - я не владею информацией. Я не могу сказать. где происходит присваивание, потому что ответил уже - через первый аргумент функции. Вы этого ответа не поняли, а также не поняли в нарисованном варианте, а значит, необходимо обучение. Всё свелось к книгам.
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
Martian, Ни фига я не обижаюсь, я тут в роли просящего нуба, а не требующего. И я прекрасно понимаю что ответы на мои нелепые вопросы требуют личного времени и мозговой деятельности.
Вы мне прилично помогли, и за это большое спасибо.
buzzer_time=1000 проверил, повлияло на длительность всех сигналов. А мне нужно поправить только один.
А аналогию я привел верную, стандартную. А Вы её утрировали до уж совсем... Ну я не совсем же тупой)))
Вы мне прилично помогли, и за это большое спасибо.
buzzer_time=1000 проверил, повлияло на длительность всех сигналов. А мне нужно поправить только один.
А аналогию я привел верную, стандартную. А Вы её утрировали до уж совсем... Ну я не совсем же тупой)))
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Atmega8 регулировка частоты и амплитуды
[uquote="Varlakotam",url="/forum/viewtopic.php?p=4576188#p4576188"]... Вот тут buzzer_on(40, 57); можешь подсказать где устанавливается длительность сигнала?[/uquote]
Попробуйте buzzer_on(40, 57); -> buzzer_on(255, 57); Хватит ли времени бузера?
Если нет, то в этом ряду выполните 2..3..4..n раз именно для этого случая.
Попробуйте buzzer_on(40, 57); -> buzzer_on(255, 57); Хватит ли времени бузера?
Если нет, то в этом ряду выполните 2..3..4..n раз именно для этого случая.
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Atmega8 регулировка частоты и амплитуды
смотрим функцию:Varlakotam писал(а):Если я поставлю =1000 что-то может поломаться?
void buzzer_on(uint8_t val, uint8_t freq) {
buzzer_time=val;
OCR2=freq;
}
и видим, что длительность имеет тип uint8_t, то есть 1 байт. а 1000 - это 2 байта.
ты добиваешься, чтобы тебя отматерили?Varlakotam писал(а):И какое значение имеет val? Где его задают?
где его задают - ты сам в поиске нашел все строки, где его задают.
а какое значение имеет, видно в этих найденных строках.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Atmega8 регулировка частоты и амплитуды
[uquote="Varlakotam",url="/forum/viewtopic.php?p=4576451#p4576451"]... два еррора ...[/uquote]
Просто замените одну строку другой. А если времени звукового сигнала недостаточно, повторите строка еще раз, еще 2 раза, еще n раз ...
Просто замените одну строку другой. А если времени звукового сигнала недостаточно, повторите строка еще раз, еще 2 раза, еще n раз ...
Последний раз редактировалось veso74 Вс май 05, 2024 11:21:28, всего редактировалось 3 раза.
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
Starichok51, да материте, чего уж там..
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Atmega8 регулировка частоты и амплитуды
а там где задается
buzzer_time=1000;
буззер работает мимо функции buzzer_on.
buzzer_time=1000;
буззер работает мимо функции buzzer_on.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
veso74, Спасибо дружище!!! Работает как нужно, одной строкой.


