Questions? Call us: +1 760-918-6722

INT035TFT AC Timing Characteristics

I bought INT035TFT for test and study. I try to control INT035TFT by PIC32MX795F512L. I need below data of INT035TFT.
1. DCLK [MHz] ?
2. Hsync and Vsync Period [Hz] ?
3. Hsync and Vsync Pulse Width [DCLK] ?
4. Hsync and Vsync Buck Porch [DCLK] ?
5. Hsync and Vsync Display Period [DCLK] ?
6. Hsync and Vsync Front Porch [DCLK] ?
7. VIDEO BUFFER MEMORY CLOCK [MHz] ?
Any advice make me pleased.

Replies

dtechsupport's picture
dtechsupport
December 8, 2012

If you are using the INT035TFT, you will not need any of those signals. The only signals running to the INT board are 16-bit parallel signals.
Are you referring to the DT035TFT module instead?

Guest's picture
Guest
December 8, 2012

I am referring to Only INT035TFT of SSD1963. I show the picture of my test board and circuit attached.I bought INT035TFT from on line of RS Components Ltd(Japan),below.
http://jp.rs-online.com/web/p/lcd-colour-displays/7502572/
I have been trying to control INT035TFT by PIC32MX795F512L of MicrochipTechnology.Ltd.by using the Graphic Library of Microchip a and the Driver of Techtoy Ltd.,below. Microhip offers only SSD1926 Driver. Techtoy,third party,offer SSD1963 Driver.They need DCLK ,Hsync and Vsync Period and Vsync Buck Porch etc ,below.
http://www.techtoys.com.hk/Displays/Solomon%20SSD1963%20EVK%20R4_1/SSD1963%20EVK%20Ultima%20R4_1.htm
I have been trying to control INT035TFT by using 8080 16bit parallel interface ,namely DATA00-DATA15 and CS,RS,RD,WR,RESET. Could you show me the sample code ? So I think I can control INT035TFT well.

//-------------------------------------------------------------------------------------------------
........
........
// -----------------------------------
// For RGB GLASS
// -----------------------------------
#if defined (USE_TY430TFT480272)
/*
*********************************************************************
* TIMING PARAMETERS FOR 4.3" TFT PANEL (480x272):
* PART# TY430TFT480272
*********************************************************************
*/
/*********************************************************************
* Overview: Horizontal and vertical display resolution
* (from the glass datasheet).
*********************************************************************/
#define DISP_HOR_RESOLUTION 480
#define DISP_VER_RESOLUTION 272
/*********************************************************************
* Overview: Image orientation (can be 0, 90, 180, 270 degrees).
*********************************************************************/
#define DISP_ORIENTATION 0
/*********************************************************************
* Overview: Panel Data Width
*********************************************************************/
#define DISP_DATA_WIDTH 24
/*********************************************************************
* Overview: LSHIFT Polarity Swap
* If defined LSHIFT is a falling trigger
*********************************************************************/
//#define DISP_INV_LSHIFT
/*********************************************************************
* Overview: Horizontal synchronization timing in pixels
* (from the glass datasheet).
*********************************************************************/
#define DISP_HOR_PULSE_WIDTH 41
#define DISP_HOR_BACK_PORCH 2
#define DISP_HOR_FRONT_PORCH 2
/*********************************************************************
* Overview: Vertical synchronization timing in lines
* (from the glass datasheet).
*********************************************************************/
#define DISP_VER_PULSE_WIDTH 10
#define DISP_VER_BACK_PORCH 2
#define DISP_VER_FRONT_PORCH 2
/*********************************************************************
* Definition for SPI interface for SSD1963
* Hardware dependent!
*********************************************************************/
#define GPIO3 3
#define GPIO2 2
#define GPIO1 1
#define GPIO0 0
#define LCD_RESET (1< #define LCD_SPENA 0
#define LCD_SPCLK 0
#define LCD_SPDAT 0
/* End of definition for TY430TFT480272 */
#elif defined (USE_TY500TFT800480)
/*
*********************************************************************
* TIMING PARAMETERS FOR 5" TFT PANEL (800x480):
* PART# TY500TFT800480
*********************************************************************
*/
........
........

Attachment: 
dtechsupport's picture
dtechsupport
December 10, 2012

The INT035TFT uses an on-board ATMEL chip to automatically initialize both the TFT's chip-on-glass driver as well as the SSD1963 at power-up, so there is no need to set any of the VSYNC, HSYNC, etc values. I've attached a driver file for the SSD1963 that I use with the Microchip Graphics Library. This should fit easily with the graphics library, you will only need to replace your current driver file. Notice that the ResetDevice() does minimal initialization as the SSD1963 will already have been initialized for the 3.5" TFT by the ATMEL chip. You will want to set various macros in your HardwareProfile.h to define DisplaySetData(), DisplaySetCommand(), DisplayEnable() and DisplayDisable() to set your RS and CS lines. Your schematic looks great and should work perfectly. I hope that is helpful!

Guest's picture
Guest
December 10, 2012

Thank you very much indeed. I compiled primitive layer program of Microchip Graphic Demo program by using your SSD1963.h and SSD1963.c. Compiling have successed expect the codes below in SSD1963.c. I commented out this and made hex file. And I programed PIC32MX795F512L but INT035TFT showed nothing, namely black screen. The screen is black screen during programing also. The interface is 8080 16bit prallel and CS is RD10,RS is RC2,RD is PMRD,WR is PMWR,RESET is RC1. These connections are the same as Microchip Demo program of Explore 16. I have checked wire connection many times and I checked the signals of pins of board on which PIC is soldered and the signals of pins of INT035TFT board simultaneouly by digital oscilloscope.. All pair of 16 data signal and 5 control signals were the same. So I believe there no misconnection. And All 16 + 5 signals seems valid by digital oscilloscope.. And I have connected 38 pin of INT035TFT to +5V DC.
Any advice make me pleased

*/
if (GetAlpha() != 100) {
BarAlpha(left, top, right, bottom);
return 1;
}
*/
// bellow is All compiler error message
----------------------------------------------------------------------
Debug build of project `C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11\Primitives Layer Demo PIC32.mcp' started.
Language tool versions: pic32-as.exe v2.02, pic32-gcc.exe v2.02, pic32-ld.exe v2.02, pic32-ar.exe v2.02
Preprocessor symbol `__DEBUG' is defined.
Tue Dec 11 21:04:09 2012
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Deleted file "C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11\Objects - Graphics Primitives Layer Demo\MainDemo.o".
Clean: Deleted file "C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11\Objects - Graphics Primitives Layer Demo\GOLFontDefault.o".
Clean: Deleted file "C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11\Objects - Graphics Primitives Layer Demo\Palette.o".
Clean: Deleted file "C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11\Objects - Graphics Primitives Layer Demo\TimeDelay.o".
Clean: Deleted file "C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11\Objects - Graphics Primitives Layer Demo\gfxepmp.o".
Clean: Deleted file "C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11\Objects - Graphics Primitives Layer Demo\drvTFT001.o".
Clean: Deleted file "C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11\Objects - Graphics Primitives Layer Demo\cpld.o".
Clean: Deleted file "C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11\Objects - Graphics Primitives Layer Demo\mchpGfxLCC.o".
Clean: Deleted file "C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11\Objects - Graphics Primitives Layer Demo\InternalResourceXC32.o".
Clean: Deleted file "C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11\Objects - Graphics Primitives Layer Demo\Primitive.o".
Clean: Deleted file "C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11\Objects - Graphics Primitives Layer Demo\SSD1963.o".
Clean: Deleted file "C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11\Primitives Layer Demo PIC32.elf".
Clean: Deleted file "C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11\Primitives Layer Demo PIC32.hex".
Clean: Done.
Executing: "C:\Program Files\Microchip\MPLAB C32 Suite\bin\pic32-gcc.exe" -mprocessor=32MX795F512L -x c -c "MainDemo.c" -o"Objects - Graphics Primitives Layer Demo\MainDemo.o" -MMD -MF"Objects - Graphics Primitives Layer Demo\MainDemo.d" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include\Graphics" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include" -I"..\..\Board Support Package" -I"." -I"..\..\Microchip\Include" -D__DEBUG -g
Executing: "C:\Program Files\Microchip\MPLAB C32 Suite\bin\pic32-gcc.exe" -mprocessor=32MX795F512L -x c -c "..\..\Microchip\Graphics\GOLFontDefault.c" -o"Objects - Graphics Primitives Layer Demo\GOLFontDefault.o" -MMD -MF"Objects - Graphics Primitives Layer Demo\GOLFontDefault.d" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include\Graphics" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include" -I"..\..\Board Support Package" -I"." -I"..\..\Microchip\Include" -D__DEBUG -g
Executing: "C:\Program Files\Microchip\MPLAB C32 Suite\bin\pic32-gcc.exe" -mprocessor=32MX795F512L -x c -c "..\..\Microchip\Graphics\Palette.c" -o"Objects - Graphics Primitives Layer Demo\Palette.o" -MMD -MF"Objects - Graphics Primitives Layer Demo\Palette.d" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include\Graphics" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include" -I"..\..\Board Support Package" -I"." -I"..\..\Microchip\Include" -D__DEBUG -g
Executing: "C:\Program Files\Microchip\MPLAB C32 Suite\bin\pic32-gcc.exe" -mprocessor=32MX795F512L -x c -c "..\..\Microchip\Common\TimeDelay.c" -o"Objects - Graphics Primitives Layer Demo\TimeDelay.o" -MMD -MF"Objects - Graphics Primitives Layer Demo\TimeDelay.d" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include\Graphics" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include" -I"..\..\Board Support Package" -I"." -I"..\..\Microchip\Include" -D__DEBUG -g
Executing: "C:\Program Files\Microchip\MPLAB C32 Suite\bin\pic32-gcc.exe" -mprocessor=32MX795F512L -x c -c "..\..\Microchip\Graphics\Drivers\gfxepmp.c" -o"Objects - Graphics Primitives Layer Demo\gfxepmp.o" -MMD -MF"Objects - Graphics Primitives Layer Demo\gfxepmp.d" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include\Graphics" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include" -I"..\..\Board Support Package" -I"." -I"..\..\Microchip\Include" -D__DEBUG -g
Executing: "C:\Program Files\Microchip\MPLAB C32 Suite\bin\pic32-gcc.exe" -mprocessor=32MX795F512L -x c -c "..\..\Microchip\Graphics\Drivers\drvTFT001.c" -o"Objects - Graphics Primitives Layer Demo\drvTFT001.o" -MMD -MF"Objects - Graphics Primitives Layer Demo\drvTFT001.d" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include\Graphics" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include" -I"..\..\Board Support Package" -I"." -I"..\..\Microchip\Include" -D__DEBUG -g
Executing: "C:\Program Files\Microchip\MPLAB C32 Suite\bin\pic32-gcc.exe" -mprocessor=32MX795F512L -x c -c "..\..\Board Support Package\cpld.c" -o"Objects - Graphics Primitives Layer Demo\cpld.o" -MMD -MF"Objects - Graphics Primitives Layer Demo\cpld.d" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include\Graphics" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include" -I"..\..\Board Support Package" -I"." -I"..\..\Microchip\Include" -D__DEBUG -g
Executing: "C:\Program Files\Microchip\MPLAB C32 Suite\bin\pic32-gcc.exe" -mprocessor=32MX795F512L -x c -c "..\..\Microchip\Graphics\Drivers\mchpGfxLCC.c" -o"Objects - Graphics Primitives Layer Demo\mchpGfxLCC.o" -MMD -MF"Objects - Graphics Primitives Layer Demo\mchpGfxLCC.d" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include\Graphics" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include" -I"..\..\Board Support Package" -I"." -I"..\..\Microchip\Include" -D__DEBUG -g
Executing: "C:\Program Files\Microchip\MPLAB C32 Suite\bin\pic32-gcc.exe" -mprocessor=32MX795F512L -x c -c "InternalResourceXC32.c" -o"Objects - Graphics Primitives Layer Demo\InternalResourceXC32.o" -MMD -MF"Objects - Graphics Primitives Layer Demo\InternalResourceXC32.d" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include\Graphics" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include" -I"..\..\Board Support Package" -I"." -I"..\..\Microchip\Include" -D__DEBUG -g
Executing: "C:\Program Files\Microchip\MPLAB C32 Suite\bin\pic32-gcc.exe" -mprocessor=32MX795F512L -x c -c "C:\Microchip Solutions v2012-08-22\Microchip\Graphics\Primitive.c" -o"Objects - Graphics Primitives Layer Demo\Primitive.o" -MMD -MF"Objects - Graphics Primitives Layer Demo\Primitive.d" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include\Graphics" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include" -I"..\..\Board Support Package" -I"." -I"..\..\Microchip\Include" -D__DEBUG -g
Executing: "C:\Program Files\Microchip\MPLAB C32 Suite\bin\pic32-gcc.exe" -mprocessor=32MX795F512L -x c -c "SSD1963.c" -o"Objects - Graphics Primitives Layer Demo\SSD1963.o" -MMD -MF"Objects - Graphics Primitives Layer Demo\SSD1963.d" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include\Graphics" -I"C:\Microchip Solutions v2012-08-22\Microchip\Include" -I"..\..\Board Support Package" -I"." -I"..\..\Microchip\Include" -D__DEBUG -g
Warning: Building a `Debug' configuration with no debug tool loaded.
Warning: Debugger-specific command-line options may be missing.
Executing: "C:\Program Files\Microchip\MPLAB C32 Suite\bin\pic32-gcc.exe" -mprocessor=32MX795F512L "Objects - Graphics Primitives Layer Demo\MainDemo.o" "Objects - Graphics Primitives Layer Demo\GOLFontDefault.o" "Objects - Graphics Primitives Layer Demo\Palette.o" "Objects - Graphics Primitives Layer Demo\TimeDelay.o" "Objects - Graphics Primitives Layer Demo\gfxepmp.o" "Objects - Graphics Primitives Layer Demo\drvTFT001.o" "Objects - Graphics Primitives Layer Demo\cpld.o" "Objects - Graphics Primitives Layer Demo\mchpGfxLCC.o" "Objects - Graphics Primitives Layer Demo\InternalResourceXC32.o" "Objects - Graphics Primitives Layer Demo\Primitive.o" "Objects - Graphics Primitives Layer Demo\SSD1963.o" -o"Primitives Layer Demo PIC32.elf" "-mperipheral-libs" -Wl,-L"C:\MCHP_2011_07_14\Microchip\Graphics\Drivers",-L"C:\MCHP_2011_07_14\Microchip\Graphics",--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,-Map="Primitives Layer Demo PIC32.map"
Objects - Graphics Primitives Layer Demo\SSD1963.o: In function `Bar':
C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11/SSD1963.c:577: undefined reference to `GetAlpha'
C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11/SSD1963.c:578: undefined reference to `BarAlpha'
collect2: ld returned 1 exit status
Link step failed.
----------------------------------------------------------------------
Debug build of project `C:\Microchip Solutions v2012-08-22\Graphics\_oh_Primi INT035 SSD1963dt_2012.12.11\Primitives Layer Demo PIC32.mcp' failed.
Language tool versions: pic32-as.exe v2.02, pic32-gcc.exe v2.02, pic32-ld.exe v2.02, pic32-ar.exe v2.02
Preprocessor symbol `__DEBUG' is defined.
Tue Dec 11 21:04:34 2012
----------------------------------------------------------------------
BUILD FAILED

