Cortex-M3(2)
-
[Cortex-M3] 3. EXTI(외부 인터럽트)와 AFIO, NVIC
EXTI(외부 인터럽트)가 일어나는 과정과 내부 아키텍처에 대해 알아보자. 외부에서 input이 들어오면 다음과 같은 처리를 하여 이루어진다. 1. falling trigger와 rising trigger를 거쳐 인터럽트를 검출한다 2. 마스크 레지스터와 and논리회로를 거쳐 enable 상태일때 통과시킨다. 3. pending 레지스터를 거쳐 nvic컨트롤러로 향한다. 인터럽트는 0~15번까지 존재하며 16~19번 인터럽트는 특수한 인터럽트이다. 간단한 구조를 알아보았으니 제어를 하기 위하여 레지스터를 알아보자. GPIO는 항상 쓰이기 때문에 확실히 외워두고 알아보는게 좋을 듯 하다. 1. EXTI_RTSR (Rising Trigger Selection Register) TRx : 해당 인터럽트를 ri..
2019.09.02 -
[Cortex-M3] 2. Cortex-M3의 GPIO 두번째
저번에 이어서 GPIO 레지스터를 계속 알아보도록 하자. 4. BSRR (Port bit set/reset register) BSRR은 포트를 세트하거나, 리셋하는 레지스터 이다. BR비트가 리셋, BS비트가 세트를 담당한다. 5. BRR (Port bit reset register) BRR은 리셋만 하는 레지스터이다. BR비트가 리셋을 하고, BSRR로 세트 BRR로 리셋하는게 효율이 좋다고 한다. ODR을 쓰는것보다 속도가 BSRR과 BRR을 쓰는것이 연산처리가 간단하여 더 빠르게 사용할 수 있다. 6. IDR (Port input data register) IDR은 ODR과 비슷하게 0번에서 15번핀의 외부 입력값을 받아오는 역할을 한다. 스탠다드 GPIO의 기본 구조 마지막으로 gpio의 구조에 ..
2019.08.27