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

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

?? ide_x_hw.c

?? at91rm9200硬盤的接口代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:

  __MEMCFG2   = 0x1f13;     /* CS5 8 bit */
  data = __IDE_SN;
  return data;
}


/*********************************************************************
*
*             FS_IDE_HW_X_SetCylLow
*
  Description:
  FS driver hardware layer function. Set the CYLINDER LOW register.

  Parameters:
  Unit        - Unit number.
  Data        - Value to write to the CYLINDER LOW register.
 
  Return value:
  None.
*/

void FS_IDE_HW_X_SetCylLow(FS_u32 Unit, unsigned char Data) {
  __MEMCFG2   = 0x1f13;     /* CS5 8 bit */
  __IDE_CL    = Data;
}


/*********************************************************************
*
*             FS_IDE_HW_X_GetCylLow
*
  Description:
  FS driver hardware layer function. Read the CYLINDER LOW register.

  Parameters:
  Unit        - Unit number.
 
  Return value:
  Value of the CYLINDER LOW register.
*/

unsigned char FS_IDE_HW_X_GetCylLow(FS_u32 Unit) {
  unsigned char data;

  __MEMCFG2   = 0x1f13;     /* CS5 8 bit */
  data = __IDE_CL;
  return data;
}


/*********************************************************************
*
*             FS_IDE_HW_X_SetCylHigh
*
  Description:
  FS driver hardware layer function. Set the CYLINDER HIGH register.

  Parameters:
  Unit        - Unit number.
  Data        - Value to write to the CYLINDER HIGH register.
 
  Return value:
  None.
*/

void FS_IDE_HW_X_SetCylHigh(FS_u32 Unit, unsigned char Data) {
  __MEMCFG2   = 0x1f13;     /* CS5 8 bit */
  __IDE_CH    = Data;
}


/*********************************************************************
*
*             FS_IDE_HW_X_GetCylHigh
*
  Description:
  FS driver hardware layer function. Read the CYLINDER HIGH register.

  Parameters:
  Unit        - Unit number.
 
  Return value:
  Value of the CYLINDER HIGH register.
*/

unsigned char FS_IDE_HW_X_GetCylHigh(FS_u32 Unit) {
  unsigned char data;

  __MEMCFG2   = 0x1f13;     /* CS5 8 bit */
  data = __IDE_CH;
  return data;
}


/*********************************************************************
*
*             FS_IDE_HW_X_SetDevice
*
  Description:
  FS driver hardware layer function. Set the DEVICE/HEAD register.

  Parameters:
  Unit        - Unit number.
  Data        - Value to write to the DEVICE/HEAD register.
 
  Return value:
  None.
*/

void FS_IDE_HW_X_SetDevice(FS_u32 Unit, unsigned char Data) {
  __MEMCFG2   = 0x1f13;     /* CS5 8 bit */
  __IDE_DH    = Data;
}


/*********************************************************************
*
*             FS_IDE_HW_X_GetDevice
*
  Description:
  FS driver hardware layer function. Read the DEVICE/HEAD register.

  Parameters:
  Unit        - Unit number.
 
  Return value:
  Value of the DEVICE/HEAD register.
*/

unsigned char FS_IDE_HW_X_GetDevice(FS_u32 Unit) {
  unsigned char data;

  __MEMCFG2   = 0x1f13;     /* CS5 8 bit */
  data = __IDE_DH;
  return data;
}


/*********************************************************************
*
*             FS_IDE_HW_X_SetCommand
*
  Description:
  FS driver hardware layer function. Set the COMMAND register.

  Parameters:
  Unit        - Unit number.
  Data        - Value to write to the COMMAND register.
 
  Return value:
  None.
*/

void FS_IDE_HW_X_SetCommand(FS_u32 Unit, unsigned char Data) {
  __MEMCFG2   = 0x1f13;     /* CS5 8 bit */
  __IDE_CMD    = Data;
}


/*********************************************************************
*
*             FS_IDE_HW_X_GetStatus
*
  Description:
  FS driver hardware layer function. Read the STATUS register.

  Parameters:
  Unit        - Unit number.
 
  Return value:
  Value of the STATUS register.
*/

unsigned char FS_IDE_HW_X_GetStatus(FS_u32 Unit) {
  unsigned char data;

  __MEMCFG2   = 0x1f13;     /* CS5 8 bit */
  data = __IDE_CMD;
  return data;
}


/*********************************************************************
*
*             FS_IDE_HW_X_SetDevControl
*
  Description:
  FS driver hardware layer function. Set the DEVICE CONTROL register.

  Parameters:
  Unit        - Unit number.
  Data        - Value to write to the DEVICE CONTROL register.
 
  Return value:
  None.
*/

void FS_IDE_HW_X_SetDevControl(FS_u32 Unit, unsigned char Data) {
  __MEMCFG2   = 0x1f13;     /* CS5 8 bit */
  __IDE_DC    = Data;
}


