-diese Library implementiert bis zu 4 unabhängige PWM-Ausgänge mit den internen 8bit Timern der CPU.
Funktionen :
1 2 | void MK3_INIT_PWM(PWMPORT port,PWMTYP typ); // zum initialisieren void MK3_PWM_SET(PWMPORT port, unsigned char wert); // PWM-Wert setzen |
Beispiel :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | //----------------------------------------------------------------------------- // Title : bsp_ub047_mk3_pwm //----------------------------------------------------------------------------- // Funktion : PWM Test // Schaltung : myAVR MK3 //----------------------------------------------------------------------------- // Prozessor : ATMega2560 // Takt : 16 MHz // Sprache : C // Date : 01.06.2012 // Version : 1.0 // Autor : UB //----------------------------------------------------------------------------- #define F_CPU 16000000 #include <avr/io.h> #include <ub_mk3_2560/MK3_2560_PWM.h> #include <UB_MK3_2560/MK3_2560_ADC.h> //----------------------------------------------------------------------------- // Hinweis : // - eine LED muss an Port-B7 angeschlossen sein // - Poti muss an Port-F0 angeschlossen sein // - benutzt PWM Funktion um die Helligkeit einer LED zu steuern //----------------------------------------------------------------------------- int main (void) { unsigned int ad_wert=0; MK3_INIT_ADC(); // Init vom AD-Wandler // PWM Nr. 1 aktivieren (Port-B7) MK3_INIT_PWM(PWM_1,PWM_LO); while (true) { // AD-Wert messen ad_wert=MK3_ADC_READ_CH(ADC0); // als PWM-Wert setzen MK3_PWM_SET(PWM_1,ad_wert/4); } return 0; } |
Hier die Library zum download :