dtechsupport's picture
dtechsupport
December 11, 2012

Thank you for the response. The BarAlpha() function is meant for Microchip's new graphics library (yet to be released) which includes full alphablending support. There should have been an #ifdef USE_ALPHABLEND_LITE around that if() statement. Apologies!
At startup of the PIC, you'll want to ensure there is at least a half second delay to allow the INT board to complete auto-initialization. During that time, you'll want to make sure the reset and CS lines are held high. Be sure to fully power-cycle the device after re-programming the device with the timeout to allow the INT board to go through initialization.

Guest's picture
Guest
December 11, 2012

I am looking forward to getting the sample code for the INT board to complete auto-initialization. If possible, I hope it includes for INT043BTFT, because I have two INT043BTFT,too.

dtechsupport's picture
dtechsupport
December 12, 2012

I've attached the updated SSD1963.c file with the required precompiler macro. Please let me know if this works. Also you'll want to add something like

int main(void) {

DelayMs(500); //Wait 500 ms at startup

//Pull the reset line high

DisplayResetDisable(); //Sets RST high

DisplayResetConfig(); //Sets the pin to output ...

}

at the beginning of your program. The INT043 uses the SSD1961 which is almost identical to the SSD1963 and uses the same register settings, so using the SSD1963.c driver file on the INT043 will work.

Guest's picture
Guest
December 13, 2012

I added the codes "DelayMs(500); DisplayResetDisable(); DisplayResetConfig(); in main() and I changed from old SSD1963.c to new SDD1963.c. So I could compile successfully. But I could not see nothing on screen of INT035TFT. It was black screen. I have two INT035TFT. The other one show nothing either.

So I checked 16 + 5 signals of pins of INT035TFT,namely DATA00 - DATA15 ,CS,RS,RD,WR,RESET. I checked the same 16 +5 signals of myExplore Board for Michrochip SSD1926 Board,which works well(See attached picture). I made a report of word file that I examined signals and compared both. I found the waveforms of DATA00 - DATA 07 of INT035TFT seems inverted . (See attached word file) I think there are some mistakes in my program.

I attached below.
1. the whole programs, namely project file
2. Circuit and Picture of myTest Board for INT035TFT of SSD1963
3. Circuit and Picture of myExplore16 Board for Microchip SSD1926 Board
4. Waveform report

dtechsupport's picture
dtechsupport
December 14, 2012

Before getting into the details of the parallel signals, you might want to check that the auto-initialization of the INT board works. I would test this by disconnecting the INT board from the PIC32 connections, apply power to the necessary pins (VDDIO, VDDD, VDDLCD, GNDs, and pin 38) and see if the backlight turns on and the screen comes up with random pixels. This will let you know that you have powered the device correctly.
I would then re-connect your PIC, program the device and determine which signals are causing the device not to start-up properly.
Looking at your waveforms, it appears you have a CS that is being pulled low and then changing rapidly. Is this at startup of the device? If so you will need to ensure that the CS line is held high at power-up to allow the INT board to complete auto-initialization.

Guest's picture
Guest
December 14, 2012

Thank you very much for good advice. I executed the random pixel check for my two INT035TFT and they were confirmed by experiments. Please See the attached Picture:

the CS signal is not a startup signal. The trigger timing of all waveforms of my waveform report were random. Precisely speaking, the timings were the synchronous timing of AC 100v 50Hz Power line of Tokyo.

I am looking forward to getting the sample code for the INT035TFT board to complete auto-initialization. Are you coming across the unforeseen technical problems or mysterious bugs ?

Attachment: 
dtechsupport's picture
dtechsupport
December 22, 2012