/*********************************************************************
*
*             FS_IDE_HW_X_GetAltStatus
*
  Description:
  FS driver hardware layer function. Read the ALTERNATE STATUS register.

  Parameters:
  Unit        - Unit number.
 
  Return value:
  Value of the ALTERNATE STATUS register.
*/

unsigned char FS_IDE_HW_X_GetAltStatus(FS_u32 Unit) {
  unsigned char data;

  __MEMCFG2   = 0x1f13;     /* CS5 8 bit */
  data = __IDE_DC;
  return data;
}


/*********************************************************************
*
*             FS_IDE_HW_X_DetectStatus
*
  Description:
  FS driver hardware layer function. Check if the device is present.

  Parameters:
  Unit        - Unit number.
 
  Return value:
  ==0         - Device is connected.
  !=0         - Device has not been found.
*/

char FS_IDE_HW_X_DetectStatus(FS_u32 Unit) {
  static char init;
  int lexp;
  unsigned char a;
  unsigned char b;

  if (!init) {
    init  = 1;
    __MEMCFG2  = 0x1f13;        /* CS5 8 bit */
    __SYSCON1 |= 0x40000ul;     /* enable expansion clock */
  }
  if (Unit == 0) {
    FS_IDE_HW_X_SetDevice(Unit, 0xa0);
  }
  else {
    FS_IDE_HW_X_SetDevice(Unit, 0xe0);
  }
  HW__DELAY400NS;
  FS_IDE_HW_X_SetSectorCount(Unit, 0x55);
  FS_IDE_HW_X_SetSectorNo(Unit, 0xaa);
  FS_IDE_HW_X_SetSectorCount(Unit, 0xaa);
  FS_IDE_HW_X_SetSectorNo(Unit, 0x55);
  FS_IDE_HW_X_SetSectorCount(Unit, 0x55);
  FS_IDE_HW_X_SetSectorNo(Unit, 0xaa);
  a = FS_IDE_HW_X_GetSectorCount(Unit);
  b = FS_IDE_HW_X_GetSectorNo(Unit);
  lexp = (a == 0x55);
  lexp = lexp && (b == 0xaa);
  if (lexp) {
    _HW_DevicePresent[Unit] = 1;
  }
  else {
    _HW_DevicePresent[Unit] = 0;
  }
  return (!_HW_DevicePresent[Unit]);
}


/*********************************************************************
*
*             FS_IDE_HW_X_HWReset
*
  Description:
  FS driver hardware layer function. This function is called, when 
  the driver detects a new media is present. For ATA HD drives, there 
  is no action required and this function can be empty.
  When using a CF card, please be aware, that the card needs to be
  power cycled while ~OE is grounded. If the card is inserted, VCC & 
  GND will provide the card before ~OE is connected and the card will 
  be in PC Card ATA mode.

  Parameters:
  Unit        - Unit number.
 
  Return value:
  None.

   
*/

void FS_IDE_HW_X_HWReset(FS_u32 Unit) {
  if (Unit != 0) {
    return;
  }
}

