📄 main.c
字号:
#include "2440addr.h"
#define MVAL (13)
#define MVAL_USED (0) //0=each frame 1=rate by MVAL
#define INVVDEN (1) //0=normal 1=inverted
#define BSWP (0) //Byte swap control
#define HWSWP (1) //Half word swap control
#define M5D(n) ((n) & 0x1fffff) // To get lower 21bits
#define LCD_XSIZE_TFT (320)
#define LCD_YSIZE_TFT (240)
#define SCR_XSIZE_TFT (320)
#define SCR_YSIZE_TFT (240)
#define HOZVAL_TFT (LCD_XSIZE_TFT-1)
#define LINEVAL_TFT (LCD_YSIZE_TFT-1)
#define VBPD (14) //垂直同步信号的后肩
#define VFPD (11) //垂直同步信号的前肩
#define VSPW (2) //垂直同步信号的脉宽
#define HBPD (37) //水平同步信号的后肩
#define HFPD (19) //水平同步信号的前肩
#define HSPW (29) //水平同步信号的脉宽
#define CLKVAL_TFT (7)
volatile static unsigned short LCD_BUFFER_CAM[SCR_YSIZE_TFT][SCR_XSIZE_TFT];
void CamInit(void)
{
rCIGCTRL |= (1<<26);
rCIWDOFST = 0;
rCISRCFMT = (1<<31)|(0<<30)|(0<<29)|(640<<16)|(0<<15)|(0<<14)|(480);
rCIPRCLRSA1 = (unsigned int)LCD_BUFFER_CAM;
rCIPRCLRSA2 = (unsigned int)LCD_BUFFER_CAM;
rCIPRCLRSA3 = (unsigned int)LCD_BUFFER_CAM;
rCIPRCLRSA4 = (unsigned int)LCD_BUFFER_CAM;
rCIPRTRGFMT = (320<<16)|(0<<14)|240;
rCIPRCTRL = (16<<19)|(16<<14);
rCIPRSCPRERATIO = (8<<28)|(2<<16)|2;
rCIPRSCPREDST = (320<<16)|240;
rCIPRSCCTRL = (1<<31)|(0<<30)|(0<<29)|(0<<28)|(256<<16)|256;
rCIPRTAREA = 320*240;
}
static void Lcd_Init(void)
{
rGPCUP = 0x00000000;
rGPCCON = 0xaaaa02a9;
rGPDUP = 0x00000000;
rGPDCON=0xaaaaaaaa;
rLCDCON1=(CLKVAL_TFT<<8)|(MVAL_USED<<7)|(3<<5)|(12<<1)|0;
rLCDCON2=(VBPD<<24)|(LINEVAL_TFT<<14)|(VFPD<<6)|(VSPW);
rLCDCON3=(HBPD<<19)|(HOZVAL_TFT<<8)|(HFPD);
rLCDCON4=HSPW;
rLCDCON5=(1<<11)|(1<<10)|(1<<9)|(1<<8)|(0<<7)|(0<<6)|(1<<3)|(BSWP<<1)|(HWSWP);
rLCDSADDR1=(((unsigned int)LCD_BUFFER_CAM>>22)<<21)|M5D((unsigned int)LCD_BUFFER_CAM>>1);
rLCDSADDR2=M5D(((unsigned int)LCD_BUFFER_CAM+(SCR_XSIZE_TFT*LCD_YSIZE_TFT*2))>>1 );
rLCDSADDR3=(((SCR_XSIZE_TFT-LCD_XSIZE_TFT)/1)<<11)|(LCD_XSIZE_TFT/1);
rLCDINTMSK|=(3);
rTCONSEL &= (~7) ;
rTPAL=0;
rLCDCON1|=1;
}
void Main(void)
{
CamReset();
CamPortSet();
Test_OV9650();
Lcd_Init() ;
CamInit();
rCIPRSCCTRL |= (1<<15);
rCIIMGCPT |= (1<<31)|(1<<29);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -