程序是根据430的更改的。移植过来发现不能用。又可耻的上来寻求帮助了
后来自己调好了,现在能用了。就是下面这个程序。
以下是程序:
#include <stdint.h>
#include <stdbool.h>
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/sysctl.h"
#include "driverlib/interrupt.h"
#include "driverlib/gpio.h"
#include "driverlib/timer.h"
#define uchar unsigned char
#define uint unsigned int
#define Delay_us(x) SysCtlDelay((long)(SysCtlClockGet( )*(double)x /3000000 ))
#define Delay_ms(x) SysCtlDelay((long)(SysCtlClockGet( )*(double)x /3000 ))
#define SCLK_H GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_4,0Xff )
#define SCLK_L GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_4,0x00 )
#define CS_H GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_2,0xFF )
#define CS_L GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_2,0x00 )
#define SID_H GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_3,0xff )
#define SID_L GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_3,0x00 )
#define SID GPIOPinRead(GPIO_PORTA_BASE, GPIO_PIN_3)
/********************************************************************
*名称: sendbyte()
*功能:按照液晶的串口通信协议,发送数据
*输入: zdata
*输出:无
***********************************************************************/
void sendbyte(unsigned char zdata)
{
unsigned int i;
for(i=0;i<8;i++)
{
if((zdata << i) & 0x80)
{
SID_H;//SID=1;
}
else
{
SID_L;//SID=0;
}
SCLK_L;//SCLK= 0;
SCLK_H;//SCLK=1;
}
}
/********************************************************************
*名称: write_com()
*功能:写串口指令
*输入: cmdcode
*输出:无
**********************************************************************/
void write_com(unsigned char cmdcode)
{
CS_H;//CS=1;
sendbyte(0xf8); //告诉12864接下来传送指令
sendbyte(cmdcode & 0xf0);
sendbyte((cmdcode << 4) & 0xf0);
Delay_us(200);
}
/********************************************************************
*名称: write_data()
*功能:写串口指令
*输入: cmdcode
*输出:无
***********************************************************************/
void write_data(unsigned char Dispdata)
{
CS_H;//CS=1;
sendbyte(0xfa); //告诉12864接下来传送数据
sendbyte(Dispdata & 0xf0);
sendbyte((Dispdata << 4) & 0xf0);
Delay_us(200);
}
/********************************************************************
*名称: lcdinit()
*功能:初始化函数
*输入: cmdcode
*输出:无
***********************************************************************/
void lcdinit()
{
Delay_ms(20);
write_com(0x30); //基本指令操作
Delay_ms(5) ;
write_com(0x0c); //显示开关闭光标
Delay_ms(5) ;
}
/********************************************************************
*名称: hzkdis()
*功能:显示字符串
*输入: *s
*输出:无
*********************************************************************/
void hzkdis(char *s)
{
while(*s > 0)
{
write_data(*s);
s++;
Delay_ms(5);
}
}
/********************************************************************
*名称: Test()
*功能:显示子函数
*输入:无
*输出:无
***********************************************************************/
void Test()
{
write_com(0x03); //地址归为
Delay_ms(5);
write_com(0x81); //显示第一行
hzkdis("555");
write_com(0x91); //显示第二行
hzkdis("5");
}
/********************************************************************
*名称: Main()
*功能:主函数
*输入:无
*输出:无
**********************************************************************/
int main(void)
{
SysCtlClockSet(SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);
GPIOPinTypeGPIOOutput(GPIO_PORTA_BASE, GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4);
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, 0x08);
Delay_ms(20);
lcdinit();
Delay_ms(20);
while(1)
{
Test();
Delay_ms(50);
}
}
