Hallo Leute, ich habe im Internet von einem anderen Programmierer einen wirklich tollen LED Fade gefunden (http://forum.43oh.com/topic/3023-post-your-led-fader-code/ von oPOssum). Da das ganze am Ende mit drei LEDs laufen soll, wollte ich es erst einmal versuchen auf die grüne LED am LaunchPad zu erweitern. Ich habe viel mit dem Code herumgespielt und versucht ihn zu verstehen und die LED genauso zum faden zu bringen, leider klappt's nicht... Kann mir jemand sagen, womit ich mich da genauer auseinander setzen muss, um dies zu erreichen? Die untere Funktion ist dabei natürlich aussen vor ;) Vielen Dank! Code:
1 | #include <msp430.h> |
2 | #include <stdint.h> |
3 | |
4 | void main(void) |
5 | {
|
6 | WDTCTL = WDTPW | WDTHOLD; |
7 | DCOCTL = 0; BCSCTL1 = CALBC1_16MHZ; DCOCTL = CALDCO_16MHZ; |
8 | P1DIR = P1SEL = BIT6; |
9 | TACCTL1 = OUTMOD_7; TACTL = TASSEL_2 | MC_2 | TAIE; |
10 | _EINT(); |
11 | }
|
12 | #pragma vector = TIMER0_A1_VECTOR
|
13 | __interrupt void timer_a1_isr(void) |
14 | {
|
15 | static uint32_t x = 0x00100000L; |
16 | static unsigned d = 1; |
17 | TACCR1 = x >> 16; |
18 | volatile unsigned z = TAIV; |
19 | if(d) { |
20 | x += (x >> 7); if(x > 0xF8000000L) d = 0; |
21 | } else { |
22 | x -= (x >> 7); if(x < 0x00200000L) d = 1; |
23 | }
|
24 | }
|