hello,
I am using MSP430G2553 launch pad, windows xp and trying to debug the program but each time the following error comes.
this is the setting in the run ->debug configuration. I tried manually to enter the path, created new project but same problem occuring. Please help me to find the issue.
/*
* LCD.H
*
* Created on: Sep 15, 2016
* Author: dinesh
*/
#ifndef LCD_H_
#define LCD_H_
#define lcd_EN BIT3
#define lcd_RS BIT0
#define lcd_D4 BIT4
#define lcd_D5 BIT5
#define lcd_D6 BIT6
#define lcd_D7 BIT7
#define lcd_DIR P1DIR
#define lcd_PORT P1OUT
#define lcd_PORT_MASK (lcd_EN | lcd_RS | lcd_D4 | lcd_D5 | lcd_D6 | lcd_D7)
void lcd_cmd(char);
void lcd_pulse(void);
void lcd_init(void);
void lcd_data(unsigned char);
void set_cursor_pos(int,int );
void busychck(void);
void clear_lcd(void);
void lcd_cmd(char cmd)
{
//busychck();
lcd_PORT &= (~lcd_PORT_MASK);
//lcd_PORT =(lcd_PORT&0x0F)|(cmd&0xF0);
lcd_PORT |=(cmd & 0xF0); //HIGHER NIBBLE
lcd_PORT &= ~lcd_RS;
lcd_pulse();
lcd_PORT &= (~lcd_PORT_MASK);
lcd_PORT |=((cmd&0x0F)<<4); //LOWER nibble
//lcd_PORT =(lcd_PORT&0x0F)|((cmd&0x0F)<<4);
lcd_PORT &= ~lcd_RS;
lcd_pulse();
_delay_cycles(1000);
}
void lcd_pulse()
{
lcd_PORT&= ~lcd_EN; //EN low
_delay_cycles(4000);
lcd_PORT |= lcd_EN; //EN high
_delay_cycles(4000);
/*lcd_PORT &= ~lcd_EN; //EN low
_delay_cycles(1000);*/
}
void set_cursor_pos(int row,int col)
{
char addr;
if(row==0)
addr=0x00; //row 0 then addr=0x00h(RAM addr)
else
addr=0x40; //row 1 den addr=0x40h
addr |=col; //add offset for column
lcd_cmd(0x80|addr); //set DDRAM addr for display
}
void clear_lcd()
{
lcd_cmd(0x01); //CLEAR DISPLAY
//_delay_cycles(1000);
lcd_cmd(0x02); //RETURN HOME
//_delay_cycles(100000);
}
void lcd_init()
{
//lcd_DIR =0XFF;
lcd_PORT &= (~lcd_PORT_MASK);
//_delay_cycles(10000);
lcd_PORT&=~lcd_EN; //CLEAR EN
lcd_PORT&=~lcd_RS; //CLEAR RS
lcd_PORT=0x20;
lcd_pulse(); //EN HIGH
//_delay_cycles(1000);
lcd_cmd(0x28); //FUNCTION SET- 4 BIT,1 LINE ,5X7 MATRIX
//_delay_cycles(1000);
lcd_cmd(0x06); //ENTRY MODE
//_delay_cycles(1000);*/
lcd_cmd(0x0C); //DISPLAY, CURSOR AND BLINK OFF
//_delay_cycles(1000);
/*lcd_cmd(0x10); //NO SHIFT
_delay_cycles(1000); */
}
void lcd_data(unsigned char data)
{
//busychck();
lcd_PORT &=(~lcd_PORT_MASK);
//lcd_PORT =(lcd_PORT&0x0F)|(data&0xF0);
lcd_PORT |=(data & 0xF0); //HIGHER NIBBLE
lcd_PORT |=lcd_RS;
lcd_pulse(); //EN HIGH
lcd_PORT &=(~lcd_PORT_MASK);
//lcd_PORT =(lcd_PORT&0x0F)|((data&0x0F)<<4);
lcd_PORT |=(data&0x0F)<<4; //LOWER nibble
lcd_PORT |=lcd_RS; //RS HIGH
lcd_pulse(); //EN HIGH
//lcd_pulse();
//_delay_cycles(1000);
}
void display(char* word)
{
char* c;
c=word;
while((*c!=0) & (c!=0))
{
if(c=='\0')
break;
lcd_data(*c);
c++;
}
}
/*void busychck()
{
lcd_DIR &=~BIT7; //bit 7 as input port to read busy chck
while((P1IN & BIT7)==1)
{
}
lcd_DIR |=BIT7; //bit 7 as output pin
}
*/
#endif /* LCD_H_ */
