Mac에서 GPIO (L 치카)

4366 단어 전자 공작gpio

Mac에서 GPIO 제어해보기



RaspberryPi나 Arduino에서 L치카하는 기사는 자주 보이지만, Mac이나 PC에서 L치카하는 것은 별로 본 적이 없었기 때문에 여기에 기록한다.

USB to GPIO 보드



하지만 Mac이나 PC에는 GPIO 핀이 없으므로 USB를 GPIO로 변환하는 USB 직렬 I2C 변환 보드을 사용했다. I2C뿐만 아니라 GPIO로 변환도 가능.


SC18IM700 상세



이 기판에는 SC18IM700이라는 IC가 탑재되어 있다. 데이터시트 을 해독한다.

Mac에서 보내는 명령




이번에는 주로 레지스터 설정 (0x57)과 GPIO Read (0x49)를 사용했다.

레지스터 설정 (0x57)





레지스터(일부)







GPIO Read(0x49)





GPIO6 사용




Input, Output 양쪽 모두에 사용할 수 있는 "GPIO6"를 이용했다.

CoolTerm



Mac에서 시리얼 통신 제어 소프트웨어는 CoolTerm을 이용.

Output(L치카)



GPIO6을 Output으로 사용하기 위해 Port Configuration 레지스터 (0x03)의 Bit5-4를 '10'(push-pull output configuration)에, IOState 레지스터 (0x04)의 Bit6을 '1'(점등)/'0'(소등) )로 설정합니다.

배선





점등시 커맨드(Hex 표기)



570365044050

꺼짐시 명령 (Hex 표기)



540365040050

동작



Mac - USB - GPIO - LED 피 c. 라고 r. m / b없이 F하는 PMpf — HT (@infinite1oop) May 23, 2020


Input(터치 센서)



GPIO6을 입력으로 사용하기 위해 포트 구성 레지스터 (0x03)의 비트 5-4를 '01'(input-only configuration)으로 설정하고 IOState 레지스터 (0x04)의 비트 6을 '0'으로 설정합니다. (아마도 입력시 IOState 레지스터를 설정할 필요가 없을 것입니다.)



배선





GPIO 읽기 명령 (Hex 표기)



4950



동작



<script async=""src="https://platform.twitter.com/widgets.js"/>

센서에 터치했을 때는 '1'이 읽혀진다. GPIO6이므로 Bit5(=0x40).

계속



이번에는 I2C도 기록에 남는다.


좋은 웹페이지 즐겨찾기