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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? funio.c

?? dsp2407的函數庫
?? C
字號:
/****************************************************************
*	funio.c						See funlib.h for instuctions	*
*	Dean Tsai                  	about using this file.          *
*	10/12/02                                                    *
*																*
*	Reference: TI Reference book Chapter 5.						*
*                                                               *
*  	There are 47 digital IOs total.  IOPA, IOPB, IOPC, IOPD, 	*
*	IOPE each has 8, and IOPF has 7.							*
*																*
*	The functions here support all but IOPD1 >> 7.  Therefore, 	*
*	without modifying the functions, you should be able to use 	*
*	40 IOs.  If you wish to use IOPD 1 >> 7, you can easily 	*
*	modify the function.  However, be sure to test IOPD's before*
*	you use them.												*
*																*
*	For a given one of these supported pins, use the function 	*
*	initIO to set the function for that pin to be digital i/o,  *
*	and also to select the data direction for that pin to be 	*
*	either input or output.  IOinit takes as arguments the port,*
*	channel, and data direction.  For the port argument use one *
*	of the macros IOPA, IOPB, IOPC, IOPD, IOPE, or IOPF.  For 	*
*	the direction argument use one of the macros INPUT or 		*
*	OUTPUT.  These are defined in the header file.				*
*																*
*	initIO returns -1 if you pass an invalid port or channel.	*
*																*
*	Example: to configure IOPB7 as an input pin:				*
*	status = initIO(IOPB, 7, INPUT);							*
*																*
*	Example: to configure IOPA0 as an ouptut pin:				*
*	status = initIO(IOPA, 0, OUTPUT);                           *
*		             ^    ^										*
*				  letter number									*
*																*
*	To read the value of a digital i/o pin, first use initIO to *
*	configure that pin for input, and then call getIO.  This 	*
*	function returns 1 when the pin is high and 0 when the pin 	*
*	is low.														*
*																*
*	Example: to get the value of pin IOPA0:						*
*	val = getIO(IOPA, 0);										*
*																*
*	To set a digital i/o pin, first use IOinit to configure 	*
*	that pin for output, and then call setIO with the desired 	*
*	value, 1 or 0.												*
*																*
*	Example: to set pin IOPA0 high:								*
*	status = setIO(IOPA, 0, 1);									*
*																*
*	For the direction bit in PxDATDIR:  0=input, 1=output.		*
****************************************************************/

#include        "f2407_c.h"             /* Defines register names and addresses */
#include		<math.h>                /* Enables the DSP to do certain math functions */
#include		"funlib.h"    
    

/* initIO:  Set up one of the digital I/O pins for either input 
			or output.  */
    
int initIO(int port, int ch, int direction){
  switch(port){

  case IOPA:
    /* check valid channel for Port A */
    if(ch<0 || ch>7)
      return -1;
    /* select i/o function */
    *MCRA &= ~(1<<ch);
    /* set data direction */
    if(direction==OUTPUT)
      *PADATDIR |= (1<<(ch+8));
    else
      *PADATDIR &= ~(1<<(ch+8));
    break;

  case IOPB:
    /* check valid channel for Port B */
    if(ch<0 || ch>7)
      return -1;
    /* select i/o function */
    *MCRA &= ~(1<<(ch+8));
    /* set data direction */
    if(direction==OUTPUT)
      *PBDATDIR |= (1<<(ch+8));
    else
      *PBDATDIR &= ~(1<<(ch+8));
    break;

  case IOPC:
    /* check valid channel for Port C */
    if(ch<0 || ch>7)
      return -1;
    /* select i/o function */
    *MCRB &= ~(1<<ch);
    /* set data direction */
    if(direction==OUTPUT)
      *PCDATDIR |= (1<<(ch+8));
    else
      *PCDATDIR &= ~(1<<(ch+8));
    break;        
    
  case IOPD:
    /* check valid channel for Port D */
    if(ch<0 || ch>0)
      return -1;
    /* select i/o function */
     *MCRB &= ~(1<<(ch+8));
    /* set data direction */
    if(direction==OUTPUT)
      *PDDATDIR |= (1<<(ch+8));
    else
      *PDDATDIR &= ~(1<<(ch+8));
    break;
  
  case IOPE:
    /* check valid channel for Port E */
    if(ch<0 || ch>7)
      return -1;
    /* select i/o function */
    *MCRC &= ~(1<<ch);
    /* set data direction */
    if(direction==OUTPUT)
      *PEDATDIR |= (1<<(ch+8));
    else
      *PEDATDIR &= ~(1<<(ch+8));
    break;
 
  case IOPF:
    /* check valid channel for Port F */
    if(ch<0 || ch>6)
      return -1;
    /* select i/o function */
    *MCRC &= ~(1<<(ch+8));
    /* set data direction */
    if(direction==OUTPUT)
      *PFDATDIR |= (1<<(ch+8));
    else
      *PFDATDIR &= ~(1<<(ch+8));
    break;
                                     
  default:
    return -1; /* invalid Port */
  }

  return 0;
}

