Страница 1 из 1

Atmega168 не могу понять почему не работает на ней программа

Добавлено: Сб дек 27, 2025 12:19:44
Alex_ka
Есть вот такая программа. Порты выставлены, все остальное по нулям, необходимое прописано в бесконечном цикле. На тине 2313 и атмеге 8 это работает меняя значение а-необходимоя частота, получаем на выходе нужную частоту. А на 168 значение а-необходимая частота при смене, на выходе ничего не меняется и на первоначальном этапе выдаёт не ту частоту, не смотря, что В TCCR0 и TCCR2 выбираю стс и все остальное в программе подкорректировано под TCCR0 или TCCR2, но меняя значение "а"" частота не меняется.
Пример:
#include <tiny2313a.h>
flash unsigned char byte [] = {3, 3, 2, 2};
Дальше порты выставлены, все остальное нули
OCR1A = OCR1B = 0x00FF;
while(1)
{
unsigned long a = 275; // необходимая частота {(Гц)
unsigned long c = OCR1A ;
unsigned long d = 1;
unsigned long F_PU = 8005000;
char i;
c = (F_PU / a / 2);
for (i = 0; i < 4; i++)
{
if (c > 65536) {
d <<= byte;
c = (F_PU / a / 2 / d);
}
TCCR1B = (i + 1) | (1 << WGM12);
break;
}
}
OCR1A = c - 1; TCCR1A |= (1 << COM1A0);
TCCR1A |= (1 << COM1B0);
}
}

Подскажите пожалуйста, что не так в атмеге 168, я сообразить не могу. Почему меняя значение "а" не меняется частота, пусть бы менялась но не соответствовала, так нет, висит одна и та же постоянно, какое бы значение не присвоил.

Re: Atmega168 не могу понять почему не работает на ней прогр

Добавлено: Сб дек 27, 2025 12:24:04
Adrift
Почему в примере для mega168 подключается хедер от tiny2313? И break непонятный в цикле...

ps. Научитель нормально форматировать код, чтобы у кого-то вообще было желание его проверять. Это первое, а во-вторых, сейчас гораздо проще скинуть ваш пост целиком какому-нибудь копилоту и сразу получить ответ, а на форум идти уже в запущенных случаях )

Re: Atmega168 не могу понять почему не работает на ней прогр

Добавлено: Сб дек 27, 2025 12:38:20
OKF
[uquote="Adrift",url="/forum/viewtopic.php?p=4775476#p4775476"]Почему...[/uquote]
Потому что руки с головой не дружат. Посмотрел хотя бы как код вставлять для начала.

Re: Atmega168 не могу понять почему не работает на ней прогр

Добавлено: Сб дек 27, 2025 12:51:10
BOB51
Дык... Названия и расположение регистров могут "чуток отличаться"...
На то даташит и соответствующий файлик описания в лапки.
8)

Re: Atmega168 не могу понять почему не работает на ней прогр

Добавлено: Сб дек 27, 2025 14:11:57
Alex_ka
Я же написал, что на одних контроллерах работает на другом 168 нет и указал, что в этой программе меняю на TCCR0 или OCR0 или 2 для 168. выход есть, но частота не меняется. А это как пример с контроллера на котором все работает. Я смотрю, некоторые здесь лишь человека в говно макнуть и показаться самым умным вместо того, чтобы помочь самоучке. Так я бы посмотрел, как вы могёте сделать без схемы ремонт блоков управления автомобилей и задефектовать и откапиталить двигатель машины своими руками, или у некоторых тоже руки с головой не дружат?

Re: Atmega168 не могу понять почему не работает на ней прогр

Добавлено: Сб дек 27, 2025 14:39:17
OKF
А макнуть потому что не соизволишь код нормально вставить и внятно описать проблему. Код один, неработает другой... Или приятно с твоим говном разбираться?
Ремонтируешь машины - молодец! Ну так и здесь делай не тяп ляп, если хочешь помощи.

Re: Atmega168 не могу понять почему не работает на ней прогр

Добавлено: Сб дек 27, 2025 15:06:10
BOB51
Ремонт электроники без схем или с частичным их отсутствием - это НОРМА для радиолюбителя.
Навыки "восстановления/днешифровки схем по монтажу/печатной плате" ...
8)
Просто надо понимание иметь о том, что у каждого МК могут быть отличия о коих только прочтение даташитам понимание даёт. Тинька 2313 это одно, мега 8 другое, а мега 48, 88, 168, 328 третье. Да и буковки в конце могут сильное различие нежданчиком подкинуть.. Без буковки или с буковакми (A, P, PB и...)
К примеру атмега328 и атмега328PB...
:wink:

Re: Atmega168 не могу понять почему не работает на ней прогр

Добавлено: Сб дек 27, 2025 15:30:17
Alex_ka
[uquote="OKF",url="/forum/viewtopic.php?p=4775523#p4775523"]А макнуть потому что не соизволишь код нормально вставить и внятно описать проблему. Код один, неработает другой... Или приятно с твоим говном разбираться?
Ремонтируешь машины - молодец! Ну так и здесь делай не тяп ляп, если хочешь помощи.[/uquote]Тебя никто не заставляет разбираться. Не видишь это сразу взял и промолчал. Если мне, на автофорумах задают вопрос как проверить и найти, что неисправно механика или электроника, то я как говорят размажу до соплей, чтобы человек с малым уровнем знаний смог понять и проверить. Чувствуешь разницу между моим подходом к людям и своим?Я смотрю тебе сложно представить OCR0 и TCCR0 вместо TCCR1 и OCR1

Re: Atmega168 не могу понять почему не работает на ней прогр

Добавлено: Сб дек 27, 2025 17:31:07
OKF
[uquote="Alex_ka",url="/forum/viewtopic.php?p=4775539#p4775539"]Я смотрю тебе сложно представить OCR0 и TCCR0 вместо TCCR1 и OCR1[/uquote]
Так это ж у тебя проблема. Вот и выложи всё на блюдечке, что бы людям не фантазировать что там у тебя в голове и что ты имел ввиду. А то ты помощи просишь, а при этом ещё и в позу становишься.

Re: Atmega168 не могу понять почему не работает на ней прогр

Добавлено: Вс дек 28, 2025 18:52:01
BOB51
[uquote="Alex_ka",url="/forum/viewtopic.php?p=4775539#p4775539"]...Тебя никто не заставляет разбираться. Не видишь это сразу взял и промолчал. Если мне, на автофорумах задают вопрос как проверить и найти, что неисправно механика или электроника, то я как говорят размажу до соплей, чтобы человек с малым уровнем знаний смог понять и проверить. Чувствуешь разницу между моим подходом к людям и своим?Я смотрю тебе сложно представить OCR0 и TCCR0 вместо TCCR1 и OCR1[/uquote]
Плохо тут сходу и "перья дыбом"....
К Вашему же примеру с машинами_
У всех машинок есть движок, рулевое, трансмиссия , колеса и тормоза...
Но не факт, что они одинаково устроены, хотя называются одинаково и одинаковые фукнкции выполняют
вроде "мотор" и есть "мотор", "тормоз" и есть "тормоз" ... что там разные конструкции/дополнительные отличия "в мелочах" и принципах работы - то уже надо читатки соответствующие книжки...
И наверняка сначала слишком резвому начинающему дадут подобные подсказки, что выше сразу указаны были.
:wink: