SPI(3)
-
[Cortex-M3] 4. Systick, TimerX 제어하기 (1)
오늘은 systick을 이용하여 타이머를 만들고, millis구조를 사용하는 방법을 배웠다. systick은 기본적으로 72MHz를 사용하며, 분주를 사용하여 헤르츠를 낮출수 있다. 이제 systick을 다룰 레지스터를 알아보자. 1. STK_CTRL (SysTick control and status register) 여기서는 enable에서 필요한 ENABLE비트만 이해하고 다음 시간에 배우는걸로 넘어가도록 하자. ENABLE (counter enable) : 0 - counter disable 1- counter enable 2. STK_LOAD (SysTick reload value register) 이 RELOAD가 24비트로 이루어진 레지스터는 분주비를 설정하는 레지스터이다. 72MHz로 들어오..
2019.09.08 -
[Atmega128] 8. UASRT 통신 (Universal Synchronus Receiver Transmit)
USART (Universal Synchronus Receiver Transmit)에 대하여 알아보자. 스타트 비트 : 1비트로 이루어 졌으며 항상 0레벨이다. 송신시에 자동적으로 생성된다. 데이터 비트 : 5,6,7,8,9비트가 가능하다. 패리티 비트 : 패리티를 사용하지 않을 수도 있고 사용하는 경우 홀수 혹은 짝수 패리티 1비트를 사용한다. 스탑 비트 : 1,2개의 비트가 가능하며 항상 1레벨이다. 송신시에 자동적으로 생성된다. 이 데이터 프레임으로 통신하며, 완전 이중방식이며 동기 및 비동기 전송이 가능하다. 송신완료, 송신 데이터 레지스터 준비완료, 수신완료등 3가지의 인터럽트를 제공한다. 그럼 바로 레지스터를 알아보도록 하자 1. UDRn (Usart i/o Data Register) 데이터 ..
2019.08.05 -
[Atmega128] 7. SPI 통신 (Serial Peripheral Interface Bus)
이번엔 atmega128에 있는 SPI (Serial Peripheral Interface Bus) 통신을 알아보도록 하자. 직렬 주변기기 인터페이스 버스라는 뜻으로, 전이중 통신이며 마스터 슬레이브 형식으로 통신한다. MHz 단위까지 통신이 가능하며 전송완료 인터럽트를 제공한다. 먼저 SS핀으로 슬레이브를 지정하고, SCK를 통해 송신할 데이터를 시프트 레지스터에 준비하여 마스터에서 슬레이브에게 MOSI를 보내고 슬레이브가 마스터에게 MISO를 보낸다. 레지스터를 알아보자. 1. SPCR (SPI Control Register) SPIE (SPI Interrupt Enable) : 1로 설정시 전송완료 인터럽트 허용 SPE : (SPI Enable) : 1로 설정시 SPI 통신 허용 DORD (Data..
2019.08.05