主题中讨论的其他器件:TM4C123
工具/软件:Code Composer Studio
你(们)好
我正在使用 JHD 162A LCD 模块来显示消息("Hello World")。
我能够无错误地构建代码、但当我尝试运行代码时、程序会被吸入 exit.c 文件中。
并且 LCD 显示:
第1行- 16个"5x7"矩阵
第2行-空白。
// PB0-7 ->数据线路 D0-D7
// PD0 -> RS
// PD1 ->启用
//******** 88
#include
#include
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"
unsigned char pines=(gpio_PIN_0 | gpio_PIN_1 | gpio_2 | gpio_PIN_3 | gpio_4 | gpio_6 | gpio_数据
格
式6 | gpio_pin 6 | gpio_pin 6 | gio_pin 6 | void 数据格式 gio_pin_pin 6 |
GPIOPinWrite (GPIO_PORTB_BASE、引脚、数据);//将数据引脚0x01置位以清除 LCD 屏幕
GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0|GPIO_PIN_1、0x03);//RS=1 | E=1
SysCtlDelay (2);//启用脉宽(高电平) 230纳秒
GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0|GPIO_PIN_1、0x01);//RS=1 | E=0
SysCtlDelay (4167);//1毫秒延迟
}
void Display (unsigned char * str)
{
while (* str)
{
lcd_data (*str);
STR++;
}
}
int main (void)
{
SysCtlClockSet (SYSCTL_SYSDIV_16|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHz|SYSCTL_OSC_MAIN);//12.5MHz
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOD);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOB);
GPIOPinTypeGPIOOutput (GPIO_PORTB_BASE、GPIO_PIN_0|GPIO_PIN_1_GPIO_PIN_2|GPIO_PIN_3| GPIO_PIN_4| GPIO_PIN_5| GPIO_PIN_6| GPIO_PIN_7);
GPIOPinTypeGPIOOutput (GPIO_PORTD_base、GPIO_PIN_0|GPIO_PIN_1);
LCD 上电后、//等待15毫秒//
SysCtlDelay (62500);
GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0|GPIO_PIN_1、0x00);//RS=0 | E=0
//使用命令初始化 LCD 显示屏
GPIOPinWrite (GPIO_PORTB_BASE、Pins、0x38);//将数据引脚置为0x38以获得2行5x7矩阵
GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0|GPIO_PIN_1、0x02);//RS=0 | E=1
SysCtlDelay (2);//启用脉宽(高电平) 230纳秒
GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0|GPIO_PIN_1、0x00);//RS=0 | E=0
SysCtlDelay (4167);// 1毫秒延迟
GPIOPinWrite (GPIO_PORTB_BASE、Pins、0x0c);//将数据引脚0x0c 上的 put 设置为在光标关闭时显示
GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0|GPIO_PIN_1、0x02);//RS=0 | E=1
SysCtlDelay (2);//启用脉宽(高电平) 230纳秒
GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0|GPIO_PIN_1、0x00);//RS=0 | E=0
SysCtlDelay (4167);// 1毫秒延迟
GPIOPinWrite (GPIO_PORTB_BASE、Pins、0x0E);//将数据引脚0x0E 上的数据放置在光标上
GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0|GPIO_PIN_1、0x02);//RS=0 | E=1
SysCtlDelay (2);//启用脉宽(高电平) 230纳秒
GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0|GPIO_PIN_1、0x00);//RS=0 | E=0
SysCtlDelay (4167);// 1毫秒延迟
GPIOPinWrite (GPIO_PORTB_BASE、Pins、0x01);//将数据引脚0x01置位以清除 LCD 屏幕
GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0|GPIO_PIN_1、0x02);//RS=0 | E=1
SysCtlDelay (2);//启用脉宽(高电平) 230纳秒
GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0|GPIO_PIN_1、0x00);//RS=0 | E=0
SysCtlDelay (4167);// 1毫秒延迟
GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0|GPIO_PIN_1、0x01);//RS=1 | E=0
显示("Hello world");
}
我已从该社区的各种帖子中编译了此代码。


