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。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.