도와주세요!!
글 수 15,339
2006.08.30 10:47:43 (*.147.237.83)
6747
안녕하십니까!
GPIO예제를 이용해서 LCD에 SPI신호를 만들어 보려고 하는데 함수선언에 문제가 있어 올립니다.
gpio.c에서 아래 함수를 만들고
int SetPort( int PortIndex, int value )
{
// 출력 전용으로 설정
GPDR0 |= ( GPIO_OUTPUT_MASK );
if( value )
{
//Port Set
switch( PortIndex )
{
case 0 : GPSR0 = LCD_RST; break;
case 1 : GPSR0 = BLU_EN; break;
case 2 : GPSR0 = LCD_SDI; break;
case 3 : GPSR0 = LCD_SCL; break;
case 4 : GPSR0 = LCD_RS; break;
case 5 : GPSR0 = LCD_CS; break;
case 6 : GPSR0 = LCD_PDSB; break;
// default:
// break;
}
}
else
{
//Port Clear
switch( PortIndex )
{
case 0 : GPCR0 = LCD_RST; break;
case 1 : GPCR0 = BLU_EN; break;
case 2 : GPCR0 = LCD_SDI; break;
case 3 : GPCR0 = LCD_SCL; break;
case 4 : GPCR0 = LCD_RS; break;
case 5 : GPCR0 = LCD_CS; break;
case 6 : GPCR0 = LCD_PDSB; break;
// default:
// break;
}
}
}
gpio.h 파일에 아래와 같이 선언한 다음에
int SetPort( int PortIndex, int value );
test.c에서 아래처럼 이 함수를 사용하려고 하는데
void sslcd_reset( void )
{
usleep( 2000 );
SetPort(LCD_RST,LOW); // BLU_EN : GPIO1
usleep( 2000 );
SetPort(LCD_RST,HIGH);
usleep( 10000 );
}
함수가 선언되지 않았다고 하면서 에러가 발생합니다.
밑에 Q/A를 읽어보니 write같은 함수는 linux 커널에 매크로함수로 처리가 되어있어
사용이 가능한거 같은데 위 같은 경우 SetPort(); 함수를 사용할 수 있는 방법이 없나요?
GPIO예제를 이용해서 LCD에 SPI신호를 만들어 보려고 하는데 함수선언에 문제가 있어 올립니다.
gpio.c에서 아래 함수를 만들고
int SetPort( int PortIndex, int value )
{
// 출력 전용으로 설정
GPDR0 |= ( GPIO_OUTPUT_MASK );
if( value )
{
//Port Set
switch( PortIndex )
{
case 0 : GPSR0 = LCD_RST; break;
case 1 : GPSR0 = BLU_EN; break;
case 2 : GPSR0 = LCD_SDI; break;
case 3 : GPSR0 = LCD_SCL; break;
case 4 : GPSR0 = LCD_RS; break;
case 5 : GPSR0 = LCD_CS; break;
case 6 : GPSR0 = LCD_PDSB; break;
// default:
// break;
}
}
else
{
//Port Clear
switch( PortIndex )
{
case 0 : GPCR0 = LCD_RST; break;
case 1 : GPCR0 = BLU_EN; break;
case 2 : GPCR0 = LCD_SDI; break;
case 3 : GPCR0 = LCD_SCL; break;
case 4 : GPCR0 = LCD_RS; break;
case 5 : GPCR0 = LCD_CS; break;
case 6 : GPCR0 = LCD_PDSB; break;
// default:
// break;
}
}
}
gpio.h 파일에 아래와 같이 선언한 다음에
int SetPort( int PortIndex, int value );
test.c에서 아래처럼 이 함수를 사용하려고 하는데
void sslcd_reset( void )
{
usleep( 2000 );
SetPort(LCD_RST,LOW); // BLU_EN : GPIO1
usleep( 2000 );
SetPort(LCD_RST,HIGH);
usleep( 10000 );
}
함수가 선언되지 않았다고 하면서 에러가 발생합니다.
밑에 Q/A를 읽어보니 write같은 함수는 linux 커널에 매크로함수로 처리가 되어있어
사용이 가능한거 같은데 위 같은 경우 SetPort(); 함수를 사용할 수 있는 방법이 없나요?