Mac에서 GPIO (L 치카)
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"/>Touch sensor - GPIO - USB - Mac 피 c. 라고 r. 이 m/i QH4w9d42
— HT (@infinite1oop) May 23, 2020
센서에 터치했을 때는 '1'이 읽혀진다. GPIO6이므로 Bit5(=0x40).
계속
이번에는 I2C도 기록에 남는다.
Reference
이 문제에 관하여(Mac에서 GPIO (L 치카)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/infinite1oop/items/444b2b963daceb550c26텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)