Страница 1 из 1
генератор на 1мгц (помогите упаковать в блок)
Добавлено: 16 мар 2025, 15:11
fefar51702
Код: Выделить всё
void setup() {
// Настройка таймера 1 для генерации сигнала 1 МГц
pinMode(9, OUTPUT); // Устанавливаем вывод 9 как выход
// Сбрасываем настройки таймера 1
TCCR1A = 0;
TCCR1B = 0;
// Устанавливаем режим CTC (Clear Timer on Compare Match)
TCCR1B |= (1 << WGM12);
// Устанавливаем предделитель на 1 (без деления частоты)
TCCR1B |= (1 << CS10);
// Устанавливаем значение для сравнения (OCR1A)
// Частота тактирования Arduino Uno 16 МГц
// Для генерации 1 МГц: OCR1A = (16,000,000 / (2 * 1,000,000)) - 1 = 7
OCR1A = 7;
// Включаем режим сравнения для вывода OC1A (вывод 9)
TCCR1A |= (1 << COM1A0);
}
void loop() {
// Основной цикл пустой, так как таймер работает в фоновом режиме
}
код рабочий проверил немного врёт на 2-4 нс но пойдёт
Re: генератор на 1мгц (помогите упаковать в блок)
Добавлено: 16 мар 2025, 15:39
dstrufanov
Сообщение удалено
Re: генератор на 1мгц (помогите упаковать в блок)
Добавлено: 16 мар 2025, 16:56
Aleks21
fefar51702 писал(а): 16 мар 2025, 15:11
код рабочий проверил немного врёт на 2-4 нс но пойдёт
Re: генератор на 1мгц (помогите упаковать в блок)
Добавлено: 16 мар 2025, 17:27
ecoins
Aleks21 писал(а): 16 мар 2025, 16:56
fefar51702 писал(а): 16 мар 2025, 15:11
код рабочий проверил немного врёт на 2-4 нс но пойдёт
Проверил на Nano - удивился, все работает как Вы написали. На 16мГц.
Неожиданный подход к реализации автономного генератора.
Вы просто молодец.
Успехов.
С уважением, ecoins.
Re: генератор на 1мгц (помогите упаковать в блок)
Добавлено: 17 мар 2025, 08:47
dstrufanov
Сообщение удалено
Re: генератор на 1мгц (помогите упаковать в блок)
Добавлено: 17 мар 2025, 09:09
fefar51702
ecoins нет это ии молодец я мало что понял из его обьяснения кода даже
Aleks21 вон значит как а я всё пытался приделать ему пин на выход
Re: генератор на 1мгц (помогите упаковать в блок)
Добавлено: 17 мар 2025, 09:16
dstrufanov
Сообщение удалено