Na redelijk wat ervaring opgedaan te hebben met 8bit microcontrollers ben ik nu bezig met een Stellaris Launchpad. Uiteraard heb ik de uitleg op hun website inclusief de filmpjes doorgenomen maar ik loop nu al tegen een probleem aan.
Wat ik probeer te doen is simpelweg RC5 hoog te maken, dit doe ik door een aanpassing in het standaard led blink programma (project0 om precies te zijn). Het probleem is nu dat RC5 meeknipperd met de led, terwijl hij gewoon hoog zou moeten blijven. Met behulp van de debugger heb ik aangegeven welke regels hiervoor zorgen:
Ik begrijp hier niets van.
Wat ik probeer te doen is simpelweg RC5 hoog te maken, dit doe ik door een aanpassing in het standaard led blink programma (project0 om precies te zijn). Het probleem is nu dat RC5 meeknipperd met de led, terwijl hij gewoon hoog zou moeten blijven. Met behulp van de debugger heb ik aangegeven welke regels hiervoor zorgen:
code:
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
43
44
45
46
47
48
49
50
51
52
| #include "inc/hw_types.h" #include "inc/hw_memmap.h" #include "driverlib/sysctl.h" #include "driverlib/gpio.h" #define RED_LED GPIO_PIN_1 #define BLUE_LED GPIO_PIN_2 #define GREEN_LED GPIO_PIN_3 int main(void) { // // Setup the system clock to run at 50 Mhz from PLL with crystal reference // SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ| SYSCTL_OSC_MAIN); // // Enable and configure the GPIO port for the LED operation. // SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED|GPIO_PIN_4); // stel portc in SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); GPIOPadConfigSet(GPIO_PORTC_BASE, GPIO_PIN_5,GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD); GPIODirModeSet(GPIO_PORTC_BASE, GPIO_PIN_5, GPIO_DIR_MODE_OUT); while(1) { // maakt pc5 laag, wat ik niet verwachte GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED|GPIO_PIN_4, RED_LED|BLUE_LED|GREEN_LED|GPIO_PIN_4); // heeft geen invloed op pc5, terwijl ik verwacht dat hij hem hoog maakt GPIOPinWrite(GPIO_PORTC_BASE, GPIO_PIN_5, GPIO_PIN_5); SysCtlDelay(2000000); GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED, BLUE_LED); SysCtlDelay(2000000); // pc5 wordt hoog door deze regel, ook niet verwacht GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED, GREEN_LED); SysCtlDelay(2000000); } } |
Ik begrijp hier niets van.