ARM(3)
-
ARM-5 SPI
SPI(Serial Peripheral Interface)는 주변기기와 MCU간에 통신하는 프로토콜 중 하나로, 동기형 직렬통신이다. I2C와 비슷하게 마스터와 슬레이브로 작동하며, 전이중 통신 방식이므로 I2C와 달리 데이터 송수신을 동시에 할 수 있다. 또 데이터를 주고받을 때 시프트 레지스터를 사용하기 때문에, Slave(센서들)의 회로가 간단해지는 장점이 있다. SPI는 동기 통신이므로, 클럭에 맞춰서 데이터를 추고받는다. 이때 한쪽이 SCK(동기형 클록)이라는 신호를 생성하는데, 이 동기형 클록을 생성하는 쪽을 컨트롤러(Controller)또는 마스터(Master)라 하고, 받는 쪽을 주변장치(Peripheral) 또는 슬레이브(Slave)라고 한다. 마스터가 슬레이브에게 데이터를 보낼 때, M..
2023.04.16 -
ARM-3 Timer
Timer를 사용해서 delay_us()함수를 만든다. 현재 시스템 클록이 84Mhz로 설정되어 있으므로 타이머 클록을 1Mhz로 분주하러면 분주비를 84로 나누어준다 1Mhz의 주기는 1us이므로 간단하게 delayus를 만들 수 있다. 분주비를 84로 분주해서 1Mhz의 주파수 생성 TIM CH1을 input capture direct mode(상승에지, 하강에지 모두 설정) NVIC 설정(모두 켜짐) 다음 핀맵을 설정해준다. PA8은 타이머핀, PC5은 OUTPUT으로 설정해준다. //main.c HAL_TIM_IC_Start_IT(&htim1, TIM_CHANNEL_1); //INPUT_CAPTURE START, 상승에지에서 하강에지까지의 펄수 수를 카운트 void delay_us(unsigned..
2023.04.10 -
ARM-1
RISC(Reduced Instruction Set Computer) : 적은 수의 명령어를 사용하며 명령어의 길이를 통일한 컴퓨터 구조이다. 단순한 명령어는 빠르게 실행할 수 있지만 복잡한 명령을 실행할 땐 CISC보다 처리 속도가 느리다. 실수 연산을 주로 하는 슈퍼컴퓨터의 CPU용으로 개발되었다. ARM, AVR등이 RISC 구조이다. CISC(Complex Instruction Set Computer) : 다양한 명령어를 사용하는 컴퓨터 구조이다. RISC보다 명령어의 실행 속도는 떨어지지만, 복잡하고 다양한 명령을 수행할 수 있어 범용 컴퓨터의 CPU를 만드는데 주로 쓰인다. HAL 드라이버 AVR에서는 MCU의 레지스터에 직접 접근하는 방식으로 프로그램을 하였지만, STM32에서는 제조사에서 ..
2023.04.04