Version 4 (modified by Jiri Svoboda, 15 years ago) ( diff )

Note on endianness

Programming Neo FreeRunner LEDs

Neo FreeRunner has three LED indicators:

Color Location IO Port/pin
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

Register Address Description Reset value
GPBCON 0x56000010 Pin configuration 0x0
GPBDAT 0x56000014 Data in/out undefined
GPBDN 0x56000018 Pull-down disable 0x0

GPB has 11 pins (GPB0 through GPB11 inclusive).

Register descriptions:

  • 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]: Obvious, 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].



  • 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.
Note: See TracWiki for help on using the wiki.