공부방/ARM_STM32WS 이규정교수님_필기
240402_ADC_가변저항 두개_UART SMT끼리
맘스터치보단파파이스
2024. 4. 2. 18:05
펌웨어 : 기계장치 코딩 핀에 대한 기능을 제대로 정의해야한다.
ADC의 원리는 비교기이다.
ex) 0~15, >7 , >11, >9, >8
1 0 0 0 비트수를 결정해준다.
ADC
ADC -> 요청
ADC IT 시작 -> 인터럽트
자동 컨버전 완료 ->콜백함수 호출-> 데이터 받기
설정
- Scan conversion : 쓸 때 마다 channel 찾는다. rank에 연결되어 있는 channel을 찾는다.
- continuous conversion : 0컨버전 1컨버전 하고 나서 다 됐을 떄 scan이 있으니 2를 가야하는데 설정이 1 까지라서 continuous 에 의해 0번으로 돌아간다. 이게 켜지지 않으면 1번측정만 한다. 리셋 할 때 마다 한번씩만. 인터럽트 발생이 1번이다
- 레지스터 : 하드웨어적 연결 (메모리는 하드웨어적 분리) OUTPUT DATA가 TR에 직접 연결.
- GPIO는 레지스터이다.
하드웨어적으로 설정이 가능한 ARM
% 원하는 자릿수 f
"차이" 제어의 기본
- 인터럽트를 사용하여 had_ADC_pollforconversion, hal_ADC_get_value를 대체했다. 복잡한 함수를 써야하는 상황이 변수만 들고와서 사용하는 상황으로 바뀐다. 반응속도가 많이 빨라진다. ADC 채널이 많아지면 엄청 느려진다.
- 하드웨어를 통해 지원되는 인터럽트 사용. CPU가 한다.
- 심지어 CPU가 일을 안하게 하는 DMA
DMA 장치가 ADC가 완료되어 Flag가 살아났을 때 CPU가 아니라 DMA가 직접 해결
링버퍼, Q
MODE : circular = 연속적으로 사용하겠다.
8bit 비트레이트 비트샘플링 115200, 9600
- "ABC"를 받으면 내 노트북에서 "123"을 출력한다
- uart2는 STM과 노트북간의 통신 uart6은 STM과 STM의 통신이다.
- uart6으로 받은 정보를 uart2로 보내주면 uart2에서 "ABC"를 인식하여 "123"을 내 노트북에 출력한다.