S3C6410圖形旋轉(zhuǎn)裸機(jī)驅(qū)動(dòng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
這個(gè)比較簡(jiǎn)單,一次成功,沒(méi)遇到任何問(wèn)題.
GraphRotation.c
/*************************************************************************************************************
*文件名:GraphRotation.c
*功能:S3C6410圖形旋轉(zhuǎn)底層驅(qū)動(dòng)函數(shù)
*作者:cp1300@139.com
*創(chuàng)建時(shí)間:2012年10月15日21:12
*最后修改時(shí)間:2012年10月15日
*詳細(xì):圖形旋轉(zhuǎn)控制器底層驅(qū)動(dòng)
*************************************************************************************************************/
#include"system.h"
#include"GraphRotation.h"
#include"delay.h"
//超時(shí),單位US
#defineGR_TIMEOUT1000000
/*************************************************************************************************************************
*函數(shù):voidRotation_SetInputImage(u8TypeImage)
*功能:設(shè)置輸入旋轉(zhuǎn)圖像格式
*參數(shù):TypeImage:圖像格式,見(jiàn)宏定義
#defineGR_YUV4200
#defineGR_YUV4223
#defineGR_RGB5654
#defineGR_RGB8885
*返回:無(wú)
*依賴:底層宏定義
*作者:cp1300@139.com
*時(shí)間:20121016
*最后修改時(shí)間:20121016
*說(shuō)明:無(wú)
*************************************************************************************************************************/
voidRotation_SetInputImage(u8TypeImage)
{
rGR_CTRLCFG&=~(0x7<<13);//清除設(shè)置
rGR_CTRLCFG|=(0x7&TypeImage)<<13;
}
/*************************************************************************************************************************
*函數(shù):voidRotation_SetRotationDeg(u8Degree)
*功能:設(shè)置圖像旋轉(zhuǎn)角度
*參數(shù):Degree:旋轉(zhuǎn)角度,見(jiàn)宏定義
#defineGR_0Deg0//0
#defineGR_90Deg1//90
#defineGR_180Deg2//180
#defineGR_270Deg3//270
*返回:無(wú)
*依賴:底層宏定義
*作者:cp1300@139.com
*時(shí)間:20121016
*最后修改時(shí)間:20121016
*說(shuō)明:翻轉(zhuǎn)和旋轉(zhuǎn)不能同時(shí)生效
*************************************************************************************************************************/
voidRotation_SetRotationDeg(u8Degree)
{
rGR_CTRLCFG&=~(0x3<<6);//清除設(shè)置
rGR_CTRLCFG|=(0x3&Degree)<<6;
}
/*************************************************************************************************************************
*函數(shù):voidRotation_SetFlipDir(u8Direction)
*功能:設(shè)置圖像翻轉(zhuǎn)方向
*參數(shù):Direction:翻轉(zhuǎn)方向,見(jiàn)宏定義
#defineGR_NotFlip0//不翻轉(zhuǎn)
#defineGR_VerFlip2//垂直翻轉(zhuǎn)
#defineGR_HorFlip3//水平翻轉(zhuǎn)
*返回:無(wú)
*依賴:底層宏定義
*作者:cp1300@139.com
*時(shí)間:20121016
*最后修改時(shí)間:20121016
*說(shuō)明:翻轉(zhuǎn)和旋轉(zhuǎn)不能同時(shí)生效
*************************************************************************************************************************/
voidRotation_SetFlipDir(u8Direction)
{
rGR_CTRLCFG&=~(0x3<<4);//清除設(shè)置
rGR_CTRLCFG|=(0x3&Direction)<<4;
}
/*************************************************************************************************************************
*函數(shù):voidRotation_SetSourImageAddr(u32RGB_Y_Addr,u32CB_Addr,u32CR_Addr)
*功能:設(shè)置源圖像地址
*參數(shù):RGB_Y_Addr:RGB或者Y組成部分
*CB_Addr:CB組成部分
*CR_Addr:CR組成部分
*返回:無(wú)
*依賴:底層宏定義
*作者:cp1300@139.com
*時(shí)間:20121016
*最后修改時(shí)間:20121016
*說(shuō)明:無(wú)
*************************************************************************************************************************/
voidRotation_SetSourImageAddr(u32RGB_Y_Addr,u32CB_Addr,u32CR_Addr)
{
rGR_SRCADDRREG0=RGB_Y_Addr;
rGR_SRCADDRREG1=CB_Addr;
rGR_SRCADDRREG2=CR_Addr;
}
/*************************************************************************************************************************
*函數(shù):voidRotation_SetDesImageAddr(u32RGB_Y_Addr,u32CB_Addr,u32CR_Addr)
*功能:設(shè)置目標(biāo)圖像地址
*參數(shù):RGB_Y_Addr:RGB或者Y組成部分
*CB_Addr:CB組成部分
*CR_Addr:CR組成部分
*返回:無(wú)
*依賴:底層宏定義
*作者:cp1300@139.com
*時(shí)間:20121016
*最后修改時(shí)間:20121016
*說(shuō)明:無(wú)
*************************************************************************************************************************/
voidRotation_SetDesImageAddr(u32RGB_Y_Addr,u32CB_Addr,u32CR_Addr)
{
rGR_DESTADDRREG0=RGB_Y_Addr;