LGT8F328P настройка ШИМ на PD2/INT0/OC3B
- Войдите на сайт для отправки комментариев
Ср, 08/06/2022 - 16:58
Здравствуйте!
Не могу понять почему ШИМ не запускается.
#include <EEPROM.h> #include <GRGB.h> #define B_Kanal D5 #define R_Kanal D2 //D2 F2 #define G_Kanal D6 GRGB led(COMMON_CATHODE, R_Kanal, G_Kanal, B_Kanal); void setup() { HDR |= 1 << 0; // Enable high current D5 HDR |= 1 << 1; // Enable high current D6 //HDR |= 1 << 3; // Enable high current F2/D2 pinMode(R_Kanal, OUTPUT); pinMode(G_Kanal, OUTPUT); pinMode(B_Kanal, OUTPUT); digitalWrite(R_Kanal, LOW); digitalWrite(G_Kanal, LOW); digitalWrite(B_Kanal, LOW); digitalWrite(R_Kanal, HIGH); digitalWrite(G_Kanal, LOW); digitalWrite(B_Kanal, LOW); delay(1000); digitalWrite(R_Kanal, LOW); digitalWrite(G_Kanal, HIGH); digitalWrite(B_Kanal, LOW); delay(1000); digitalWrite(R_Kanal, LOW); digitalWrite(G_Kanal, LOW); digitalWrite(B_Kanal, HIGH); delay(1000); digitalWrite(R_Kanal, LOW); digitalWrite(G_Kanal, LOW); digitalWrite(B_Kanal, LOW); } void SHIMWrite(byte val) { TCCR3A |= (1 << COM3A1); TCCR3A |= (1 << COM3B1); TCCR3A |= (1 << WGM30); TCCR3B |= (1 << WGM32); TCCR3B |= (1 << CS30); OCR3BH = 0; OCR3BL = val; } void loop() { SHIMWrite(100); delay(1000); }
Такое чувство, что что-то я не активировал… связь между таймером и тактовым генератором или питание таймера или ещё чего. https://disk.yandex.ru/i/F-669sUXm0UfMQ
Раньше для PIC писал, там примеры прям в документации, для STM есть программа конфигуратор периферии, а тут не знаю даже куда копать.
http://arduino.ru/forum/apparatnye-voprosy/obzor-klona-megi328-lgt8f328p
Немного разобрался, "GRGB led" мешал.
Но таймер так и не удалось перевести в режим PWM. Только CTC работает.
D2 не реагирует никак, а вот на TX есть сигнал, частота которого зависит от val, но ШИМ - скважность надо менять, а не частоту. В общем пока не получается.
15.2.3. Быстрый режим PWM
Когда установлено WGM3[3:0] = 5,6,7,14 или 15, счетчик/таймер 3 переходит
в быстрый режим ШИМ, то счетом максимального значения TOP являются 0xFF, 0x1FF, 0x3FF, ICR3 или OCR3A, он может быть использован для получения Высокочастотный ШИМ-сигнал. Разница между быстрым режимом PWM и другими режимами PWM заключается в том, что это односторонняя операция.
Разобрались!
Кто подскажет как LGT8F328 с кварцем на 16 мГц перевести в режим работы на 32 мГц.