728x90
이 개발자 키트는 코어 보드는 STM32H743IIT6을 기반으로합니다.
ADC1을 이용하여 16개의 아날로그 데이터를 수신합니다.
가변저항을 이용하여 테스트 프로젝트를 진행합니다.
각 가변저항에서 아날로그값의 변화를 아두이노 시리얼 플로터를 이용하여 그래프로 표시합니다.
ADC1 설정
/* USER CODE BEGIN 0 */
#define ADC1_NUM 16
uint32_t ADC1Result[ADC1_NUM];
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_DMA_Init();
MX_USART1_UART_Init();
MX_ADC1_Init();
/* USER CODE BEGIN 2 */
// printf("STM32 H7 START...\r\n");
int count = 0;
HAL_ADC_Start_DMA(&hadc1, (uint32_t *)ADC1Result, ADC1_NUM);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
count += 1;
printf("%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld\r\n",
ADC1Result[0], ADC1Result[1], ADC1Result[2], ADC1Result[3],ADC1Result[4], ADC1Result[5], ADC1Result[6], ADC1Result[7],
ADC1Result[8+0], ADC1Result[8+1], ADC1Result[8+2], ADC1Result[8+3],ADC1Result[8+4], ADC1Result[8+5], ADC1Result[8+6], ADC1Result[8+7]);
HAL_Delay(100);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
테스트영상
가변저항을 이용하여 ADC값을 변경합니다.
Source code
github.com/rionkim54/stm32_h7_adc_test
참조
www.waveshare.com/wiki/OpenH743I-C
'임베디드 보드 > STM32' 카테고리의 다른 글
mbed programming - ADC & Ethernet UDP (0) | 2021.02.17 |
---|---|
STM32H743II ADC multi channel + UDP Client (0) | 2021.02.15 |
STM32 F429zi ADC 15 multi channel (0) | 2021.02.10 |
PTC PWM (0) | 2020.11.07 |
UI Design (0) | 2020.10.21 |