15. DMA Poll(Direct Memory Access) -이번장은 DMA 컨트롤러를 통한 데이터의 이동 방법에 대해 배운다 DMA원리 좌측은 DMA 컨트롤러 없는 MCU의 데이터 복사 방법이다 데이터를 복사 완료할 때까지 MCU는 다른 작업을 하지 못하고 데이터를 복사하고 있는다. 우측은 DMA 컨트롤러가 있는 MCU의 데이터 복사 방법이다 MCU가 DMA contoller에게 데이터를 복사하라고 명령하면 DMA controller는 복사를 실행한다 그렇게 되면 MCU는 그 시간에 다른 작업을 할 수 있어 효율적이다. DMA Controller 구조DMA1 컨트롤러는 AHB 주변 포트는 DMA2 컨트롤러처럼 연결 되어 있지 않다 따라서 DMA2만 메모리-메모리 전송이 가능하다(RM0090 데이터 ..
14. WWDG (Window Watch Dog) -와치독 타이머는 프로그램이 어느 일정 시간을 초과해서 멈춰 있을 때 MCU 스스로 리셋하는 기능이다 이 기능을 사용하면 사용자가 수동으로 MCU를 리셋할 수 없는 상황일 때 사용된다 Block diagramRM0090 데이터 시트에서 block diagram을 검색해보면 왼쪽과 같이 WWDG는 APB1 클럭에 연결 되어있다. 위의 그림은 와치독 타이머의 타이밍도이다 TCNT 카운터가 0x3F까지 내려오면 Reset이 된다.Refresh allowed 구간에서 Refresh 함수를 실행해 주지 않는다면 MCU는 현재 자신의 동작에 문제가 있음을 알고 자체적으로 리셋을 한다. Refresh not allowed 구간에서는 Refresh함수를 실행하면 Ref..
13. IWDG(Independent Watch Dog) - 와치독 타이머는 프로그램이 어느 일정 시간을 초과해서 멈춰 있을 때 MCU 스스로 리셋하는 기능이다. 이 기능을 사용하면 사용자가 수동으로 MCU를 리셋할 수 없는 상황일 때 사용된다. IWDG Diagram RM0090 데이터시트의 block diagram을 참조해보면 IWDG는 RC LS에 연결 되어있다 CUBE MX 설정 위의 다이어그램에서 보여준 것과 같이 LSI RC가 IWDG를 담당하고 있다 현재 32KHz이다. Prescaler : IWDG에 들어오는 32Khz/4 = 8Khz, 1clk = 0.125msCounter reload value: 0.125 * 50 = 6.25ms 이내에 리프레쉬가 일어나지 않으면 리셋된다. Sourc..
12. SPI IT(Serial Peripheral Interface Interrupt) -이번 장은 11장의 방식과 똑같은나 전송, 수신이 완료 되었을 경우 인터럽트 실행 방법에 대하여 배운다. CUBE MX 설정전송, 수신 완료시 인터럽트로 PG14에 연결된 LED를 On Off 해야 하므로 PG14를 output 해준다. 11장과 다르게 NVIC에서 SPI1 global interrupt 설정을 해주었다9,10장의 내용도 11장12장의 내용과 비슷하다 Source Code/* USER CODE BEGIN 0 */uint8_t tx_buff[]={0,1,2,3,4};uint8_t rx_buff[5];/* USER CODE END 0 */../* USER CODE BEGIN 2 */HAL_SPI_Tra..
11.SPI Poll (Serial Peripheral Interface) -이번 장은 SPI 통신 방식에 대해 배운다. -SPI 통신에 사용되는 핀은 SCK, MOSI, MISO, NSS 4개의 핀이 있다. -1:N 통신이 가능하며 UART 통신보다 속도가 훨씬 빠르다. -SPI 통신은 LCD제어, 음성 제어등에 사용된다. 위와 같이 슬레이브 기기가 추가될 때마다 제어핀이 하나씩 추가 된다.아래 예제는 슬레이브기기가 2개 이상이 아니므로 NSS 설정을 하지 않는다. CUBE MX 설정 CPOL: SPI 통신이 Idle 상태일 때 출력되는 상태를 설정이다. CHPA: 첫번째 엣지에서 데이터를 잡아온다, 두번째 엣지에서 데이터를 잡아온다. Source Code/* USER CODE BEGIN 0 */uin..
10. UART IT(UART Interrupt) -이번 장은 UART Interrupt에 대해 배운다 -9장은 수신시 일정한 시간을 대기, 데이터가 다 채워질 때까지 Recive함수에서 대기를 하고 있는다 하지만 이번 장은 함수를 실행 하면 데이터가 꽉 찰때까지 Recive함수에서 대기를 하는 것이 아니라 데이터가 들어올 때마다 인터럽트 방식으로 처리를 한다 -아래 예제는 PG14 LED를 1초 간격으로 깜박이며 UART 데이터 전송, 수신이 완료 되었을 경우 PG13의 LED를 On Off 한다 하이퍼 터미널 9장과 같이 설정 CUBE MX 설정 Sorce Code/* USER CODE BEGIN 0 */uint8_t tx_buff[] = {"Hello UART"};uint8_t rx_buff[5];..
- Total
- Today
- Yesterday
- filecopy
- atmel studio 설치
- 폴더생성
- atmega 개발
- MCG
- STM GPIO
- vba
- STM32F429
- STM CUBE MX
- 전세지킴보증서
- atmel studio7
- 틀고정
- STM32F
- 제목행
- atmega 설치방법
- 홈서비스
- 수은건전지
- 정부주택대출
- CUBE MX GPIO
- Dir
- STM32F429 GPIO
- 중기청
- Excel
- 착한운전자마일리지
- atmega128 설치
- 중소기업청년
- STM32F GPIO
- GPIO
- 파일복사
- STM 입출력
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |