主题中讨论的其他器件: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"); }
我已从该社区的各种帖子中编译了此代码。