The code I send earlier is all of the code you will need to run the device. The random pixels mean that auto-initialization is completing correctly, and you only need to start writing pixels onto the screen using the PutPixel() method of the code I provided earlier. No further initialization code is required, as the on-board Atmel chip is already correctly initializing the display and SSD1963.

Guest's picture
Guest
December 22, 2012

I could understand that I had already got the codes to run myTest Board for INT035TFT of SSD1963 and there is not version up codes. So I will try.

In your previous bellow advice of 12 December 2012, I cannot understand the meaning. Please explain bellow advice more easily .
Be sure to fully power-cycle the device after re-programming the device with the timeout to allow the INT board to go through initialization.

dtechsupport's picture
dtechsupport
December 26, 2012

It means that the INT board should be turned off and turned back on to allow for the full auto-initialization (random pixels) to complete before sending commands from the PIC32.

Guest's picture
Guest
February 28, 2013

Finally I could display pictures on the INT035TFT by removing the reset signal during PMP setting of DriverInterfaceInit() in gfxpmp.h of Microchip Graphic Library. Namely I commented out DisplayResetEnable();. I show below.
Thank you very much Indeed for your many advice and supports. I attached the picture of INT035TFT on my test board.

//-------------------------------------------------------------------------------------
extern inline void __attribute__ ((always_inline)) DriverInterfaceInit(void)
{
// variable for PMP timing calculation
// GetPeripheralClock() is in Mhz. pClockPeriod will be in nanoseconds.
DWORD pClockPeriod = (1000000000ul) / GetPeripheralClock();
// DisplayResetEnable(); // <--- I commented out this !!
DisplayResetConfig(); // enable RESET line
DisplayCmdDataConfig(); // enable RS line+E31
DisplayDisable(); // not selected by default
DisplayConfig(); // enable chip select line
DisplayBacklightOff(); // initially set the backlight to off
DisplayBacklightConfig(); // set the backlight control pin
// PMP setup
PMMODE = 0;
PMAEN = 0;
PMCON = 0;
PMMODEbits.MODE = 2; // Intel 80 master interface
#if (PMP_DATA_SETUP_TIME == 0)
PMMODEbits.WAITB = 0;
#else
if (PMP_DATA_SETUP_TIME <= pClockPeriod)
PMMODEbits.WAITB = 0;
else if (PMP_DATA_SETUP_TIME > pClockPeriod)
PMMODEbits.WAITB = (PMP_DATA_SETUP_TIME / pClockPeriod) + 1;
#endif
#if (PMP_DATA_WAIT_TIME == 0)
PMMODEbits.WAITM = 0;
#else
if (PMP_DATA_WAIT_TIME <= pClockPeriod)
PMMODEbits.WAITM = 1;
else if (PMP_DATA_WAIT_TIME > pClockPeriod)
PMMODEbits.WAITM = (PMP_DATA_WAIT_TIME / pClockPeriod) + 1;
#endif
#if (PMP_DATA_HOLD_TIME == 0)
PMMODEbits.WAITE = 0;
#else
if (PMP_DATA_HOLD_TIME <= pClockPeriod)
PMMODEbits.WAITE = 0;
else if (PMP_DATA_HOLD_TIME > pClockPeriod)
PMMODEbits.WAITE = (PMP_DATA_HOLD_TIME / pClockPeriod) + 1;
#endif
#if defined(USE_16BIT_PMP)
PMMODEbits.MODE16 = 1; // 16 bit mode
#elif defined(USE_8BIT_PMP)
PMMODEbits.MODE16 = 0; // 8 bit mode
#endif
PMCONbits.PTRDEN = 1; // enable RD line
PMCONbits.PTWREN = 1; // enable WR line
PMCONbits.PMPEN = 1; // enable PMP
DisplayResetDisable(); // release from reset
// hard delay inserted here for devices that needs delays after reset.
// Value will vary from device to device, please refer to the specific
// device data sheet for details.
Delay10us(20);
}
Attachment: