?? main.c
字號:
// 基于LM3S驅動庫的Stellaris系列單片機GPIO演示程序
// 包含必要的頭文件
#include <hw_types.h>
#include <hw_memmap.h>
#include <hw_sysctl.h>
#include <hw_ints.h>
#include <interrupt.h>
#include <hw_gpio.h>
#include <sysctl.h>
#include <gpio.h>
#include "lcd.h"
// 定義按鍵
#define KEY_PORT SYSCTL_PERIPH_GPIOB
#define KEY_PIN GPIO_PORTB_BASE , GPIO_PIN_5
#define KeyGet() GPIOPinRead(KEY_PIN)
#define KEY3 GPIO_PIN_4 /* 定義KEY3的引腳PB4 */
extern uchar ucCol; // Col = x (0-127),
extern uchar ucRow; // Row = y (0-7)
extern uchar Base;
extern uchar xy; // 畫線方向標志:1 = 水平 0 = 垂直
extern const uchar _Chinese_1[];
extern const uchar _Chinese_2[];
uchar STR1[]=" Hello World ";
/**********************************************************************************************/
// 防止JTAG失效
void WaitJTAG(void)
{
SysCtlPeripheralEnable(KEY_PORT); // 使能按鍵所在的GPIO端*/
GPIOPinTypeGPIOInput(KEY_PIN); // 設置按鍵所在管腳為輸入
if ( KeyGet() == 0x00 ) // 如果有鍵按下,則進入
{
for (;;); // 死循環,以等待JTAG連接
}
SysCtlPeripheralDisable(KEY_PORT); // 禁止按鍵所在的GPIO端口
}
/*************************************************************************************************/
void Delay(unsigned long t)
{
while(--t);
}
/************************************************************************************************/
int main(void)
{
WaitJTAG(); // 防止JTAG失效,重要!
// SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_OSC_MAIN |
// SYSCTL_USE_PLL | SYSCTL_XTAL_6MHZ); // LCD程序在50M的速度下也能使用
/************************************ example ***********************************************/
LCD_PinConfig(); // LCD接口管腳配置
LCD_Init(); // LCD 初始化
LCD_Cls(); // LCD 清屏
ucCol=0; // 顯示字符串的位置 uCCol 行
ucRow=0; // ucRow 列
Base=0;
PutEnStr(STR1,16); // 英文輸出函數 字符的個數 英文最大16 中文最大8個
ucCol=0;
ucRow=2;
PutEnStr(" Author X ",16);
ucCol=32;
ucRow=4;
PutChStr(_Chinese_1,4); // 中文輸出函數
ucCol=48;
ucRow=6;
PutChStr(_Chinese_2,2);
ucCol=0;
ucRow=0;
xy=0; // draw vertical line
LineTo(64);
ucCol=0;
ucRow=0;
xy=1; // draw horizontal line
LineTo(128);
ucCol=127;
ucRow=0;
xy=0; // draw vertical line
LineTo(64);
ucCol=0;
ucRow=63;
xy=1; // draw horizontal line
LineTo(128);
/**********************************************************************************************/
while (1)
{
Rollscreen(Base++); /* 向上滾屏顯示 */
Delay(1000000);
}
}
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -