4 극관: 블 루 투 스 HCI 구동 학습 노트

데이터 구조
1、HCI_EVENT
블 루 투 스 컨트롤 러 하드웨어 의 상 태 를 나타 낸다.
enum HCI_EVENT {
  DEVICE_UP,           장치 오픈
  DEVICE_DOWN,                  장치 종료
  DEVICE_ERROR                  장치 오류 발생
};
헤더 파일: bthcip.h
2、HCI_TYPE
패 킷 형식 표시
enum HCI_TYPE {
  COMMAND_PACKET = 1,              
  DATA_PACKET_ACL = 2,                  
  DATA_PACKET_SCO = 3,                  
  EVENT_PACKET = 4,               
  ETYPE_FINISH = 5                    
};

헤더 파일: bthcip.h
3、HCI_PARAMETERS
HCI 전송 을 나타 내 는 인터페이스
typedef struct __hci_parameters {
  unsigned int uiSize;
  unsigned int fInterfaceVersion;                
  int iMaxSizeRead;                          ,      
  int iMaxSizeWrite;
  int iReadBufferHeader;                   
  int iReadBufferTrailer;               
  int iWriteBufferHeader;               0 start     
  int iWriteBufferTrailer;              end size     
  int uiFlags;                                       ,    
  int fHardwareVersion;                 0/1/2
  unsigned int uiResetDelay;            reset                  
  unsigned int uiWriteTimeout;               
  unsigned int uiDriftFactor;             
  int iScoWriteLowNumPackets;           0
  int iScoWriteNumPackets;              0
  int iScoWritePacketSize;              0/-1
  int iScoSampleSize;                   8/16
} HCI_PARAMETERS;               

헤더 파일: bthcip.h
 

 API 함수
1、HCI_CloseConnection
void HCI_CloseConnection(void);

기능: 스 택 과 HCI 전송 간 연결 닫 기
메모: 이 함 수 를 호출 하면 잠 금 해제 읽 기와 쓰기, 하드웨어 가 초기 화 되 지 않 았 습 니 다. 버퍼 를 포함 한 모든 자원 공간 을 방출 합 니 다.DLL 에서 구동 하면 함수 가 되 돌아 올 때 마 운 트 해제 됩 니 다.
2、HCI_OpenConnection(void);
int HCI_OpenConnection(void);

기능: 스 택 에 있 는 HCI 층 과 블 루 투 스 하드웨어 에 연결 하여 전송 시작 을 성공 적 으로 대표 합 니 다. 이 경우 스 택 은 HCI 를 호출 합 니 다.ReadHci Paramerters 함수.
메모: 이 함 수 는 하드웨어 를 켜 고 하드웨어 를 초기 화하 고 하드웨어 와 연결 하 는 데 사 용 됩 니 다.트 루 로 돌아 가 연결 을 성공 적 으로 만 들 었 습 니 다.이것 은 차단 함수 이다.
3、HCI_ReadHciParameters
int HCI_ReadHciParameters(
  HCI_PARAMETERS* pParms
);
  :            ,  true      ,false      。    false,       HCI_CloseConnection。
  :                 。

4、HCI_ReadPacket
int HCI_ReadPacket(
  HCI_TYPE* peType, 
  BD_BUFFER* pInBuffer
);
  :         ,  true      ,false      。    false,       HCI_CloseConnection。
  :               ,         ,      ,         。                HCI_CloseConnection 。

5、HCI_WritePacket
int HCI_WritePacket(
  HCI_TYPE eType, 
  BD_BUFFER* pOutBuffer
);
  :         ,  true      ,false      。    false,       HCI_CloseConnection。
  :                           ,     HCI_ReadHciParameters    。          ,      ,         。                HCI_CloseConnection 。

6、HCI_StartHardware
int HCI_StartHardware(void);

기능: 블 루 투 스 하드웨어 초기 화
메모: 하드웨어 가 켜 져 있 는 지 확인 하기 위해 블 루 투 스 창 고 는 이 함 수 를 호출 할 수 있 습 니 다.드라이버 가 하드웨어 초기 화 를 다시 시도 할 수 있 습 니 다.이 함 수 는 리 셋 함수 HCI 를 호출 해 야 합 니 다.TransportCallback 은 설비 의 오픈 상 태 를 확인 하고 임시 표지 의 하드웨어 사용 가능성 을 해제 합 니 다.
7、HCI_StopHardware
int HCI_StopHardware(void);

기능: 블 루 투 스 하드웨어 사용
메모: 이 함수 가 호출 된 것 은 존재 하 는 하드웨어 연결 을 해제 하고 하드웨어 장치 의 도래 를 잠시 알 리 지 않 는 데 사 용 됩 니 다.이 함 수 는 리 셋 함수 HCI 를 호출 해 야 합 니 다.TransportCallback 은 장치 가 꺼 진 상 태 를 확인 하고 HCI 까지Start Hardware 는 임시 로고 표지 하드웨어 의 사용 가능성 을 호출 합 니 다.
8、HCI_SetCallback
typedef int (*HCI_TransportCallback)(HCI_EVENT eEvent, void* pEvent);
  int HCI_SetCallback(
  HCI_TransportCallback pfCallback
);
  :  HCI  
  :  pfCallback  ,        。                          pfCallback  。         ,            。              ,                 。
 

         헤더 파일: bthcip.h
       가방: Btd. lib
 
블 루 투 스 전송 관리 자 는 먼저 pnp 장 치 를 검색 합 니 다. 예 를 들 어 pcmcia, usb 등 입 니 다.pnp 장치 가 발견 되 지 않 으 면 레 지 스 트 에 있 는 장 치 를 검색 합 니 다.
  기본 레지스터 설정
HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\Transports BuiltIn \ 1 이 등록 키 는 내 장 된 전송 구동 설정 을 표시 합 니 다. 1 은 우선 순 위 를 의미 합 니 다.
HKEY_LOCAL_MACHINE \ \ Software \ Microsoft \ \ Bluetooth \ Transports \ \ PnP \ \ < GUID > 는 pnp 전송 구동 설정 을 지적 합 니 다.
guid 키 는 전송 구동 IClass 등록 키 를 대표 합 니 다.이 값 은 전송 레지스터 에 대한 BthUniv 설정 입 니 다.장치 연결 을 열기 전에 이 설정 들 은 HKEY 로 복 사 됩 니 다.LOCAL_MACHINE \ Software \ Microsoft \ Bluetooth \ HCI 디 렉 터 리 아래.SYSGEN 과 같은 적절 한 컴 파일 변 수 를 설정 하여 전송 구동 을 지정 하면BTH_USB_ONLY, 그러면 os 디자인 에서 BthUniv 는 사용 할 수 없습니다.이 경우 적절 한 전송 구동 등록 기 설정 은 자동 으로 HKEY 로 복 사 됩 니 다.LOCAL_MACHINE\Software\Microsoft\Bluetooth\HCI。

좋은 웹페이지 즐겨찾기