Class Module for EA DOGS102 Graphic LCD display SPI Interface
Dependents: mDotEVBM2X MTDOT-EVB-LinkCheck-AL MTDOT-EVBDemo-DRH MTDOT_BOX_EVB_LCD_Helloworld ... more
Diff: DOGS102.cpp
- Revision:
- 4:8797ad72a9a8
- Parent:
- 1:3b02b7fb79c9
- Child:
- 5:e66152f036d9
--- a/DOGS102.cpp Tue Nov 10 15:45:53 2015 -0600
+++ b/DOGS102.cpp Mon Dec 21 10:48:01 2015 -0600
@@ -175,8 +175,10 @@
{
uint8_t result = 0;
+ __disable_irq();
_spi->frequency(4000000);
_spi->format(8,3); // 8bit transfers, SPI mode 3
+ __enable_irq();
_lcd_cs->write(1); // initialize chip select pin
_cmnd_data->write(1); // initialize command/data pin
_update_flag = 0; // initialize update semaphore
@@ -282,8 +284,10 @@
if (result == 0)
{
+ __disable_irq();
_spi->frequency(4000000);
_spi->format(8,3); // 8bit transfers, SPI mode 3
+ __enable_irq();
_lcd_cs->write (0); // enable LCD SPI interface
_cmnd_data->write(0); // set to command mode
@@ -292,11 +296,15 @@
{
case SETELECVOL :
case SETAPROGCTRL :
+ __disable_irq();
_spi->write(reg);
+ __enable_irq();
break;
}
+ __disable_irq();
_spi->write(buf); // send command register
+ __enable_irq();
_cmnd_data->write(1); // set back to data mode
_lcd_cs->write(1); // disable LCD SPI Interface
@@ -316,15 +324,19 @@
uint8_t result = 0;
uint8_t i;
+ __disable_irq();
_spi->frequency(4000000);
_spi->format(8,3); // 8bit transfers, SPI mode 3
+ __enable_irq();
_lcd_cs->write(0); // enable LCD SPI interface
i = 0; // initialize transfer counter
do
{
+ __disable_irq();
_spi->write(data[i]);
+ __enable_irq();
i++;
} while ((result == 0) && (i <= count)) ;