#include "device.h"
#include "driverlib.h"
// Function Prototypes
//
void setup1GPIO(void);
void InitializeLCD(void);
void WriteCommandLCD(unsigned char);
void DisplayLCD(char,char*);
void SendByte(unsigned char );
void LCDDelay();
void WriteDataLCD(unsigned char);
//
// Main
//
void main(void)
{
//
// Initializes system control, device clock, and peripherals
//
Device_init();
//
// Initializes PIE and clear PIE registers. Disables CPU interrupts.
// and clear all CPU interrupt flags.
//
Interrupt_initModule();
//
// Initialize the PIE vector table with pointers to the shell interrupt
// Service Routines (ISR).
//
Interrupt_initVectorTable();
//
// This example is a basic pinout
//
setup1GPIO();
InitializeLCD();
DisplayLCD(1,ragavendra);
}
//
// setup1GPIO - Is an example that demonstrates the basic pinout
//
void setup1GPIO(void)
{
EALLOW;
GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0; // RS
GpioCtrlRegs.GPADIR.bit.GPIO0 = 1; // GPIO0 = output RS
GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 0; // RW
GpioCtrlRegs.GPADIR.bit.GPIO1= 1; // GPIO1 = output RW
GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 0; // EN
GpioCtrlRegs.GPADIR.bit.GPIO2 = 1; // GPIO2= output
// Initialize GPIO for data bus pins (D0-D7)
GpioCtrlRegs.GPAMUX1.bit.GPIO3 = 0; // D0
GpioCtrlRegs.GPADIR.bit.GPIO3 = 1; // GPIO3= output
GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 0; // D1
GpioCtrlRegs.GPADIR.bit.GPIO4 = 1; // GPIO4 = output
GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 0; // D2
GpioCtrlRegs.GPADIR.bit.GPIO5 = 1; // GPIO5 output
GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 0; // D3
GpioCtrlRegs.GPADIR.bit.GPIO6 = 1; // GPIO6 = output
GpioCtrlRegs.GPAMUX1.bit.GPIO7 = 0; // D4
GpioCtrlRegs.GPADIR.bit.GPIO7 = 1; // GPIO6 = output
GpioCtrlRegs.GPAMUX1.bit.GPI08 = 0; // D5
GpioCtrlRegs.GPADIR.bit.GPIO8 = 1; // GPIO6 = output
GpioCtrlRegs.GPAMUX1.bit.GPIO10 = 0; // D6
GpioCtrlRegs.GPADIR.bit.GPIO10 = 1; // GPIO6 = output
GpioCtrlRegs.GPAMUX1.bit.GPIO11 = 0; // D7
GpioCtrlRegs.GPADIR.bit.GPIO11 = 1; // GPIO6 = output
EDIS;
}
void InitializeLCD(void)
{
GpioDataRegs.GPASET.bit.GPIO2 = 1;
//GPIO_setHigh(myGpio, E);
LCDDelay();
LCDDelay();
LCDDelay();
LCDDelay();
WriteCommandLCD(0x38); //Command to select 8 bit interface
LCDDelay();
WriteCommandLCD(0x38); //Command to select 8 bit interface
LCDDelay(); //Small delay
WriteCommandLCD(0x38); //Command to select 8 bit interface
LCDDelay();
WriteCommandLCD(0x08); //Command to off cursor,display off
WriteCommandLCD(0x01); //Command to Clear LCD
LCDDelay();
WriteCommandLCD(0x06); //Command for setting entry mode
WriteCommandLCD(0x0f); //Command to on cursor,blink cursor
WriteCommandLCD(0x02); //Command return the cursor to home
LCDDelay();
}
void WriteCommandLCD(unsigned char CommandByte)
{
//GpioDataRegs.GPACLEAR.bit.GPIO26 = 1;
GpioDataRegs.GPACLEAR.bit.GPIO0=1;
//GPIO_setLow(myGpio, RS); //Clear RS pin to write command
SendByte(CommandByte);
LCDDelay(); //Small delay
}
void WriteDataLCD(unsigned char CommandByte)
{
GpioDataRegs.GPACLEAR.bit.GPIO0=1;
//GPIO_setLow(myGpio, RS); //Clear RS pin to write command
SendByte(CommandByte);
LCDDelay(); //Small delay
}
void DisplayLCD(char LineNumber,char *Message)
{
int a;
if(LineNumber ==1)
{ //First Line
WriteCommandLCD(0x80); //Select the first line
}
else
{ //Second line
WriteCommandLCD(0xc0); //Select the second line
}
for(a=0;a<16;a++)
{
WriteDataLCD(*Message); //Display a character
Message++; //Increment pointer
}
return;
}
我已经为 JHD 162A LCD 显示屏编写了这个代码...但是在这个代码中 我有 wirtten 寄存器指令、例如 GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 0;、
GpioCtrlRegs.GPADIR.bit.GPIO6 = 1;对于引脚初始化、但在我编译该代码时、会显示如下错误
描述资源路径位置类型
#20标识符"GpioCtrlRegs"未定义
#20标识符"GpioDataRegs"未定义
#20标识符"GpioDataRegs"未定义
#20标识符"GpioDataRegs"未定义
#20标识符"GpioDataRegs"未定义
#20标识符"ragavendra "未定义
gmake:***[LCD displayyy.obj]错误1
gmake:由于错误、未重制目标"all"。 LED 显示器 C/C++问题
that...it 需要任何头文件的原因是什么?请更正该代码
我还有另一个问题、
GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO2 = 1;
GpioDataRegs.GPACLEAR.bit.GPIO4 =1;
GpioDataRegs.GPASET.bit.GPIO4 = 1;
要使用说明、我们是否需要为项目添加任何库……并告诉我 我们必须为 TMS320F2280025c 板包含哪种类型的库?