CH376晶元 硬體抽象層 HAL H

2021-08-19 05:50:38 字數 1194 閱讀 7692

/* ch376晶元 硬體抽象層 v1.0 */

/* 提供i/o介面子程式 */

#include

#include

"ch376inc.h"

#ifndef

__ch376_hal_h__

#define __ch376_hal_h__

#ifdef __cx51__

#ifndef __c51__

#define __c51__

1#endif

#endif

#ifdef __c51__

#define

big_endian

1#endif

#ifdef __c51__

#pragma noaregs

#endif

/* 附加的usb操作狀態定義 */

#define

err_usb_unknown

0xfa

/* 未知錯誤,不應該發生的情況,需檢查硬體或者程式錯誤 */

/* 延時指定微秒時間,根據微控制器主頻調整,不精確 */

void

mdelayus( uint8 us );

/* 延時指定毫秒時間,根據微控制器主頻調整,不精確 */

void

mdelayms( uint8 ms );

void

ch376_port_init( void ); 

/* ch376通訊介面初始化 */

void

xendch376cmd( void );

/* 結束ch376命令,僅用於spi介面方式 */

void

xwritech376cmd( uint8 mcmd );

/* 向ch376寫命令 */

void

xwritech376data( uint8 mdata );

/* 向ch376寫資料 */

uint8

xreadch376data( void );

/* 從ch376讀資料 */

uint8

query376interrupt( void );

/* 查詢ch376中斷(int#引腳為低電平) */

uint8

minitch376host( void );

/* 初始化ch376 */

#endif

ch376檔案管理晶元

ch376是檔案管理控制晶元,用於微控制器系統讀寫u 盤或者sd 卡中的檔案。ch376支援usb裝置方式和usb主機方式,並且內建了usb通訊協議的基本韌體,內建了處理mass storage海量儲存裝置的專用通訊協議的韌體,內建了sd卡的通訊介面韌體,內建了fat16和fat32以及fat12檔...

硬體抽象層 HAL

本章主要講硬體抽象層 hal硬體抽象層是建立在linux驅動之上的一套程式庫。這套程式庫並不屬於linux核心,而是屬於linux核心層上的應用層。google為android加入hal主要有以下目的 統一硬體的呼叫介面。由於hal有標準的呼叫介面,所以可以利用hal遮蔽了linux驅動複雜 不統一...

Android 硬體抽象層(HAL)

出發點 保護廠商利益 android的硬體抽象層,簡單來說,就是 對linux核心驅動程式的封裝,向上提供介面,遮蔽低層的實現細節。也就是說,把對硬體的支援分成了兩層,一層放在使用者空間 user space 一層放在核心空間 kernel space 其中,硬體抽象層執行在使用者空間,而linux...