標(biāo)題:
S3C6410裸機LCD液晶驅(qū)動程序,采用飛凌公司的OK6410開發(fā)板
[打印本頁]
作者:
51hei學(xué)習(xí)技術(shù)中
時間:
2017-3-16 02:45
標(biāo)題:
S3C6410裸機LCD液晶驅(qū)動程序,采用飛凌公司的OK6410開發(fā)板
S3C6410裸機LCD液晶驅(qū)動程序,采用飛凌公司的OK6410開發(fā)板
0.png
(48.57 KB, 下載次數(shù): 63)
下載附件
2017-3-16 02:44 上傳
全部源碼下載:
OK6410.rar
(452.03 KB, 下載次數(shù): 10)
2017-3-16 02:45 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
主程序:
#include <math.h>
#include "main.h"
#include "REG_S3C6410.h"
#include "ucos_ii.h"
#include "app_cfg.h"
#include "ASCII.h"
#include "lcd.h"
#include "CP15.h"
#define LED_CON rGPMCON
#define LED_PUD rGPMPUD
#define LED_DAT rGPMDAT
#define BUZZER_CON rGPFCON
#define BUZZER_PUD rGPFPUD
#define BUZZER_DAT rGPFDAT
OS_STK MainTaskStk[MainTaskStkLengh];
OS_STK Task0Stk [Task0StkLengh]; // Define the Task0 stack
OS_STK Task1Stk [Task1StkLengh]; // Define the Task1 stack
OS_STK Task2Stk [Task2StkLengh]; // Define the Task1 stack
//extern unsigned long HandleIRQ;
unsigned char i,j,k;
void Delay_ms(int time)
{
volatile unsigned int i,j;
for(i = 0; i < 2000000; i++)
for(j=0; j<time; j++);
}
void GPIO_Init()
{
LED_CON = 0x11111;
LED_PUD = 0x00;
LED_DAT = 0X1F;
BUZZER_CON|= BIT30;
BUZZER_PUD = 0x00;
}
void MainTask(void *pdata)
{
while(1)
{
i++;
LCD_PutString(0,0,(u32 **)pLCD_Win0Buffer,"Task0:\nTask1:\nTask2:\n",0x00ff00,0x000000);
LCD_PutHEX(48,0,(u32 **)pLCD_Win0Buffer,i,0x00ff00,0x000000);
LCD_PutHEX(48,16,(u32 **)pLCD_Win0Buffer,j,0x00ff00,0x000000);
LCD_PutHEX(48,32,(u32 **)pLCD_Win0Buffer,k,0x00ff00,0x000000);
//OSTimeDly(OS_TICKS_PER_SEC);
}
}
void Task0 (void *pdata)
{
while(1)
{
i++;
if(i>99)
i=0;
OSTimeDly(OS_TICKS_PER_SEC);
}
}
void Task1 (void *pdata)
{
while(1)
{
j++;
OSTimeDly(OS_TICKS_PER_SEC);
}
}
void Task2 (void *pdata)
{
while(1)
{
k++;
OSTimeDly(OS_TICKS_PER_SEC);
}
}
void SystemInit()
{
GPIO_Init();
LCD_Win0Init();
LCD_Win0SelectBuffer(0);
LCD_Win0Clear(0x000000);
OSInit ();
OSTimeSet(0);
OSTaskCreate (MainTask,(void *)0, &MainTaskStk[MainTaskStkLengh - 1], MainTaskPrio);
OSTaskCreate (Task0,(void *)0, &Task0Stk[Task0StkLengh - 1], Task0Prio);
OSTaskCreate (Task1,(void *)0, &Task1Stk[Task1StkLengh - 1], Task1Prio);
OSTaskCreate (Task2,(void *)0, &Task2Stk[Task2StkLengh - 1], Task2Prio);
OSStart ();
}
void Main()
{
SystemInit();
while(1)
{
LCD_PutHEX(0,0,(u32 **)pLCD_Win0Buffer,rAPLL_LOCK,0x00ffff,0x000000);
LCD_PutHEX(0,16,(u32 **)pLCD_Win0Buffer,rMPLL_LOCK,0x00ffff,0x000000);
LCD_PutHEX(0,32,(u32 **)pLCD_Win0Buffer,rEPLL_LOCK,0x00ffff,0x000000);
LCD_PutHEX(0,48,(u32 **)pLCD_Win0Buffer,rAPLL_CON,0x00ffff,0x000000);
LCD_PutHEX(0,64,(u32 **)pLCD_Win0Buffer,rMPLL_CON,0x00ffff,0x000000);
OSStart ();
}
}
復(fù)制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1