新手入门
- 积分
- 17
- 金钱
- 17
- 注册时间
- 2022-9-2
- 在线时间
- 2 小时
|
1金钱
void StartDefaultTask(void *argument)
{
/* USER CODE BEGIN StartDefaultTask */
/* Infinite loop */
uint8_t uart_buff[12] = {0x4c,0x4a,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x59,0x43};
HAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_data, 4);
for(;;)
{
uart_buff[2] = (adc_data[0] >> 8) & 0x00ff;
uart_buff[3] = adc_data[0] & 0x00ff;
uart_buff[4] = (adc_data[1] >> 8) & 0x00ff;
uart_buff[5] = adc_data[1] & 0x00ff;
uart_buff[6] = (adc_data[2] >> 8) & 0x00ff;
uart_buff[7] = adc_data[2] & 0x00ff;
uart_buff[8] = (adc_data[3] >> 8) & 0x00ff;
uart_buff[9] = adc_data[3] & 0x00ff;
HAL_UART_Transmit_DMA(&huart1, uart_buff, 12);
}
/* USER CODE END StartDefaultTask */
}
在debug中能看到adc_data数据更新正常, 但是uart不能输出. 只要不开HAL_ADC_Start_DMA, 就能够输出
|
|