Hello everyone !
I am using LCD module DM12864M with my TM4C1294 launchpad, i have written code many times to get print on LCD, but unable to understand what is wrong with code or analogy, my hardware is absolutely ok, i have searched other posts for this problem but could not find my answer yet, please help me to know , i have google it but could not find solution, please help me to sort out.
here is my code
#include <stdint.h> #include "inc/tm4c1294ncpdt.h" #include <stdbool.h> #include "driverlib/sysctl.h" #include "driverlib/gpio.h" #include"inc/hw_types.h" #include"inc/hw_memmap.h" #include"driverlib/timer.h" #include"driverlib/interrupt.h" #include"driverlib/systick.h" #include "driverlib/rom.h" #include "driverlib/rom_map.h" //***************************************************************************** void delay(uint32_t num); volatile unsigned long long int clock,period; int main(void) { //Clock Set clock=SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ |SYSCTL_OSC_MAIN | SYSCTL_USE_PLL |SYSCTL_CFG_VCO_480), 120000000); //Port Initialization-Used many ports, beacuse few pins left, i have not left any free //conscutive pins to connect with lcd, rest of all pins connected with sensors and other devices SysCtlPeripheralEnable(SYSCTL_PERIPH_GPION); SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); GPIOPinTypeGPIOOutput(GPIO_PORTN_BASE,GPIO_PIN_0); period=clock; //Port Initialization-Used many ports, beacuse few pins left, i have not left any free //conscutive pins to connect witJh lcd, rest of all pins connected with sensors and other devices SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOH); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOM); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOK); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPION); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOL); //DATA-SIGNALS GPIOPinTypeGPIOOutput(GPIO_PORTK_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4 |GPIO_PIN_3|GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0);//DB0-DB7 //CONTROL-SIGNALS RS, R/W AND EN GPIOPinTypeGPIOOutput(GPIO_PORTL_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0);//RS0,R/W1,EN2,RST3,PSB4 while(1){ ////////////////////////11111111111111/////////////////////////////////////////////////////////////////////// GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x14);//RS,R/W,EN,RST,PSB GPIOPinWrite(GPIO_PORTK_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x30);//DB0-DB7 delay(12000000); //EN-LOW GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x10);//RS,R/W,EN,RST,PSB /////////////////////////2222222//////////////////////////////////////////////////////////////////// GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x14);//RS,R/W,EN,RST,PSB GPIOPinWrite(GPIO_PORTK_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x0C);//DB0-DB7 delay(12000000); //EN-LOW GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x10);//RS,R/W,EN,RST,PSB /////////////////////////333333//////////////////////////////////////////////////////////////////// GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x14);//RS,R/W,EN,RST,PSB GPIOPinWrite(GPIO_PORTK_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x01);//DB0-DB7 delay(12000000); //EN-LOW GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x10);//RS,R/W,EN,RST,PSB /////////////////////////4444//////////////////////////////////////////////////////////////////// GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x14);//RS,R/W,EN,RST,PSB GPIOPinWrite(GPIO_PORTK_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x02);//DB0-DB7 delay(12000000); //EN-LOW GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x10);//RS,R/W,EN,RST,PSB /////////////////////////555555555555555555555555//////////////////////////////////////////////////////////////////// GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x14);//RS,R/W,EN,RST,PSB GPIOPinWrite(GPIO_PORTK_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x06);//DB0-DB7 delay(12000000); //EN-LOW GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x10);//RS,R/W,EN,RST,PSB ////////////////////////////888888////////////////////////////////////////////////////////////////////// GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x14);//RS,R/W,EN,RST,PSB GPIOPinWrite(GPIO_PORTK_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x41);//DB0-DB7 delay(12000000); //EN-LOW GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3| GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0,0x10);//RS,R/W,EN,RST,PSB GPIOPinWrite(GPIO_PORTN_BASE,GPIO_PIN_0,1); delay(period/2); GPIOPinWrite(GPIO_PORTN_BASE,GPIO_PIN_0,0); delay(period/2); } } void delay(uint32_t num){ TimerIntClear(TIMER0_BASE,TIMER_TIMA_TIMEOUT); TimerConfigure(TIMER0_BASE,TIMER_CFG_PERIODIC); TimerLoadSet(TIMER0_BASE,TIMER_A,num-1); // TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT); TimerEnable(TIMER0_BASE, TIMER_A); while(!TimerIntStatus(TIMER0_BASE,false)){ } }