HDL_ADC_PollForConversion: Polling 방식으로 Conversion
1.PB0를 GPIO_INPUT으로 설정 후 System Core - GPIO에서 다음과 같이 설정
.
.
..
5. TIM3 설정
. TIM3 인터럽트 설정
. Code Generation
작동 확인
1. Test005-ADC-DMA 프로젝트 생성
2. ioc 파일에서 핀 설정 후 순서대로 X_Axis, Y_Axis, Z_Axis 라벨링
3. 좌측 Analog - ADC1 탭에서 Parameter Settings 변경
4. DMA Settings에서 Add - ADC1 선택 - 아래와 같이 세팅값 변경
Circular 방식: 메모리에 데이터를 채울 때 메모리 공간을 모두 채우면 다시 처음 주소에 데이터를 저장하는 방식
- 메모리에 FULL이 되지 않음
Peripheral: ADC 파트 / Memory: Program 파트
5. 다시 Parmaeter Settings에서 DMA Continuous Requests 활성화(4번 미진행 시 활성화 불가능)
6. Number Of Conversion 2개로 변경 후 채널 번호 변경
7. EOC 세팅값 변경
8. NVIC 세팅에서 ADC1 global interrupt 활성화
9. Parameter Settings에서 External Trigger Conversion Source 옵션 변경
10. Timers 탭의 TIM3에 Internal Clock을 인가하고 PSC와 ARR 값, Trigger Event Selection 변경
11. GPIO탭에서 설정 변경
12. Code Generation
13. PA4를 ADC1_IN4로 설정 후 CDS로 라벨링
14. Analog - ADC1에서 Rank 추가 후 Channel 4번 확인
15. Code Generation
16. src 폴더에 myLib.c 복사해오기
17. 코드 수정: ProgramStart 삽입, 함수 작성
18. 작동확인: 조도센서 값은 오른쪽 숫자에 나타나고, 왼쪽 P 괄호 내에 조이스틱 값 표시
'하만(Harman) 세미콘 반도체 설계 과정 > ARM Architecture 이해 및 RTOS 활용' 카테고리의 다른 글
DMA, UART (0) | 2024.07.18 |
---|---|
STM32-초음파센서 인터럽트 (0) | 2024.07.11 |
STM32 - 초음파 센서를 이용한 거리측정 (0) | 2024.07.10 |
PWM (1) | 2024.07.05 |