Advertisement
Guest User

Untitled

a guest
Aug 15th, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.31 KB | None | 0 0
  1. #include "pinFunc.h"
  2.  
  3. void setPinDigOut( const uint8_t portNum, const uint8_t pinNum )
  4. {
  5.     Chip_IOCON_PinMuxSet( LPC_IOCON, portNum, pinNum, (IOCON_DIGITAL_EN | IOCON_FUNC0 | IOCON_GPIO_MODE));
  6.     Chip_GPIO_SetPinDIROutput( LPC_GPIO, portNum, pinNum );
  7. }
  8.  
  9. void setPinDigitalIn( const uint8_t portNum, const uint8_t pinNum )
  10. {
  11.     Chip_IOCON_PinMuxSet( LPC_IOCON, portNum, pinNum, (IOCON_DIGITAL_EN | IOCON_FUNC0 | IOCON_GPIO_MODE)); 
  12.     Chip_GPIO_SetPinDIRInput( LPC_GPIO, portNum, pinNum );
  13. }
  14.  
  15. void digitalWrite( const uint8_t portNum, const uint8_t pinNum, const bool writeValue )
  16. {
  17.     Chip_GPIO_SetPinState( LPC_GPIO, portNum, pinNum, writeValue );
  18. }
  19.  
  20. bool digitalRead( const uint8_t portNum, const uint8_t pinNum )
  21. {
  22.     bool rv = Chip_GPIO_GetPinState( LPC_GPIO, portNum, pinNum );
  23.     return rv;
  24. }
  25.  
  26. void initBoard()
  27. {
  28.     //  INMUX and IOCON are used by many apps, enable both INMUX and IOCON clock bits here.
  29.     Chip_Clock_EnablePeriphClock( SYSCON_CLOCK_INPUTMUX );
  30.     Chip_Clock_EnablePeriphClock( SYSCON_CLOCK_IOCON );
  31.  
  32.     //  Sets up DEBUG UART
  33.     DEBUGINIT();
  34.  
  35.     //  Initialize GPIO pins
  36.     Chip_GPIO_Init( LPC_GPIO );
  37.  
  38.     //  Pin muxing for tri-state LED (acitve LOW)
  39.     for (int pinNum = 29; pinNum < 32; pinNum++)
  40.     {
  41.         Chip_GPIO_SetPinDIROutput(LPC_GPIO, 0, pinNum);
  42.         Chip_GPIO_SetPinState(LPC_GPIO, 0, pinNum, true);
  43.     }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement