|Version 5 (modified by 14 years ago) ( diff ),|
Programming Neo FreeRunner LEDs
Neo FreeRunner has three LED indicators:
|orange||behind power button||GPB0|
|blue||behind power button||GPB1|
|red||behind aux button||GPB2|
Combination of orange and blue behind the power button should give purple.
Port B Control Registers
GPB has 11 pins (GPB0 through GPB11 inclusive).
- GPBCON: Two configuration bits per pin (GPBCON[1:0] for GPB0, GPBCON[3:2] for GPB1, etc.), 00 = Input, 01 = Output, 10 = XXX, 11 = reserved. XXX refers to internal signals, different for each pin.
- GPBDAT[10:0]: Write GPB10..GPB0 in output mode and read GPB10..GPB0 in input mode.
- GPBDN[10:0]: 0 = pull-down enabled, 1 = pull-down disabled in GPB10..GPB0.
For blinking LEDs, we select output mode (0b01) for GPB0..GPB2. Pull-down should be disabled. Then write to GPBDAT[0:2]. To turn the LED on, the pin must be driven high, to turn it off it must be driven low.
- Samsung S3C2442B Processor Datasheet Port B Control Registers, Page 9-10.
- Neo FreeRunner Schematics MCU, sheet 3.
- Not verified
- From the documentation I've seen it is not clear whether the registers are sensitive to endianness and if so, what their endianness is.
- Could not find in datasheet whether H drive is coded as 1 or 0 (probably 1?)