pwm_au_choix
PWM sur n'importe quel pin
Permet de générer une PWM en choisissant le pin de sortie de sorte à contourner les sorties dédiées.
ISR(TIMER2_OVF_vect) { // Routine d'interruption de dépassement (Overflow) PORTB |= (1 << PB5); } ISR(TIMER2_COMPA_vect) { // Routine d'interruption de comparaison A PORTB &= ~(1 << PB5); } void setup() { DDRB |= (1 << DDB5); // Met le port B5 en sortie TCCR2A = 0; TCCR2B = 0; TCCR2B |= (1 << CS21) | (1 << CS20); // Prescaler /32 TIMSK2 |= (1 << OCIE2A); // Activation de l'interruption de comparaison A TIMSK2 |= (1 << TOIE2); // Activation de l'interruption de dépassement (Overflow) sei(); } void loop() { for (uint8_t i = 0; i < 255; i++) { _delay_ms(3); OCR2A = i; } for (uint8_t i = 254; i > 0; i--) { _delay_ms(3); OCR2A = i; } }
pwm_au_choix.txt · Dernière modification : 2022/07/28 05:38 de Mushussu