you should watch this video => https://www.youtube.com/watch?v=wui_wU1AeQc
Enjoy,


On Wed, Feb 12, 2014 at 1:14 PM, matt <[email protected]> wrote:

> Hi,
>
> I got a BBB.
>
> I connected a LED to its GPIO1_16 pin, which I tried to turn on and off
> using the GPIO configuration in the code below.
>
> For some reason the LED does not turn ON.
>
> When I use the same GPIO pin, but using the Virtual File System code to
> turn on the LED, it works.
>
> Therefore I guess i'm missing something with the below code.
>
> Do you spot any problem?
>
> Thanks a lot.
>
> #define GPIO1_BASE      0x4804C000 // Start Address
> #define GPIO1_END 0x4804D000 // End Address
> #define GPIO1_SIZE GPIO_END - GPIO_BASE
> #define GPIO_OE         0x0134 // Offset
> #define GPIO_DATAOUT    0x013C // Offset
> #define GPIO1_16        16
>
>
> int main(int argc, char** argv)
> {
>  volatile unsigned int *reg_base, *reg_oe, *reg_out;
>  unsigned int value;
>  int fd;
>
>
>  //open mem file for Read and Write
>  fd = open("/dev/mem", O_RDWR);
>  if (fd == -1)
>  {
>  perror("Unable to open /dev/mem");
>  exit(EXIT_FAILURE);
>  }
>
>
>  /* LED Setup and Turn-on */
>  reg_base = mmap(0, GPIO1_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, 
> fd,GPIO_BASE
> );
>
>  //Set GPIO to Output
>  reg_oe = (volatile unsigned int*)(reg_base + GPIO_OE);
>  value = *(reg_oe);
>  value &= ~(1 << GPIO1_16);
>  *(reg_oe) = value;
>
>
>  //turn on GPIO
>  reg_out = (volatile unsigned int*)(GPIO1_16 + GPIO_DATAOUT);
>  value = *(reg_out);
>  value |= (1 << GPIO1_16);
>  *(reg_out) = value;
>
>
>  return 0;
> }
>
>  --
> For more options, visit http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to the Google Groups
> "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to