diff --git a/ard/pins.c b/ard/pins.c index a066cfb..d09dba5 100644 --- a/ard/pins.c +++ b/ard/pins.c @@ -136,13 +136,13 @@ unsigned int analog_read(unsigned char pin){ return ADC; } -// TODO: write PWM to digital pins which allow it +// TODO support more than pin 6! void analog_write(unsigned char pin, unsigned char value){ if(pin != 3 && pin != 5 && pin != 6 && pin != 9 && pin != 10 && pin != 11){ return; } - // TODO maybe set pin mode? + pin_mode(pin, OUTPUT); // clear timer on compare match TCCR0A |= _BV(COM0A1)|_BV(WGM01)|_BV(WGM00); @@ -171,5 +171,5 @@ ISR(ADC_vect){ // fast PWM overflow interrupt handler ISR(TIMER0_OVF_vect){ - + // required but not used... } diff --git a/main.c b/main.c index bfe5944..8556382 100644 --- a/main.c +++ b/main.c @@ -33,7 +33,6 @@ void prepare(){ // PWM example pin_mode(A1, INPUT); - pin_mode(6, OUTPUT); } unsigned char pwm = 0; @@ -56,6 +55,7 @@ void loop(){ // PWM example int analog = map(analog_read(A1), 0, 1023, 0, 255); + analog_write(3, analog); analog_write(6, analog); char out[15];