목차
[WAT-STM32-2.8] 27번 예제 Analog to Digital 실험
WAT-STM32-2.8 예제 중 27번으로 Analog to Digital 실험입니다. 아날로그 값은 가변저항 값을 사용합니다.장치의 고유 ID 읽는 예제입니다.
ADC 초기화
WAT_STM32_ADC_Configuration();
1 mS 마다 호출
// 1ms 마다 실행
void SysTick_Handler_User(void)
{
static uint32_t TimeIncrease = 0;
if((TimeIncrease%2000) == 0) // 2초(1ms x 2000) 가 되면 ON
{
LED1OBB = 0;
LED2OBB = 0;
LED3OBB = 0;
TimeIncrease = 0;
}
else if((TimeIncrease%1000) == 0) // 1초(1ms x 1000) 가 되면 OFF
{
LED1OBB = 1;
LED2OBB = 1;
LED3OBB = 1;
}
TimeIncrease++;
}
주요 코드
main.c 파일 일부입니다.
// WAT_STM3228_27 Analog to Digital 실험
// 출처: https://docs.whiteat.com/?p=4343
//
/* Infinite loop */
while (1)
{
/* LED1 TOGGLE */
STM32_LEDToggle(LED1);
ADCConvertedValueLocal = GetADCConvertedValue();
Precent = (ADCConvertedValueLocal*100/0x1000);
Voltage = Precent*33; // 3.3V 기준
printf("\r\n ADC value: 0x%X, Percent: %d%%, Voltage: %d.%d%dV.",
ADCConvertedValueLocal, Precent, Voltage/1000, (Voltage%1000)/100, (Voltage%100)/10);
/* delay */
delay(16000000);
}
결과화면
1초 마다 LED 가 ON/OFF 되면서 가변저항 의 ADC 값을 출력합니다.



WAT-STM32-2.8보드 전체 예제
제품 구매
WAT-STM32-2.8 [STM32F103RB Board + 2.8인치 TFT LCD 터치 세트] 는 https://kit128.com/goods/view?no=221 에서 구매하실 수 있습니다.

