Hallo,
Ich probiere gerade am SAMD21 Xplained herum und wollte die LED toggeln,
wenn auf den Button gedrückt wird. Sicher übersehe ich etwas ..
Der Button hängt am PA15 und ist active low. Wenn ich am button messe,
sehe ich das schonmal der Pull-Up gesetzt wurde, wenn ich den Button
betätige liegt low an.
1 | #include <samd21.h>
|
2 |
|
3 | typedef uint8_t ui8;
|
4 | typedef uint32_t ui32;
|
5 |
|
6 | // USER LED: PB30; low-active
|
7 | // USER BTN: PA15; low-active
|
8 |
|
9 | static void delay(int n)
|
10 | {
|
11 | int i;
|
12 |
|
13 | for (;n >0; n--)
|
14 | {
|
15 | for (i=0;i<100;i++)
|
16 | __asm("nop");
|
17 | }
|
18 | }
|
19 |
|
20 |
|
21 | int main(void)
|
22 | {
|
23 | REG_PORT_DIR1 |= (1<<30);
|
24 |
|
25 | REG_PORT_DIR0 ^= (1<<15);
|
26 | REG_PORT_OUT0 |= (1<<15);
|
27 |
|
28 | while (1)
|
29 | {
|
30 | if(REG_PORT_IN0 & 1<<15)
|
31 | REG_PORT_OUT1 |= (1<<30);
|
32 | else
|
33 | REG_PORT_OUT1 &= ~(1<<30);
|
34 | }
|