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

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

?? armio.c

?? 手機(jī)GSM TI 平臺(tái)ARM IO 驅(qū)動(dòng)源碼
?? C
字號(hào):
/* * ARMIO.C  * * * Control diagnostic bits * * Reference : GCS207 * */#include "l1sw.cfg"#include "swconfig.cfg"#if (OP_L1_STANDALONE == 0)	#ifdef BLUETOOTH_INCLUDED	#include "btemobile.cfg"	#endif#endif#if (OP_L1_STANDALONE == 1)  #include "l1_macro.h"  #include "l1_confg.h"#endif#include "board.cfg"#include "chipset.cfg"#include "sys_types.h"#include "memif/mem.h"#include "inth/iq.h"#include "armio/armio.h"#include "abb/abb.h"	 // for AI_Power function : to be removed, use ABB_Power_Off in abb.c file instead !!!#include "general.h"#include "board.cfg"#if (CHIPSET != 12)/* * AI_EnableBit * * Enable ARMIO input/output bit (see CLKM module specification) */void AI_EnableBit(int bit){  *((volatile SYS_UWORD16 *) CLKM_IO_CNTL) |= (1<<bit); }/* * AI_DisableBit * * Disable ARMIO input/output bit (see CLKM module specification) */void AI_DisableBit(int bit){  *((volatile SYS_UWORD16 *) CLKM_IO_CNTL) &= ~(1<<bit); }#endif /* CHIPSET != 12 *//* * AI_SetBit * * Switch-on one bit */void AI_SetBit(int bit){   *((volatile SYS_UWORD16 *) ARMIO_OUT) |= (1<<bit); }/* * AI_ResetBit * * Switch-off one bit */void AI_ResetBit(int bit){   *((volatile SYS_UWORD16 *) ARMIO_OUT) &= ~(1<<bit); }/* * AI_ConfigBitAsOutput * * Set this bit as an output */void AI_ConfigBitAsOutput(int bit){   *((volatile SYS_UWORD16 *) ARMIO_IO_CNTL) &= ~(1<<bit); }/* * AI_ConfigBitAsInput * * Set this bit as an input */void AI_ConfigBitAsInput(int bit){   *((volatile SYS_UWORD16 *) ARMIO_IO_CNTL) |= (1<<bit); }/* * AI_ReadBit * * Read value in register */SYS_BOOL AI_ReadBit(int bit){   if ((*((volatile SYS_UWORD16 *) ARMIO_IN)) & (1<<bit))      return (1);   else      return (0);}/* * AI_Power * * Switch-on or off the board * * Parameters : SYS_UWORD8 power: 1 to power-on (maintain power) *                                0 to power-off * */#if (OP_L1_STANDALONE == 0)void AI_Power(SYS_UWORD8 power){  SYS_UWORD16 status_value;  if (power == 0)   {    // Check whether charger is present or not?    #if ((ANLG_FAM == 1) || (ANLG_FAM == 2))      status_value = ABB_Read_Status();    #elif (ANLG_FAM == 3)      status_value = ABB_Read_Register_on_page(PAGE1, VRPCCFG);    #endif //   if (!(status_value & CHGPRES))    {      // Charger not present => Turn-Off the Board	ABB_Power_Off();  }	/*else {       // Charging is still on-going 	}*/  }}#endif/* * AI_ResetIoConfig * * Reset all default IO configurations * */void AI_ResetIoConfig(void){   *((volatile SYS_UWORD16 *) ARMIO_IO_CNTL) = 0xFFFF; // all bits are inputs#if (CHIPSET != 12)   *((volatile SYS_UWORD16 *) CLKM_IO_CNTL) = 0;       // default config  #endif /* CHIPSET != 12 */}/* * AI_ClockEnable * * Enable ARMIO clock module * */void AI_ClockEnable(void){   *((volatile SYS_UWORD16 *) ARMIO_CNTL_REG) |= ARMIO_CLOCKEN;    // set to 1 bit 5}#if (BOARD == 7)/* * AI_InitIOConfig * * Configure all GPIOs at initialization in order to optimize the power consumption  * of the B-Sample : *  - select IOs 8,9,10,11,12 and 13 on the pins instead of MCSI and MCUEN signals. *  - configure these IOs in output high. *  - configure the IOs 0 and 1 in output low. */void AI_InitIOConfig(void){  // reset the IOs config  AI_ResetIoConfig();  // CLKM_IO_CNTL register configuration :  // select IOs 8,9,10,11,12 and 13 on the pins instead of MCSI and MCUEN signals.  #if (CHIPSET != 12)  AI_EnableBit(4);  #endif  /* Bits 5,6,7,8 are used to output I/O 9,10,11,12 or MCSI pins */  /* If Bluetooth, IO should be disabled, outputting MCSI used for Bluetooth voice */#ifdef BTEMOBILE  #if (CHIPSET != 12)  AI_DisableBit(5);  AI_DisableBit(6);  AI_DisableBit(7);  AI_DisableBit(8);  #endif#else  #if (CHIPSET != 12)  AI_EnableBit(5);  AI_EnableBit(6);  AI_EnableBit(7);  AI_EnableBit(8);#endif#endif  #if (CHIPSET != 12)  AI_EnableBit(9);  #endif  // ARMIO_OUT register configuration :  // reset the general output latchs.  *((volatile SYS_UWORD16 *) ARMIO_OUT) = 0x3F00;  // ARMIO_CNTL_REG register configuration :  // set IOs 0,1,8,9,10,11,12 and 13 as ouputs.  AI_ConfigBitAsOutput(0);	// vibrator  AI_ConfigBitAsOutput(1);  // LCD_A0  AI_ConfigBitAsOutput(8);  AI_ConfigBitAsOutput(9);  AI_ConfigBitAsOutput(10);  AI_ConfigBitAsOutput(11);  AI_ConfigBitAsOutput(12);  AI_ConfigBitAsOutput(13);}#elif ((BOARD == 8) || (BOARD == 9) || (BOARD == 40) || (BOARD == 41) || (BOARD == 42) || (BOARD == 43) || (BOARD == 45))/* * AI_InitIOConfig * * Configure all GPIOs at initialization in order to optimize the power consumption  * of the C-Sample : *  - select IOs 8,9,10,11,12 and 13 on the pins instead of MCSI and MCUEN signals. *  - configure these IOs in output high. *  - configure the IOs 0 (Vibrator LED) and 1 (LCD_A0) in output low. */void AI_InitIOConfig(void){  // reset the IOs config  AI_ResetIoConfig();  // CLKM_IO_CNTL register configuration :  // select IOs 6,8,9,10,11,12 and 13 on the pins instead of MCSI and MCUEN signals.  #if (CHIPSET != 12)  AI_EnableBit(2);  AI_EnableBit(4);  #endif  /* Bits 5,6,7,8 are used to output I/O 9,10,11,12 or MCSI pins */  /* If Bluetooth, IO should be disabled, outputting MCSI used for Bluetooth voice */#ifdef BTEMOBILE  #if (CHIPSET != 12)  AI_DisableBit(5);  AI_DisableBit(6);  AI_DisableBit(7);  AI_DisableBit(8);  #endif#else  #if (CHIPSET != 12)  AI_EnableBit(5);  AI_EnableBit(6);  AI_EnableBit(7);  AI_EnableBit(8);#endif#endif  #if (CHIPSET != 12)  AI_EnableBit(9);  #endif  // ARMIO_OUT register configuration :  // set IOs 8,9,10,11,12 and 13 as high  // set IOs 0 to 7 as low  #if ((BOARD == 8) || (BOARD == 9))    *((volatile SYS_UWORD16 *) ARMIO_OUT) = 0x3F00;    // ARMIO_CNTL_REG register configuration :    // set IOs 0,1,6,8,9,10,11,12 and 13 as ouputs.    AI_ConfigBitAsOutput(0);	    AI_ConfigBitAsOutput(1);    AI_ConfigBitAsOutput(6);    AI_ConfigBitAsOutput(8);    AI_ConfigBitAsOutput(9);    AI_ConfigBitAsOutput(10);    AI_ConfigBitAsOutput(11);    AI_ConfigBitAsOutput(12);    AI_ConfigBitAsOutput(13);  #elif ((BOARD == 40) || (BOARD == 41) || (BOARD == 42) || (BOARD == 43) || (BOARD == 45))    // set IOs 1 and 8 to 13 as high    // set IOs 0 and 2 to 7 as low    // On D-Sample GPIO 1 must be set to high to enable the audio amplifier.    #if (OP_L1_STANDALONE == 0)      *((volatile SYS_UWORD16 *) ARMIO_OUT) = 0x3F02;    #else      *((volatile SYS_UWORD16 *) ARMIO_OUT) = 0x3F01;    #endif    // ARMIO_CNTL_REG register configuration :    // set IOs 1,2,5,7,9,14 and 15 as ouputs.    AI_ConfigBitAsOutput(1);	    AI_ConfigBitAsOutput(2);    AI_ConfigBitAsOutput(5);    AI_ConfigBitAsOutput(7);    AI_ConfigBitAsOutput(9);    AI_ConfigBitAsOutput(14);    AI_ConfigBitAsOutput(15);  #endif}//配置c1500主板iovoid AI_InitIOConfig_c1500(void){  // reset the IOs config  AI_ResetIoConfig();  AI_ConfigBitAsOutput(0);//handfree enable  AI_ConfigBitAsInput(1);//not use	  AI_ConfigBitAsInput(2);//earphone key check  AI_ConfigBitAsOutput(3);//keypad light  AI_ConfigBitAsInput(4);//camera hv  AI_ConfigBitAsInput(5);//not use  AI_ConfigBitAsOutput(6);//Motor enable  AI_ConfigBitAsOutput(7);//usb charge enable  AI_ConfigBitAsOutput(8);//camera reset  AI_ConfigBitAsOutput(9);//camera standby  AI_ConfigBitAsInput(10);//usb charge status 1  AI_ConfigBitAsOutput(11);//midi pa enable  AI_ConfigBitAsOutput(12);//midi reset  AI_ConfigBitAsInput(13);//usb charge status 2    AI_ResetBit(0);  AI_ResetBit(3);  AI_ResetBit(6);  AI_ResetBit(7);  AI_ResetBit(11);  AI_ResetBit(12);#if (CCDH_SENSOR == 1)  ov7660_powerOff();#else  AI_ResetBit(8);  AI_ResetBit(9);#endif}void AI_Keypad_Light(SYS_UWORD8 open){      AI_ConfigBitAsOutput(3);      if(open)	  	AI_SetBit(3);      else	  	AI_ResetBit(3);}/* * AI_SelectIOForIT * * Select which IO will be used to generate an interrupt. * 'Edge' specifies if interrup must be detected on falling or rising edge. * * Warning: parameters are not checked. */ void AI_SelectIOForIT (SYS_UWORD16 Pin, SYS_UWORD16 Edge){  #if (CHIPSET == 12)    /*     *  Update INTERRUPT_LEVEL_REG with Edge configuration on Pin selection     */    GPIO_INTERRUPT_LEVEL_REG = (Edge & 0x0001) << Pin;    /*     *  Update INTERRUPT_MASK_REG to enable interrupt generation on Pin selection     */    GPIO_INTERRUPT_MASK_REG = 1 << Pin;  #else    /*     * Bit SET_GPIO_EVENT_MODE (bit 0) is set to enable the GPIO event mode.     */         *((volatile SYS_UWORD16 *) ARMIO_GPIO_EVENT_MODE) = (Pin << 1) + (Edge << 5) + 1;  #endif}#if (CHIPSET != 12)/* * AI_CheckITSource * * Check if the interrupt specified by 'Source' is active or not. * * Output: 0: IT is not active *         1: IT is active * * Warning: parameters are not checked. * * Warning: If the keypad and GPIO interrupts may occur the GPIO interrupt *          must be checked first because the GPIO status bit is reset when *          the register is read. */ int  AI_CheckITSource (SYS_UWORD16 Source){    return (*((volatile SYS_UWORD16 *) ARMIO_KBD_GPIO_INT) & Source ? 1 : 0);}/* * AI_UnmaskIT * * Unmask the IT specified by 'Source' (keyboard or GPIO). * * Warning: parameters are not checked. */ void AI_UnmaskIT (SYS_UWORD16 Source){    *((volatile SYS_UWORD16 *) ARMIO_KBD_GPIO_MASKIT) &= ~Source;}/* * AI_MaskIT * * Mask the IT specified by 'Source' (keyboard or GPIO). * * Warning: parameters are not checked. */ void AI_MaskIT (SYS_UWORD16 Source){    *((volatile SYS_UWORD16 *) ARMIO_KBD_GPIO_MASKIT) |= Source;}#endif /* CHIPSET != 12 */#if (CHIPSET == 12)  void AI_MaskIT(SYS_UWORD16 d_io_number) {    GPIO_INTERRUPT_MASK_REG |= (1 << d_io_number);  } /* f_gpio_mask_it() */    void AI_UnmaskIT(SYS_UWORD16 d_io_number) {    GPIO_INTERRUPT_MASK_REG &= ~(1 << d_io_number);  } /* f_gpio_unmask_it() */#if (CCDH_SENSOR == 1)#define ov7660_standby_pin 9#define ov7660_reset_pin     8#define ov7660_vsync           4#define ov7660_href_high_max   20#define ov7660_href_low_max     10extern UINT8 camd_clock_flag;static void ov7660_nop_delay(SYS_UWORD32 ms){    unsigned short a;    while (ms-- > 0) for (a=0;a<1000;a++) asm(" nop");}void ov7660_standby(SYS_UWORD8 open){      AI_ConfigBitAsOutput(ov7660_standby_pin);      if(open == 1)      	{      	      AI_SetBit(ov7660_standby_pin);      	}else{      	              AI_ResetBit(ov7660_standby_pin);      		}}void ov7660_reset(SYS_UWORD8 reset){      AI_ConfigBitAsOutput(ov7660_reset_pin);      if(reset == 1)      	{      	      AI_SetBit(ov7660_reset_pin);      	}else{      	              AI_ResetBit(ov7660_reset_pin);      		}}void ov7660_powerOff(void){      ov7660_standby(1);      ov7660_reset(0);	  }void ov7660_powerOn(void){      ov7660_standby(0);      //ov7660_nop_delay(100);	      ov7660_reset(0);	        //ov7660_nop_delay(100);	}void ov7660_vsyncSetup(void){       AI_ConfigBitAsInput(ov7660_vsync);}void ov7660_chipInit(void){      ov7660_powerOn();      ov7660_vsyncSetup();	  }void ov7660_ChipReset(void){      ov7660_reset(1);	        ov7660_nop_delay(100);	      ov7660_reset(0);	        ov7660_nop_delay(100);	}void camera_wait_href(void){register int count=0;      AI_ConfigBitAsInput(ov7660_vsync);      do{		if(AI_ReadBit(ov7660_vsync))		{		      count++;		}else{		             count = 0;			}		if(camd_clock_flag == FALSE)			return;            }while(count < ov7660_href_high_max);	count = 0;     	do{		 if(!AI_ReadBit(ov7660_vsync))		 {		       count++;		 }else{		              count = 0;		 	}		 if(camd_clock_flag == FALSE)		 	return;	     }while(count < ov7660_href_low_max);}#endif#endif#elif ((BOARD == 35) || (BOARD == 46))/* * AI_InitIOConfig * * Configure GPIOs */void AI_InitIOConfig(void){  AI_ResetIoConfig();  AI_ConfigBitAsOutput(4);  // Set bit 4 to indicate when external memories are not needed  AI_ConfigBitAsInput (5);  // bit 5 is set by ARM9 ULPD to indicate availability of ext. mem}#endif /* BOARD 8, 9, 35, 40, 41, 42, 43 or 45*/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久久免费丝袜| 欧美在线制服丝袜| 97精品视频在线观看自产线路二| 97久久超碰国产精品| 日韩区在线观看| 欧美激情一区二区三区| 亚洲一区在线视频观看| 久久激情五月激情| 欧洲精品中文字幕| 欧美国产视频在线| 麻豆国产精品视频| 欧美日韩极品在线观看一区| 日本一区二区动态图| 精品一区二区在线视频| 欧美性猛片xxxx免费看久爱| 欧美激情一区二区三区蜜桃视频| 成人动漫中文字幕| 精品国产乱码久久久久久1区2区 | 欧美写真视频网站| 国产视频在线观看一区二区三区| 日韩精品一级中文字幕精品视频免费观看 | 国产激情视频一区二区三区欧美| 在线观看日韩电影| 中文字幕一区二区三区av| 九一久久久久久| 日韩一区二区在线观看| 亚洲va在线va天堂| 欧美日高清视频| 午夜影院在线观看欧美| 欧美三级中文字| 亚洲成人激情综合网| 欧美怡红院视频| 一区二区三区蜜桃网| 色哟哟国产精品免费观看| 日韩美女视频19| 成人不卡免费av| 国产精品久久久久精k8| 99热在这里有精品免费| 国产精品天美传媒| av在线综合网| 自拍偷在线精品自拍偷无码专区| k8久久久一区二区三区| 国产美女精品一区二区三区| 精品理论电影在线| 激情文学综合插| 久久久精品一品道一区| 国产精品一二三| 国产精品热久久久久夜色精品三区| 国内一区二区在线| 中文字幕高清不卡| 色综合一个色综合亚洲| 一区二区三区日韩精品| 欧美日韩二区三区| 久久99久久99| 日本一区二区视频在线| 色国产精品一区在线观看| 亚洲电影你懂得| 精品少妇一区二区三区日产乱码 | 精品一区二区免费视频| 久久综合给合久久狠狠狠97色69| 国产成人精品www牛牛影视| 国产精品免费久久久久| 欧美在线免费观看亚洲| 久久99精品网久久| 亚洲视频在线观看一区| 欧美一区二区人人喊爽| 国产一区二区不卡| 亚洲一区二区三区视频在线| 91精品国产综合久久久久| 精品一区二区在线视频| 亚洲精品免费在线观看| 在线综合+亚洲+欧美中文字幕| 激情偷乱视频一区二区三区| 亚洲免费观看高清完整版在线观看 | 欧美极品少妇xxxxⅹ高跟鞋| 在线观看91视频| 国产在线播精品第三| 一区二区视频免费在线观看| 精品国产一区二区三区不卡| 91亚洲国产成人精品一区二区三 | 日韩av电影天堂| 国产亚洲视频系列| 欧美三级视频在线| 国产精品亚洲а∨天堂免在线| 亚洲精品亚洲人成人网在线播放| 精品国产乱码久久久久久免费| 色婷婷久久一区二区三区麻豆| 九九精品视频在线看| 一区二区三区免费观看| 国产丝袜在线精品| 日韩视频一区二区| 欧美天天综合网| eeuss鲁片一区二区三区在线观看| 日韩成人一区二区三区在线观看| 国产欧美精品一区| 欧美日韩的一区二区| 一本色道a无线码一区v| 国产一区二区三区日韩 | 亚洲综合色区另类av| 日本一二三不卡| 精品国产免费视频| 制服丝袜在线91| 欧美日韩一区二区三区在线看| 成人免费不卡视频| 国产成人免费视频网站| 国产一区二区三区免费| 日韩精品国产精品| 亚洲bt欧美bt精品777| 一区二区三区精品视频在线| 中文字幕不卡在线观看| 国产婷婷色一区二区三区四区| 精品久久免费看| 欧美tickling网站挠脚心| 欧美sm美女调教| 2021久久国产精品不只是精品| 在线不卡免费欧美| 欧美日韩成人综合| 欧美丰满少妇xxxxx高潮对白| 欧美日韩视频在线观看一区二区三区 | 日韩国产高清在线| 亚洲影院在线观看| 亚洲大片在线观看| 午夜精品国产更新| 强制捆绑调教一区二区| 美女在线一区二区| 国内成人免费视频| 国精产品一区一区三区mba桃花| 精品中文字幕一区二区小辣椒| 乱一区二区av| 国产精品乡下勾搭老头1| 成人精品高清在线| 91丨porny丨国产入口| 色综合夜色一区| 欧美嫩在线观看| www国产精品av| 亚洲欧美日韩精品久久久久| 亚洲另类中文字| 午夜不卡av在线| 精品一区二区三区视频在线观看 | 日韩无一区二区| 精品乱码亚洲一区二区不卡| 国产日产精品一区| 亚洲激情图片qvod| 视频一区二区三区入口| 久久国产精品99久久久久久老狼| 国产真实乱偷精品视频免| 成人黄色在线视频| 欧美在线观看一区二区| 欧美一区二区三级| 国产精品美女久久福利网站| 亚洲综合色区另类av| 国产乱理伦片在线观看夜一区| 国产成人精品亚洲777人妖| 色av成人天堂桃色av| 欧美一区二区三区在线看| 久久久精品tv| 亚洲一区视频在线观看视频| 精品一区二区av| jlzzjlzz亚洲日本少妇| 欧美一级黄色大片| 国产精品系列在线| 亚洲国产精品久久艾草纯爱| 国产成人一区在线| 欧美肥妇bbw| 国产精品国产精品国产专区不蜜| 日韩经典中文字幕一区| 成人午夜看片网址| 欧美不卡在线视频| 亚洲午夜精品在线| 成人v精品蜜桃久久一区| 欧美一区二区三区视频在线 | 精品国产乱码久久久久久1区2区| 成人欧美一区二区三区在线播放| 日本不卡一区二区三区 | 久久99精品视频| 在线亚洲高清视频| 国产欧美精品一区二区三区四区| 日韩不卡一二三区| 在线观看欧美精品| 国产精品网站一区| 狠狠v欧美v日韩v亚洲ⅴ| 欧美日韩黄色一区二区| 日韩理论片一区二区| 国产成人免费视频| 91精品国产高清一区二区三区 | 国产视频在线观看一区二区三区| 青青草97国产精品免费观看| 欧美性极品少妇| 亚洲欧美日韩人成在线播放| 国产麻豆欧美日韩一区| 欧美日韩高清不卡| 偷窥少妇高潮呻吟av久久免费| 色噜噜夜夜夜综合网| 国产精品福利一区| 国产激情精品久久久第一区二区 | 欧美精品在线一区二区| 亚洲激情在线激情| 欧美亚洲一区二区在线| 亚洲最新视频在线播放| 在线观看视频一区二区欧美日韩|