亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? timers.c

?? davinci linux drivers
?? C
字號:
/*=============================================================================
=
= Name:     QVGA Display and Timer Verification and Example Code
=
===============================================================================
=
= (C) Copyright 2006 - Analog Devices, Inc.  All rights reserved.
=
= File Name :   timers.c
=
= Date      :   12/21/06
=
= Target    :   ADSP-BF537
=
= Version   :   1.0
=
= Purpose   :   Test the display with a bitmap
=
=
=
==============================================================================*/

#include <services/services.h>
#include <services/tmr/adi_tmr.h>
#include "debug.h"
#include "timers.h"

#define DCLKS_PER_FRAME		(FREQ_PPI_CLK/FRAMES_PER_SEC)   // 6*1000*1000/60=100000
#define DCLKS_PER_LINE		(DCLKS_PER_FRAME/(320+START_LINES+U_LINES)) // 303/329=

// LCD Timers
#define BF537_EZKIT_TMR_LP_LCD		ADI_TMR_GP_TIMER_6
#define BF537_EZKIT_TMR_SPS_LCD		ADI_TMR_GP_TIMER_1
#define BF537_EZKIT_TMR_PS_LCD		ADI_TMR_GP_TIMER_7
#define BF537_EZKIT_TMR_REV_LCD		ADI_TMR_GP_TIMER_5
#define BF537_EZKIT_TMR_SP_LCD		ADI_TMR_GP_TIMER_0
#define BF537_EZKIT_NUM_TIMERS_FOR_LCD			5

#define BF537_EZKIT_TMR_HSYNC		BF537_EZKIT_TMR_SP_LCD
#define BF537_EZKIT_TMR_VSYNC		BF537_EZKIT_TMR_SPS_LCD

// Macro for readibility
#define CHECK(X)	ret = X;										\
					if (ret != ADI_TMR_RESULT_SUCCESS)				\
						BF537_EZKIT_Throw ("adi_tmr_GPControl error\n");
						
						
void InitTimers (void)
{
	// Initialize the timer services
	int ret = adi_tmr_Init (NULL);
	if (ret != 0) 
		BF537_EZKIT_Throw ("adi_tmr_Init error\n");
	ret = adi_ports_Init (NULL);
	if (ret != 0) 
		BF537_EZKIT_Throw ("adi_ports_Init error\n");
}

		
void OpenTimersForLCD (void)
{
/*    int ret;
 *   
 *	static ADI_TMR_GP_CMD_VALUE_PAIR GPTableTimerCommonCommands[] =
 *	{ 
 *		{ ADI_TMR_GP_CMD_SET_TIMER_MODE,			(void*) PWM_OUT			},
 *		{ ADI_TMR_GP_CMD_SET_COUNT_METHOD,			(void*) TRUE			},	// Count to end of period. Required by PWM_OUT
 *		{ ADI_TMR_GP_CMD_SET_INTERRUPT_ENABLE,		(void*) FALSE			},	// No timer interrupts
 *		{ ADI_TMR_GP_CMD_SET_INPUT_SELECT,			(void*) TRUE			},	// UART_RX or PPI_CLK (PPI_CLK)
 *		{ ADI_TMR_GP_CMD_SET_OUTPUT_PAD_DISABLE,	(void*) FALSE			},	// Enable the pin of TimerID
 *		{ ADI_TMR_GP_CMD_SET_CLOCK_SELECT,			(void*) TRUE			},	// Use PWM clock (PPI_CLK)
 *		{ ADI_TMR_GP_CMD_SET_TOGGLE_HI,				(void*) FALSE			},	// Do not toggle active high
 *		{ ADI_TMR_GP_CMD_RUN_DURING_EMULATION,		(void*) FALSE			},	// Keep running during emulator interrupts
 *		{ ADI_TMR_GP_CMD_END, NULL }
 *	};
 *	
 *	// Open and set the configuration values for each timer
 *	// Only for coherence with the device drivers model. See StartTimersForLCD for actual initialization
 *	adi_tmr_Open (BF537_EZKIT_TMR_VSYNC);		// SPS timer 1
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_VSYNC, ADI_TMR_GP_CMD_TABLE, GPTableTimerCommonCommands) );
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_VSYNC, ADI_TMR_GP_CMD_SET_PULSE_HI, (void*) TRUE) );
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_VSYNC, ADI_TMR_GP_CMD_SET_PERIOD, (void*) (DCLKS_PER_LINE*(320+START_LINES+U_LINES))) );		// 1 frame
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_VSYNC, ADI_TMR_GP_CMD_SET_WIDTH, (void*) (27)) );								// 1 frame - (7 lines - 4 PPI_CLK + 1 PPI_CLK)
 *
 *	adi_tmr_Open (BF537_EZKIT_TMR_PS_LCD);		// PS & CLS timer 7
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_PS_LCD, ADI_TMR_GP_CMD_TABLE, GPTableTimerCommonCommands) );
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_PS_LCD, ADI_TMR_GP_CMD_SET_PULSE_HI, (void*) TRUE) );
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_PS_LCD, ADI_TMR_GP_CMD_SET_PERIOD, (void*) (DCLKS_PER_LINE)) );					// 1 line
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_PS_LCD, ADI_TMR_GP_CMD_SET_WIDTH, (void*) (25)) );								// 1 line - ((21+PPI_X) + 4)	
 *
 *	adi_tmr_Open (BF537_EZKIT_TMR_REV_LCD);	// REV timer 5
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_REV_LCD, ADI_TMR_GP_CMD_TABLE, GPTableTimerCommonCommands) );
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_REV_LCD, ADI_TMR_GP_CMD_SET_PULSE_HI, (void*) TRUE) );
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_REV_LCD, ADI_TMR_GP_CMD_SET_PERIOD, (void*) (DCLKS_PER_LINE*2)) );				// 2 lines
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_REV_LCD, ADI_TMR_GP_CMD_SET_WIDTH, (void*) (DCLKS_PER_LINE)) );					// 1 line
 *
 *	adi_tmr_Open (BF537_EZKIT_TMR_LP_LCD);		// LP timer 6
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_LP_LCD, ADI_TMR_GP_CMD_TABLE, GPTableTimerCommonCommands) );
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_LP_LCD, ADI_TMR_GP_CMD_SET_PULSE_HI, (void*) TRUE) );
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_LP_LCD, ADI_TMR_GP_CMD_SET_PERIOD, (void*) (DCLKS_PER_LINE)) );					// 1 line
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_LP_LCD, ADI_TMR_GP_CMD_SET_WIDTH, (void*) (1)) );								// 1 PPI_CLK
 *		
 *	adi_tmr_Open (BF537_EZKIT_TMR_HSYNC);		// SP timer 0
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_HSYNC, ADI_TMR_GP_CMD_TABLE, GPTableTimerCommonCommands) );
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_HSYNC, ADI_TMR_GP_CMD_SET_PULSE_HI, (void*) TRUE) );
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_HSYNC, ADI_TMR_GP_CMD_SET_PERIOD, (void*) (DCLKS_PER_LINE)) );					// 1 line
 *	CHECK( adi_tmr_GPControl (BF537_EZKIT_TMR_HSYNC, ADI_TMR_GP_CMD_SET_WIDTH, (void*) (1)) );									// 1 line - 1 PPI_CLK
 */
}

	
void StartTimersForLCD (void)
{
    u32 timer_ports_config[BF537_EZKIT_NUM_TIMERS_FOR_LCD] = { ADI_PORTS_DIR_TMR_6, ADI_PORTS_DIR_TMR_1, ADI_PORTS_DIR_TMR_7, ADI_PORTS_DIR_TMR_5, ADI_PORTS_DIR_TMR_0 };
    int ret;
    
	adi_ports_EnableTimer (timer_ports_config, BF537_EZKIT_NUM_TIMERS_FOR_LCD, TRUE);
	
    *pTIMER1_CONFIG = PWM_OUT | PERIOD_CNT | TIN_SEL | CLK_SEL | PULSE_HI | EMU_RUN;
    *pTIMER1_PERIOD = DCLKS_PER_LINE*(320+START_LINES+U_LINES);
    *pTIMER1_WIDTH = 27+100;
      
    *pTIMER7_CONFIG = PWM_OUT | PERIOD_CNT | TIN_SEL | CLK_SEL | PULSE_HI | EMU_RUN;
    *pTIMER7_PERIOD = DCLKS_PER_LINE;
    *pTIMER7_WIDTH = 25+100;
      	
    *pTIMER5_CONFIG = PWM_OUT | PERIOD_CNT | TIN_SEL | CLK_SEL | PULSE_HI | EMU_RUN;
    *pTIMER5_PERIOD = DCLKS_PER_LINE*2;
    *pTIMER5_WIDTH = DCLKS_PER_LINE;
    
    *pTIMER6_CONFIG = PWM_OUT | PERIOD_CNT | TIN_SEL | CLK_SEL | PULSE_HI | EMU_RUN;
    *pTIMER6_PERIOD = DCLKS_PER_LINE;
    *pTIMER6_WIDTH = 1;
      
    *pTIMER0_CONFIG = PWM_OUT | PERIOD_CNT | TIN_SEL | CLK_SEL | PULSE_HI | EMU_RUN;
    *pTIMER0_PERIOD = DCLKS_PER_LINE;
    *pTIMER0_WIDTH = 1;
    
    // Enable HSYNC and VSYNC timers for the LCD
    CHECK( adi_tmr_GPGroupEnable (BF537_EZKIT_TMR_VSYNC, TRUE) );    
    // Precisely delay the start of the other timers
	while (*pTIMER1_COUNTER < 1);
	*pTIMER_ENABLE = TIMEN7;
	while (*pTIMER1_COUNTER < 9+100);
	*pTIMER_ENABLE = TIMEN5;
	while (*pTIMER1_COUNTER < 24+100);
	*pTIMER_ENABLE = TIMEN6;
	while (*pTIMER1_COUNTER < 26+100);
	*pTIMER_ENABLE = TIMEN0;
}


void CloseTimers (void)
{
    int ret;
    
	// Terminate all the timers
	ret = adi_tmr_Terminate ();
	ret = adi_ports_Terminate ();
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产高清无密码一区二区三区| 91在线播放网址| 日韩理论片一区二区| 91精品福利在线一区二区三区| 国产久卡久卡久卡久卡视频精品| 亚洲国产另类精品专区| 国产精品视频在线看| 日韩美女天天操| 欧美午夜电影一区| voyeur盗摄精品| 国产综合久久久久久鬼色| 天天影视色香欲综合网老头| 中文字幕综合网| 国产欧美在线观看一区| 日韩一区二区三区精品视频| 色狠狠一区二区| 成人黄色一级视频| 国产成人在线观看免费网站| 精品伊人久久久久7777人| 一区二区三区欧美日韩| 国产精品美女久久久久av爽李琼| 欧美一级国产精品| 欧美美女bb生活片| 色偷偷88欧美精品久久久| 高清国产午夜精品久久久久久| 美女精品一区二区| 日本不卡视频在线观看| 五月综合激情日本mⅴ| 亚洲精品老司机| 自拍偷拍国产精品| 自拍偷拍亚洲欧美日韩| 亚洲日本电影在线| 亚洲欧洲成人精品av97| 国产精品美女久久久久久久久久久| 久久久精品国产免大香伊| 2020日本不卡一区二区视频| 欧美r级在线观看| 日韩美女视频在线| 欧美成人精品二区三区99精品| 日韩视频免费观看高清完整版| 在线观看91av| 日韩欧美一区二区免费| 日韩三级在线观看| 精品久久久久久久人人人人传媒| 制服丝袜中文字幕一区| 欧美一区二区三区在线电影 | 成人免费电影视频| 国产成人精品1024| 国产91精品一区二区| 成人一区二区三区在线观看| 99久久综合精品| 91激情在线视频| 欧美酷刑日本凌虐凌虐| 欧美一级欧美三级| 久久新电视剧免费观看| 国产亚洲1区2区3区| 中文字幕一区二区三区不卡在线 | 精品视频123区在线观看| 欧美午夜精品久久久久久孕妇| 欧美日韩精品欧美日韩精品| 91精品国产高清一区二区三区蜜臀| 日韩手机在线导航| 中文字幕免费在线观看视频一区| 综合色中文字幕| 亚洲va中文字幕| 精品一区二区免费在线观看| 成人免费毛片app| 在线精品亚洲一区二区不卡| 日韩精品在线一区二区| 国产精品电影一区二区三区| 亚洲午夜在线视频| 久久99国产精品免费网站| 成人av免费在线| 欧美猛男gaygay网站| 国产三级欧美三级日产三级99| 亚洲人成网站在线| 久久国产精品免费| 色综合一区二区三区| 欧美一级高清片| 国产精品免费aⅴ片在线观看| 一区二区三区蜜桃网| 久久av资源站| 在线视频综合导航| 久久久久久久综合| 午夜免费久久看| 国产成人精品免费一区二区| 欧美亚洲日本一区| 国产精品视频看| 三级亚洲高清视频| 99精品久久免费看蜜臀剧情介绍| 欧美日韩五月天| 国产精品美女视频| 精品亚洲免费视频| 欧美日韩在线电影| 国产欧美综合在线| 日韩av不卡在线观看| 成人精品免费看| 日韩精品在线一区| 亚洲国产婷婷综合在线精品| 国产成人在线观看| 欧美一级高清片在线观看| 亚洲精品伦理在线| 成人动漫一区二区| 精品国产乱码久久久久久免费 | 视频一区中文字幕| 91在线高清观看| 中文字幕免费一区| 国产麻豆精品久久一二三| 91精品国产手机| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美美女直播网站| 亚洲欧美另类久久久精品2019| 国产乱子伦视频一区二区三区| 国产在线一区观看| 一区二区三区免费看视频| 精品久久久久一区| 午夜av电影一区| 欧美日韩中文一区| 亚洲综合色丁香婷婷六月图片| 日本精品视频一区二区三区| 国产精品久久毛片a| 成人精品视频网站| 国产精品传媒视频| 在线观看日韩电影| 久久黄色级2电影| 欧美电影免费提供在线观看| 亚洲国产精品一区二区久久恐怖片| 粉嫩嫩av羞羞动漫久久久| 精品久久久久久久久久久久久久久 | 91社区在线播放| 国产精品嫩草影院av蜜臀| 国产精品白丝jk白祙喷水网站| 精品久久一区二区三区| 精品一区二区三区免费毛片爱| 精品久久久久久综合日本欧美| 韩国成人在线视频| 国产视频一区二区三区在线观看| 国产精品亚洲第一区在线暖暖韩国| 久久久一区二区三区| 国产a精品视频| 中文字幕日本不卡| 色偷偷久久人人79超碰人人澡| 一区二区三区影院| 日本韩国欧美国产| 亚洲成人一区二区| 日韩一级黄色大片| 精品一区二区三区香蕉蜜桃| 久久久综合视频| gogogo免费视频观看亚洲一| 国产精品理伦片| 色婷婷av久久久久久久| 亚洲亚洲人成综合网络| 91麻豆精品国产| 国产精品系列在线播放| 亚洲欧洲国产日韩| 欧美日韩精品一区二区天天拍小说 | 高清视频一区二区| 亚洲色图在线播放| 欧美美女bb生活片| 国产在线精品免费| 一区在线中文字幕| 精品视频一区二区三区免费| 午夜精品123| 久久日韩粉嫩一区二区三区| 成人av网站免费观看| 亚洲一区二区三区视频在线播放| 91精品国产综合久久久蜜臀粉嫩| 久色婷婷小香蕉久久| 亚洲欧洲精品成人久久奇米网| 欧美日韩午夜精品| 国产乱子伦视频一区二区三区 | 国产精品入口麻豆九色| 色婷婷综合五月| 久热成人在线视频| 亚洲欧美日韩国产中文在线| 91精品国产一区二区三区香蕉| 国产成人丝袜美腿| 亚洲国产美女搞黄色| 精品91自产拍在线观看一区| 99久久国产免费看| 奇米色一区二区| 亚洲蜜臀av乱码久久精品蜜桃| 日韩一级完整毛片| 99精品欧美一区二区三区综合在线| 性欧美疯狂xxxxbbbb| 欧美国产综合色视频| 51精品久久久久久久蜜臀| 99视频精品免费视频| 极品美女销魂一区二区三区免费| 亚洲视频资源在线| 精品处破学生在线二十三| 欧洲日韩一区二区三区| 国产乱妇无码大片在线观看| 亚洲国产精品一区二区久久| 中文字幕精品综合| 欧美电影免费提供在线观看| 欧美视频一区在线| 成人av在线播放网址| 国内精品久久久久影院薰衣草| 成人动漫一区二区在线|