#endif /* FS_USE_IDE_DRIVER */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕日本乱码精品影院| 国产亚洲美州欧州综合国| 婷婷中文字幕一区三区| 精品国精品自拍自在线| 成人av免费在线播放| 视频一区二区三区中文字幕| 久久精品夜色噜噜亚洲aⅴ| 91在线你懂得| 国产精品1区2区3区| 一区二区在线观看视频 | 91麻豆国产香蕉久久精品| 亚洲第一电影网| 欧美日韩精品三区| 成人午夜av在线| 男人的天堂久久精品| 中文字幕一区av| 久久久久久综合| 久久久久久久久久久黄色| 色琪琪一区二区三区亚洲区| 石原莉奈在线亚洲二区| 自拍偷拍欧美激情| 欧美国产欧美亚州国产日韩mv天天看完整 | 日韩精品影音先锋| 91一区一区三区| 成人av影视在线观看| 日本免费在线视频不卡一不卡二| 国产午夜精品理论片a级大结局| 91精品福利在线一区二区三区| 91麻豆免费观看| 9色porny自拍视频一区二区| 久久精品噜噜噜成人av农村| 一区二区三区在线视频观看58| 国产人成一区二区三区影院| 欧美一卡2卡3卡4卡| 99视频有精品| 成人黄色大片在线观看| 国产精品18久久久久久vr | heyzo一本久久综合| 国产一区二区三区四区在线观看| 毛片av一区二区| 亚洲欧美一区二区三区极速播放| 国产欧美va欧美不卡在线| 精品久久久久久最新网址| 51精品国自产在线| 欧美自拍丝袜亚洲| 精品视频在线免费看| 一本一道波多野结衣一区二区| 丰满亚洲少妇av| 成人免费va视频| 国产精品99久久久久久有的能看| 国产成人在线视频免费播放| 国产在线精品一区在线观看麻豆| 午夜欧美电影在线观看| 七七婷婷婷婷精品国产| 热久久国产精品| 国产一区二区福利视频| 久久精品国产精品亚洲综合| 美日韩一级片在线观看| 国产精品一区二区你懂的| 狠狠色丁香久久婷婷综合_中 | 99精品黄色片免费大全| av电影在线观看一区| 在线视频一区二区三| 色视频一区二区| 欧美一区二区三区免费视频 | 日韩一区二区影院| wwwwxxxxx欧美| 欧美国产日韩精品免费观看| 亚洲欧美日韩国产一区二区三区| 国产精品国产精品国产专区不片 | 欧美高清视频一二三区 | 亚洲免费电影在线| 韩国欧美国产一区| 国产九色精品成人porny| 日韩成人一级片| 国产丝袜美腿一区二区三区| 国产婷婷精品av在线| 国产精品青草久久| 亚洲成人综合网站| 美日韩黄色大片| 国产精品白丝jk白祙喷水网站| 99麻豆久久久国产精品免费| 色综合久久九月婷婷色综合| 色噜噜狠狠成人网p站| 欧美成人精精品一区二区频| 久久久久久久国产精品影院| 亚洲综合男人的天堂| 免费高清视频精品| 加勒比av一区二区| 在线中文字幕一区| 日韩一区二区三区免费看| 国产精品成人免费在线| 亚洲资源在线观看| 久久精品免费看| 国产一区二区中文字幕| 色94色欧美sute亚洲线路二| 7777精品久久久大香线蕉| 1000精品久久久久久久久| 婷婷国产v国产偷v亚洲高清| 激情综合色播五月| 欧美日韩中文一区| 国产女主播在线一区二区| 午夜视频一区在线观看| 国产91丝袜在线播放0| 91丨porny丨蝌蚪视频| 欧美一区二区三区日韩| 亚洲日本丝袜连裤袜办公室| 裸体一区二区三区| 色狠狠一区二区| 国产精品午夜在线观看| 天堂av在线一区| 国产精一区二区三区| 日韩三级.com| 亚洲国产美国国产综合一区二区| 成人一区二区在线观看| 日韩一区二区在线播放| 亚洲第一成人在线| 成人精品鲁一区一区二区| 欧美日韩一区二区三区在线| 中文字幕一区日韩精品欧美| 精品一区二区三区欧美| 欧美精选午夜久久久乱码6080| 亚洲色欲色欲www| 国产精品中文字幕一区二区三区| 在线成人av网站| 一二三四社区欧美黄| 91网站黄www| 久久蜜桃av一区精品变态类天堂| 成人欧美一区二区三区在线播放| 国产又粗又猛又爽又黄91精品| 欧美色图天堂网| 国产精品系列在线| 成人18精品视频| 久久久综合九色合综国产精品| 久久99九九99精品| 91麻豆精品国产自产在线观看一区| 一区二区三区波多野结衣在线观看| 国产麻豆午夜三级精品| 91精品国产91热久久久做人人 | 2023国产精品自拍| 成人va在线观看| 国产精品国产三级国产aⅴ中文| 国产在线国偷精品免费看| 久久久综合精品| 国产精品77777竹菊影视小说| 欧美日韩中文字幕精品| 日本成人在线电影网| 欧美精品在欧美一区二区少妇| 日韩成人精品在线观看| 91高清视频在线| 亚洲欧洲国产日本综合| 99国产欧美久久久精品| 国产精品麻豆久久久| 99视频在线观看一区三区| 精品日韩一区二区三区免费视频| 久久国内精品视频| 欧美精品一区二区三区四区 | 成人永久aaa| 国产精品久久久久久久久搜平片 | 日韩欧美在线不卡| 国产一区二区三区在线观看精品 | 欧美日韩精品系列| 偷拍一区二区三区| 精品国产三级a在线观看| 狠狠网亚洲精品| 久久久一区二区三区捆绑**| 91猫先生在线| 午夜久久久久久久久| 久久午夜免费电影| 懂色av一区二区夜夜嗨| 亚洲精品国产成人久久av盗摄| 欧美午夜视频网站| 午夜不卡在线视频| 国产精品视频线看| 色88888久久久久久影院野外| 日韩国产一二三区| 久久久久久亚洲综合影院红桃| 99久久久久久| 日韩高清国产一区在线| 日韩精品自拍偷拍| 久久精品国产成人一区二区三区| 久久久久久99精品| 91猫先生在线| 韩日av一区二区| 亚洲日本在线视频观看| 欧美mv和日韩mv的网站| 99久久婷婷国产综合精品| 日韩精品电影一区亚洲| 久久久综合激的五月天| 精品视频全国免费看| 久久99精品国产.久久久久| 国产精品国产三级国产三级人妇| 欧美写真视频网站| 日韩国产欧美视频| 亚洲久草在线视频| 欧美成人性战久久| 在线欧美一区二区| 国产成人免费视频网站高清观看视频| 亚洲欧美激情小说另类| 日韩精品综合一本久道在线视频|