background image

chipKIT™ Basic I/O Shield™ Reference Manual 

 

 

Copyright Digilent, Inc. All rights reserved. 

Other product and company names mentioned may be trademarks of their respective owners.

 

Page 

9

 of 

13

 

 

Appendix B: Example Driver Code 

The following gives an example of code that initializes the display controller and writes the contents of a memory 

buffer into the display. This example is written for the chipKIT Uno32 board. 

 

Symbol and Variable Declarations 

/* ------------------------------------------------------------ */ 
/* Pin definitions for access to OLED control signals on chipKIT Uno32 
*/ 
 
#define 

prtVddCtrl 

IOPORT_F 

#define 

prtVbatCtrl 

IOPORT_F 

#define 

prtDataCmd 

IOPORT_F 

#define 

prtReset   

IOPORT_G 

#define 

bitVddCtrl 

BIT_6 

#define 

bitVbatCtrl 

BIT_5 

#define 

bitDataCmd 

BIT_4 

#define 

bitReset   

BIT_9 

 
/* ------------------------------------------------------------ */ 
/* Symbols describing the geometry of the display. 
 
#define 

cbOledDispMax  512   

//max number of bytes in display buffer 

 
#define 

ccolOledMax 

 

128  //number of display columns 

#define 

crowOledMax 

 

32 

//number of display rows 

#define 

cpagOledMax 

 

//number of display memory pages 

 
/* ------------------------------------------------------------ */ 
 
/* This array is the off-screen frame buffer used for rendering. 
** It isn't possible to read back from the OLED display device, 
** so display data is rendered into this off-screen buffer and then 
** copied to the display. 
*/ 
BYTE rgbOledBmp[cbOledDispMax]; 
 

 

PIC32 Hardware Initialization 

The following function initializes the PIC32 hardware for talking to the display. It initializes the SPI controller and 

sets the control pins to be outputs. 

 

/* ------------------------------------------------------------ */ 
/*** OledHostInit 
** 
** 

Parameters: 

** 

 

none 

** 
** 

Return Value: 

** 

 

none 

** 
** 

Errors: 

** 

 

none 

** 
** 

Description: 

** 

 

Perform PIC32 device initialization to prepare for use 

** 

 

of the OLED display. 

** 

 

This example is hard coded for the chipKIT Uno32 and 

** 

 

SPI2. 

*/ 

Содержание chipKIT Basic I/O Shield

Страница 1: ...I O Shield provides a range of input output devices for both beginners and advanced users It provides simple digital input devices such as switches and buttons and digital output devices such as discr...

Страница 2: ...be accessed using the digitalRead function 2 Slide Switches Four slide switches provide discrete digital inputs These can be accessed using the digitalRead function 3 J2 Shield Power Connector This co...

Страница 3: ...enables the resistors Removing the shorting blocks disables the resistors 8 J11 I 2 C Daisy Chain Connector This is a 2x4 pin header connector that provides access to the I 2 C signals SDA and SCL as...

Страница 4: ...en The pin is made an output and driven low to turn on the power supply Power on sequence 1 Apply power to VDD 2 Send Display Off command 3 Initialize display to desired operating mode 4 Clear screen...

Страница 5: ...W3 pin 8 and SW4 pin 35 The digitalRead function will return low when the switch is down toward the pushbuttons and high when the switch is up toward the OLED display LEDs There are eight LEDs labeled...

Страница 6: ...ent rating of the shield s power supply whichever is less 2 4 I2 C Bus The I 2 C bus from the chipKIT microcontroller board is brought onto the Basic I O Shield There are two I 2 C devices on the boar...

Страница 7: ...0 Digilent has a library for using the temperature sensor It is contained in document DSD 0000311 chipKIT IOShield Library zip which can be downloaded from the Basic I O Shield product page at www dig...

Страница 8: ...40 84 VBAT_EN OLED VBAT enable 38 82 VDD_EN OLED VDD enable 33 77 LD1 User LED 32 76 LD2 User LED 31 75 LD3 User LED 30 74 LD4 User LED 29 73 LD5 User LED 28 72 LD6 User LED 27 71 LD7 User LED 26 70...

Страница 9: ...itReset BIT_9 Symbols describing the geometry of the display define cbOledDispMax 512 max number of bytes in display buffer define ccolOledMax 128 number of display columns define crowOledMax 32 numbe...

Страница 10: ...nsDigitalOut prtVbatCtrl bitVbatCtrl VBAT power control 1 off Make the RG9 pin be an output On the Basic I O Shield this pin is tied to reset PORTSetBits prtReset bitReset PORTSetPinsDigitalOut prtRes...

Страница 11: ...he commands to select sequential COM configuration This makes the display memory non interleaved Spi2PutByte 0xDA set COM configuration command Spi2PutByte 0x20 sequential COM left right remap enabled...

Страница 12: ...the page address Spi2PutByte 0x22 Set page command Spi2PutByte ipag page number Start at the left column Spi2PutByte 0x00 set low nybble of column Spi2PutByte 0x10 set high nybble of column PORTSetBit...

Страница 13: ...le SPI2STATbits SPITBE 0 Write the next transmit byte SPI2BUF rgbTx Wait for receive byte while SPI2STATbits SPIRBF 0 bTmp SPI2BUF Spi2PutByte Parameters bVal byte value to write Return Value Returns...

Страница 14: ...Mouser Electronics Authorized Distributor Click to View Pricing Inventory Delivery Lifecycle Information Digilent 410 216P KIT 410 216...

Отзывы: