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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? gpio.bak

?? 藍(lán)宇BBPC-SOM2496嵌入式主板 GPIO實(shí)例代碼與函數(shù)庫(kù)
?? BAK
字號(hào):
#include <dos.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "GPIO.h"

/***************************************************************************
片上通用IO方向配制函數(shù):		PIODirCfg
入口參數(shù):	int		PIO_BIT_INDEX  cpu 上雙向IO索引號(hào)
		char		Dir		=0,表示輸入,=1表示輸出,=2表示正常功能
返回值	:	char		=0,表示成功,非零表示失敗

****************************************************************************/
char 	 PIODirCfg(int PIO_BIT_INDEX,  char Dir )
{
	unsigned int PIOBitMask=1;			/*PIO_BIT_INDEX,對(duì)應(yīng)的掩碼*/
	unsigned int PIOModeR;				/*模式寄存器的IO地址*/
	unsigned int PIODirR;				/*方向寄存器的IO地址*/
	if(PIO_BIT_INDEX>15)
	{
		PIO_BIT_INDEX-=16;
		PIOBitMask<<=PIO_BIT_INDEX;
		PIOModeR=OFFS_PIOMODE1+CTL_OFF;
		PIODirR =OFFS_PIODIR1 +CTL_OFF;		
	}	
	else
	{	
		PIOBitMask<<=PIO_BIT_INDEX;
		PIOModeR=OFFS_PIOMODE0+CTL_OFF;
		PIODirR =OFFS_PIODIR0 +CTL_OFF;
	}
	if(Dir==0)	/*表示配制為輸入*/
	{		  
    		 outport( PIOModeR,inport (PIOModeR)& ~PIOBitMask);/*模式寄存器相應(yīng)的位清零*/
    		 outport( PIODirR ,inport (PIODirR) |  PIOBitMask);/*模式寄存器相應(yīng)的位置1*/
	}	
	else if(Dir==1)
	{
			 outport( PIOModeR,inport (PIOModeR)|PIOBitMask);/*模式寄存器相應(yīng)的位置1*/
			 outport( PIODirR ,inport (PIODirR) &~PIOBitMask);/*模式寄存器相應(yīng)的位清零*/
	}
	else if(Dir==2)
	{
			 outport( PIOModeR,inport (PIOModeR)&~PIOBitMask);/*模式寄存器相應(yīng)的位清零*/
			 outport( PIODirR ,inport (PIODirR) &~PIOBitMask);/*模式寄存器相應(yīng)的位清零*/
	}		
	return 0;	
}               
/***************************************************************************
片上通用IO寫(xiě)函數(shù):		PIOWrite
入口參數(shù):	int		PIO_BIT_INDEX  cpu 上雙向IO索引號(hào)
		char		Val		=0,表示輸出低電平,非零表示輸出高電平
返回值	:	char		=0,表示成功,非零表示失敗,方向設(shè)置有錯(cuò)
注意:		函數(shù)功能,只有在相應(yīng)的位方向設(shè)置為輸出時(shí),才是有效的 		
****************************************************************************/
char 	PIOWrite(int PIO_BIT_INDEX,  char Val ) 
{
	unsigned int PIOBitMask=1;			/*PIO_BIT_INDEX,對(duì)應(yīng)的掩碼*/
	unsigned int PIOModeR;				/*模式寄存器的IO地址*/
	unsigned int PIODirR;				/*方向寄存器的IO地址*/
	unsigned int PIODataR;				/*數(shù)據(jù)口寄存器*/
	if(PIO_BIT_INDEX>15)
	{
		PIO_BIT_INDEX-=16;
		PIOBitMask<<=PIO_BIT_INDEX;
		PIOModeR=OFFS_PIOMODE1+CTL_OFF;
		PIODirR =OFFS_PIODIR1 +CTL_OFF;	
		PIODataR=OFFS_PIODATA1+CTL_OFF;
	}	
	else
	{	
		PIOBitMask<<=PIO_BIT_INDEX;
		PIOModeR=OFFS_PIOMODE0+CTL_OFF;
		PIODirR =OFFS_PIODIR0 +CTL_OFF;
		PIODataR=OFFS_PIODATA0+CTL_OFF;
	}	
	if((inport (PIOModeR)&PIOBitMask)==0)	/*檢查有效性*/
	{
		return 1;		/*表示方向不對(duì)*/	
    	}	 
	if((inport (PIODirR)&PIOBitMask)!=0)	/*檢查有效性*/
	{
		return 1;		/*表示方向不對(duì)*/	
    	}	     	
	if(Val==0)
		outport( PIODataR,inport (PIODataR)& ~PIOBitMask);/*模式寄存器相應(yīng)的位清零*/
	else
		outport( PIODataR,inport (PIODataR)|PIOBitMask);/*模式寄存器相應(yīng)的位置1*/
	return 0;	

}
/***************************************************************************
片上通用IO讀函數(shù):		PIORead
入口參數(shù):	int		PIO_BIT_INDEX  cpu 上雙向IO索引號(hào)
		char		Val		
返回值	:	char		=0,表示輸入為低電平,=1表示輸入高電平,=3,表示失敗,方向設(shè)置有錯(cuò)
注意:		函數(shù)功能,只有在相應(yīng)的位方向設(shè)置為輸入時(shí),才是有效的 		
****************************************************************************/
char PIORead(int PIO_BIT_INDEX ) 
{
	unsigned int PIOBitMask=1;			/*PIO_BIT_INDEX,對(duì)應(yīng)的掩碼*/
	unsigned int PIOModeR;				/*模式寄存器的IO地址*/
	unsigned int PIODirR;				/*方向寄存器的IO地址*/
	unsigned int PIODataR;				/*數(shù)據(jù)口寄存器*/
	char val;					/*讀的值*/
	if(PIO_BIT_INDEX>15)
	{
		PIO_BIT_INDEX-=16;
		PIOBitMask<<=PIO_BIT_INDEX;
		PIOModeR=OFFS_PIOMODE1+CTL_OFF;
		PIODirR =OFFS_PIODIR1 +CTL_OFF;	
		PIODataR=OFFS_PIODATA1+CTL_OFF;
	}	
	else
	{	
		PIOBitMask<<=PIO_BIT_INDEX;
		PIOModeR=OFFS_PIOMODE0+CTL_OFF;
		PIODirR =OFFS_PIODIR0 +CTL_OFF;
		PIODataR=OFFS_PIODATA0+CTL_OFF;
	}	
	if((inport (PIOModeR)&PIOBitMask)!=0)	/*檢查有效性*/
	{
		return 3;		/*表示方向不對(duì)*/	
    	}	 
	if((inport (PIODirR)&PIOBitMask)==0)	/*檢查有效性*/
	{
		return 3;		/*表示方向不對(duì)*/	
    	}	     	
	if(inport (PIODataR)& PIOBitMask)
		val=1;				/*輸入高電平*/
	else		
		val=0;				/*輸入低電平*/		
	return val;	
}
/***************************************************************************
擴(kuò)展板上單向IO讀函數(shù):		EXTGPIORead
擴(kuò)展IO輸入,對(duì)應(yīng)信號(hào)線GP17,GP16,GP15,GP14,GP13,GP12,GP11,GP10
入口參數(shù):	
返回值	:	char		相應(yīng)數(shù)據(jù)位等于0,表示輸入為低電平,=1表示輸入高電平
****************************************************************************/
unsigned char EXTGP1Read(void) 
{
	return inportb (GPIO1_PORT);
}
/***************************************************************************
擴(kuò)展板上單向IO讀函數(shù):		EXTGP2WRITE
擴(kuò)展IO輸出,對(duì)應(yīng)信號(hào)線GP25,GP24,GP23,GP22,GP21,GP20的數(shù)據(jù)位BIT5.....BIT0
入口參數(shù):	
返回值	:	VOID
****************************************************************************/
void  EXTGP2WRITE(unsigned char Val)
{
	 outportb(GPIO2_PORT, (inportb (GPIO2_PORT)&0xC0)|Val);	
}
 
/***************************************************************************
使能看門(mén)狗:		EnableWDT
入口參數(shù):	
返回值	:	VOID
****************************************************************************/
void EnableWDT(void)
{
	unsigned int WchCon;		
	WchCon=(
		(inport(CTL_OFF+OFFS_WCHDOGCON)|WCHDOG_EN)
		&(~WCHDOG_WRST)
		&(~WCHDOG_NMIFLAG)
		&(~WCHDOG_RSTFLAG)
		);
	outport(CTL_OFF+OFFS_WCHDOGCON, WCHDOG_CMD1);	/* Watch-dog Timer write sequence */
  	outport(CTL_OFF+OFFS_WCHDOGCON, WCHDOG_CMD2);	/* Watch-dog Timer write sequence */
  	outport(CTL_OFF+OFFS_WCHDOGCON, WchCon);	/* Enable Watch-dog timer */
	
}
/***************************************************************************
禁止看門(mén)狗:		DisableWDT
入口參數(shù):	
返回值	:	VOID
****************************************************************************/
void DisableWDT(void)
{
	outport(CTL_OFF+OFFS_WCHDOGCON, WCHDOG_CMD1);	/* Watch-dog Timer write sequence */
  	outport(CTL_OFF+OFFS_WCHDOGCON, WCHDOG_CMD2);	/* Watch-dog Timer write sequence */
  	outport(CTL_OFF+OFFS_WCHDOGCON, 0x0000);	/* Disable Watch-dog timer */
}
/***************************************************************************
喂狗:		FeedWDT
入口參數(shù):	
返回值	:	VOID
****************************************************************************/
void FeedWDT(void ) 
{	
     	outport(CTL_OFF+OFFS_WCHDOGCON, WCHDOG_RSTCMD1);	/* Watch-dog Timer reset sequence */
      	outport(CTL_OFF+OFFS_WCHDOGCON, WCHDOG_RSTCMD2);	/* Watch-dog Timer reset sequence */
}
/***************************************************************************
設(shè)看門(mén)狗的時(shí)間間隔:SetWDT
入口參數(shù):	Idan ;Idan設(shè)時(shí)間間隔,
-----------------------------------------------------------------------
參數(shù):	0       1     2       3        4        5        6        7 

cpu主頻:  
50  MHz 41   us 42 ms 83.8 ms 167.8 ms 335.5 ms 671   ms 1.34   s  2.68 s
75  MHz 27.3 us 28 ms 55.9 ms 111.8 ms 223.7 ms 447.4 ms 894.8  ms 1.79 s
100 MHz 20.5 us 21 ms 41.9 ms 83.9 ms  167.8 ms 335.5 ms 671    	ms  1.34 s

返回值	:	VOID
****************************************************************************/
void SetWDT(char Idan)
{
	unsigned int watcon=1;
	if(Idan>7)		/*超出表示最大時(shí)間間隔*/
		Idan=7;
	watcon<<=Idan;
 	outport(CTL_OFF+OFFS_WCHDOGCON, WCHDOG_CMD1);	/* Watch-dog Timer write sequence */
  	outport(CTL_OFF+OFFS_WCHDOGCON, WCHDOG_CMD2);	/* Watch-dog Timer write sequence */
  	outport(CTL_OFF+OFFS_WCHDOGCON, watcon);
  	return;	
}
/***************************************************************************
冷啟動(dòng)系統(tǒng):
入口參數(shù):	
返回值	:	VOID
****************************************************************************/
void  ColdResetSystem(void)
{
  /* enable watch dog to reset system */
  disable();
  outport(BIOS_PAGE_REG,0xff);
  outport(CTL_OFF+OFFS_WCHDOGCON, WCHDOG_CMD1);	/* Watch-dog Timer write sequence */
  outport(CTL_OFF+OFFS_WCHDOGCON, WCHDOG_CMD2);	/* Watch-dog Timer write sequence */
  outport(CTL_OFF+OFFS_WCHDOGCON, 0xC001);
  while(1);		//等看門(mén)狗超時(shí)
  enable();		//永遠(yuǎn)執(zhí)行不到
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
极品少妇xxxx精品少妇偷拍| 日韩一区中文字幕| 在线视频欧美精品| 成+人+亚洲+综合天堂| 国产风韵犹存在线视精品| 国产麻豆午夜三级精品| 国产精品一区二区视频| 国产成人av一区二区三区在线 | 亚洲精品视频在线看| 国产精品久久久久久久第一福利| 国产精品视频在线看| 国产精品初高中害羞小美女文| 国产精品嫩草99a| 国产精品你懂的在线欣赏| 中文字幕巨乱亚洲| 国产精品久久久久久久久快鸭 | 成人午夜免费视频| 99精品欧美一区二区三区小说 | 91亚洲国产成人精品一区二区三| 91天堂素人约啪| 日本道精品一区二区三区| 51精品久久久久久久蜜臀| 日韩欧美美女一区二区三区| 中文字幕电影一区| 亚洲在线中文字幕| 九九视频精品免费| 一本大道久久a久久综合婷婷 | 婷婷成人综合网| 久久99精品一区二区三区三区| 国产成人夜色高潮福利影视| 色哟哟日韩精品| 欧美精品一区男女天堂| 亚洲男同性恋视频| 韩国三级中文字幕hd久久精品| 成人夜色视频网站在线观看| 欧美色中文字幕| 国产视频视频一区| 一区二区免费在线播放| 久久不见久久见免费视频7| 成人黄色a**站在线观看| 色88888久久久久久影院按摩| 日韩免费高清视频| 一区二区三区在线观看动漫| 国产一区二区久久| 国产成人a级片| 欧美一级电影网站| 伊人一区二区三区| 成人免费看黄yyy456| 在线播放91灌醉迷j高跟美女 | 国产成人综合在线观看| 欧美日本一道本| 亚洲欧美日韩在线| 国产一区不卡视频| 欧美精品xxxxbbbb| 亚洲一区二区三区中文字幕| 成人一区二区三区视频| xnxx国产精品| 裸体健美xxxx欧美裸体表演| 欧美日韩专区在线| 夜夜嗨av一区二区三区中文字幕| 国产美女视频一区| 久久亚洲二区三区| 久久精品72免费观看| 制服丝袜亚洲网站| 亚洲v日本v欧美v久久精品| 色婷婷综合激情| 国产精品传媒在线| 91丨九色porny丨蝌蚪| 国产精品剧情在线亚洲| 国产91在线看| 国产精品久久精品日日| 国产99精品国产| 日韩视频在线永久播放| 美女久久久精品| 日韩女优av电影在线观看| 男男视频亚洲欧美| 日韩欧美成人一区二区| 美女在线视频一区| 2019国产精品| 国产69精品久久777的优势| 国产亚洲一本大道中文在线| 精品系列免费在线观看| 久久色.com| 成人永久看片免费视频天堂| 国产精品久久久久永久免费观看| 不卡av免费在线观看| 亚洲综合网站在线观看| 8v天堂国产在线一区二区| 韩国三级在线一区| 国产精品乱码久久久久久| 91在线观看视频| 亚洲国产日韩a在线播放性色| 在线不卡a资源高清| 狠狠色丁香婷婷综合| 中文字幕中文字幕一区| 日本高清视频一区二区| 爽好久久久欧美精品| 久久精品在线免费观看| 99免费精品视频| 午夜成人在线视频| 久久婷婷色综合| 色94色欧美sute亚洲线路一ni| 毛片av一区二区| 综合久久久久久| 日韩亚洲欧美一区| 99re成人在线| 六月丁香综合在线视频| 亚洲欧洲日韩女同| 日韩视频一区二区| 91麻豆自制传媒国产之光| 天天色 色综合| 国产精品女同一区二区三区| 3751色影院一区二区三区| 国产传媒欧美日韩成人| 亚洲成人久久影院| 国产视频亚洲色图| 日韩亚洲欧美综合| 欧亚一区二区三区| 国产最新精品精品你懂的| 一区二区在线看| 国产午夜精品一区二区| 91精品国产综合久久久蜜臀粉嫩 | av成人免费在线观看| 天涯成人国产亚洲精品一区av| 欧美xxxxxxxx| 欧美日本视频在线| 色综合久久中文字幕| 国产成人精品综合在线观看 | 久久新电视剧免费观看| 欧美日韩激情一区二区| 99久久国产综合色|国产精品| 国产在线精品一区二区三区不卡 | 2024国产精品视频| 欧美三级乱人伦电影| 99久久综合狠狠综合久久| 国产激情视频一区二区三区欧美| 欧美a级一区二区| 日韩国产在线观看| 亚洲第一福利视频在线| 亚洲人妖av一区二区| 国产精品免费视频观看| 久久精品亚洲精品国产欧美kt∨| 日韩你懂的在线观看| 日韩三级伦理片妻子的秘密按摩| 欧美酷刑日本凌虐凌虐| 欧美日韩国产精品成人| 欧美色倩网站大全免费| 欧美综合久久久| 欧美性xxxxxx少妇| 欧美日韩一卡二卡三卡| 欧美美女视频在线观看| 欧美精品色一区二区三区| 精品视频一区二区三区免费| 欧美性猛片xxxx免费看久爱| 欧美三级一区二区| 在线不卡免费av| 日韩欧美黄色影院| 国产亚洲短视频| 欧美韩国日本一区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 成人av小说网| 色婷婷狠狠综合| 欧美在线免费播放| 欧美一级理论片| 久久久久99精品一区| 国产精品久久久久影院亚瑟 | 日韩专区在线视频| 麻豆精品一区二区三区| 国产成人在线看| 欧美精品一二三区| 欧美大片免费久久精品三p | 亚洲色图欧美在线| 亚洲成人免费视| 精品亚洲porn| 99精品视频在线免费观看| 欧美日韩精品是欧美日韩精品| 日韩欧美中文字幕公布| 久久午夜色播影院免费高清 | 欧美久久久久久久久久 | 不卡在线视频中文字幕| 欧美在线高清视频| 欧美电影免费观看高清完整版在线观看| 天天综合日日夜夜精品| 国产精品羞羞答答xxdd| 日本韩国欧美国产| 久久色视频免费观看| 一区二区三区欧美| 国产美女精品人人做人人爽| 在线欧美小视频| 国产亚洲成年网址在线观看| 亚洲三级久久久| 免费观看30秒视频久久| 99re成人在线| 久久99久久精品欧美| 欧美日本一区二区| 欧美一区二区三区在线看| 日韩一区二区三区四区| 亚洲视频图片小说| 国产精品一区二区视频| 一本色道综合亚洲|