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에 따라 라이센스가 부여됩니다.