/* getIO:  Read the value of a digital I/O pin that has been 
			configured for input. */

int getIO(int port, int ch){
  switch(port){

  case IOPA:
    /* check valid channel for Port A */
    if(ch<0 || ch>7)
      return -1;
    return (*PADATDIR>>ch & 0x0001);
    break;

  case IOPB:
    /* check valid channel for Port B */
    if(ch<0 || ch>7)
      return -1;
    return (*PBDATDIR>>ch & 0x0001);
    break;

  case IOPC:
    /* check valid channel for Port C */
    if(ch<0 || ch>7)
      return -1;
    return (*PCDATDIR>>ch & 0x0001);
    break;
  
  case IOPD:
    /* check valid channel for Port D */
    if(ch<0 || ch>0)
      return -1;
    return (*PDDATDIR>>ch & 0x0001);
    break;

  case IOPE:
    /* check valid channel for Port E */
    if(ch<0 || ch>7)
      return -1;
    return (*PEDATDIR>>ch & 0x0001);
    break;

  case IOPF:
    /* check valid channel for Port F */
    if(ch<0 || ch>6)
      return -1;
    return (*PFDATDIR>>ch & 0x0001);
    break;
     
  default:
    return -1; /* invalid Port */
  }

  return 0;
}

/* setIO:  Write the value of a digital I/O pin that has been
			configured for output. */
			
int setIO(int port, int ch, int val){
  switch(port){

  case IOPA:
    /* check valid channel for Port A */
    if(ch<0 || ch>7)
      return -1;
    if(val==0)
      *PADATDIR &= ~(1<<ch);
    else
      *PADATDIR |= (1<<ch);
    break;

  case IOPB:
    /* check valid channel for Port B */
    if(ch<0 || ch>7)
      return -1;
    if(val==0)
      *PBDATDIR &= ~(1<<ch);
    else
      *PBDATDIR |= (1<<ch);
    break;

  case IOPC:
    /* check valid channel for Port C */
    if(ch<0 || ch>7)
      return -1;
    if(val==0)
      *PCDATDIR &= ~(1<<ch);
    else
      *PCDATDIR |= (1<<ch);
    break;
    
  case IOPD:
    /* check valid channel for Port D */
    if(ch<0 || ch>0)
      return -1;
    if(val==0)
      *PDDATDIR &= ~(1<<ch);
    else
      *PDDATDIR |= (1<<ch);
    break;

  case IOPE:
    /* check valid channel for Port E */
    if(ch<0 || ch>7)                 
      return -1;
    if(val==0)
      *PEDATDIR &= ~(1<<ch);
    else
      *PEDATDIR |= (1<<ch);
    break;

  case IOPF:
    /* check valid channel for Port F */
    if(ch<0 || ch>6)
      return -1;
    if(val==0)
      *PFDATDIR &= ~(1<<ch);
    else
      *PFDATDIR |= (1<<ch);
    break;
 
  default:
    return -1; /* invalid Port */
  }

  return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情艳妇裸体舞| 日韩av中文字幕一区二区| 香蕉乱码成人久久天堂爱免费| 另类小说欧美激情| 在线一区二区三区四区五区| 久久看人人爽人人| 奇米影视一区二区三区小说| 91高清视频免费看| 亚洲欧洲日韩在线| 国产精品亚洲成人| 欧美大片顶级少妇| 日本va欧美va精品| 欧美日韩国产a| 亚洲精品高清视频在线观看| 成人va在线观看| 久久精品视频一区二区三区| 久久97超碰色| 欧美成人一区二区三区在线观看| 亚洲一区二区不卡免费| 在线精品国精品国产尤物884a| 国产精品久久久久久亚洲毛片 | 久久成人久久鬼色| 欧美精品亚洲一区二区在线播放| 亚洲欧美另类图片小说| av不卡一区二区三区| 国产欧美日韩精品a在线观看| 国内成人免费视频| 精品对白一区国产伦| 国产一区视频导航| 亚洲精品一区二区精华| 国内精品写真在线观看| 精品毛片乱码1区2区3区| 国产欧美日韩卡一| 亚洲国产一区二区a毛片| 99国产精品久久久| 国产精品第四页| 成人黄色网址在线观看| 国产精品嫩草影院av蜜臀| 国产91丝袜在线观看| 中文字幕欧美日本乱码一线二线| 成人免费看视频| 亚洲色图清纯唯美| 欧美专区在线观看一区| 日本亚洲天堂网| 精品国产免费视频| 成人免费av网站| 国产精品白丝在线| 欧美在线播放高清精品| 五月婷婷综合激情| 欧美一级精品在线| 国产福利电影一区二区三区| 亚洲色大成网站www久久九九| 91亚洲精品乱码久久久久久蜜桃| 一区二区高清免费观看影视大全 | 美女视频一区二区| 久久综合久久久久88| 9人人澡人人爽人人精品| 亚洲一区二区三区小说| 欧美mv日韩mv| 99久久精品国产一区| 亚洲成av人影院在线观看网| 精品成人佐山爱一区二区| 本田岬高潮一区二区三区| 亚洲 欧美综合在线网络| 久久综合久久99| 91福利视频在线| 国产美女视频一区| 亚洲一区在线观看网站| 久久久久久一二三区| 欧美系列在线观看| 不卡高清视频专区| 亚洲国产精品尤物yw在线观看| 欧美tickling挠脚心丨vk| 99久久国产综合精品色伊| 麻豆免费精品视频| 亚洲欧美日本韩国| 久久久精品tv| 欧美高清视频一二三区 | 亚洲裸体xxx| 26uuu国产日韩综合| 色999日韩国产欧美一区二区| 麻豆91小视频| 一区二区三区精品视频| 欧美韩日一区二区三区| 日韩一区二区三区四区五区六区| 一本大道综合伊人精品热热 | 国产色91在线| 日韩一区二区三| 欧美日韩综合一区| 99精品久久久久久| 成人黄色电影在线| 国产一区在线不卡| 久久99国产精品尤物| 亚洲丰满少妇videoshd| 亚洲欧美日韩一区二区三区在线观看 | 亚洲a一区二区| 亚洲免费在线视频一区 二区| 久久久不卡网国产精品二区| 成人福利视频网站| 国产一区二区视频在线播放| 蜜桃av一区二区| 天天影视网天天综合色在线播放 | 国产日韩欧美综合一区| 欧美成人精品福利| 日韩欧美激情在线| 欧美成人猛片aaaaaaa| 精品久久一区二区| 精品国产乱码久久久久久影片| 91精品国产综合久久精品麻豆| 欧美视频一区二区在线观看| 在线精品视频小说1| 色噜噜狠狠成人中文综合| 91丝袜国产在线播放| 色综合天天做天天爱| 91在线高清观看| 日本精品一区二区三区高清| 欧洲色大大久久| 精品视频一区二区三区免费| 精品视频在线免费观看| 91精品国产综合久久精品麻豆| 日韩欧美一区二区免费| 欧美videos中文字幕| 国产女人18水真多18精品一级做| 久久先锋影音av鲁色资源| 久久亚洲精精品中文字幕早川悠里 | 日韩三级中文字幕| 欧美不卡一二三| 国产午夜精品一区二区三区嫩草 | 激情文学综合网| 国产成人av电影在线观看| 成人免费av网站| 欧美午夜电影网| 欧美成人性福生活免费看| 国产女同互慰高潮91漫画| 樱桃国产成人精品视频| 免费高清视频精品| 国产精品一区二区免费不卡| 99久久免费国产| 欧美精选在线播放| 久久精品亚洲一区二区三区浴池| 亚洲欧美区自拍先锋| 日韩不卡一二三区| 成人性生交大片免费看视频在线 | 精品午夜一区二区三区在线观看| 国产盗摄女厕一区二区三区| 97国产一区二区| 宅男噜噜噜66一区二区66| 国产亚洲欧美在线| 亚洲一区在线观看免费 | 欧美日韩久久一区二区| 精品国产乱码久久久久久图片 | 久久久久久亚洲综合影院红桃| 国产三级精品在线| 亚洲成人自拍偷拍| 国产凹凸在线观看一区二区| 欧美婷婷六月丁香综合色| 欧美精品一区二区蜜臀亚洲| 一区二区三区精品| 丁香激情综合五月| 欧美一级艳片视频免费观看| 国产精品的网站| 精品一区在线看| 欧美日韩精品免费观看视频| 国产精品五月天| 麻豆成人91精品二区三区| 欧美午夜宅男影院| 亚洲国产精品二十页| 麻豆精品精品国产自在97香蕉| 91在线播放网址| 中文字幕精品在线不卡| 蜜臀久久99精品久久久久久9 | 香蕉成人伊视频在线观看| 99精品视频一区二区三区| 久久综合久久久久88| 老司机精品视频在线| 欧美日韩在线精品一区二区三区激情| 国产精品久久久久三级| 国产成人日日夜夜| 日韩欧美成人一区| 日韩高清不卡在线| 欧美三级电影一区| 一区二区三区在线免费观看| 成人久久视频在线观看| 久久综合久久综合九色| 精品午夜久久福利影院| 欧美电视剧在线看免费| 婷婷久久综合九色国产成人| 欧美日韩一二三| 亚洲伊人伊色伊影伊综合网| 在线亚洲+欧美+日本专区| 亚洲女与黑人做爰| 91丨porny丨户外露出| 国产精品久久精品日日| 成人免费视频免费观看| 欧美国产日韩在线观看| 成人精品一区二区三区四区 | 91网址在线看| 亚洲一区二区三区中文字幕| 欧美吻胸吃奶大尺度电影| 亚洲va天堂va国产va久|