我希望能够将我的 ADC 值发送到 Nodemcu 以将它们放入 Web UI,但我什至无法将任何 UART 值发送到串行端口并且我没有发现问题
我将我的变量和库设置为;
#include "stdio.h"
#include "string.h"
uint8_t convEnd = 0;
uint32_t adcBuff[3];
uint32_t adcData[3];
在此之后,我使用 DMA 方法读取我的 ADC 值,我设置一个标志在转换完成时变为 1。
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc){
if (hadc->Instance == ADC1){
adcData[0] = adcBuff[0];
adcData[1] = adcBuff[1];
adcData[2] = adcBuff[2];
convEnd = 1;
}
}
接下来,我开始 dma 并将这段代码放入我的 while(1) 循环中,
while (1)
{
if(convEnd == 1) //check is conv completed
{
char txt[30];
sprintf(txt, "ADC Val: %d %d\n\r", adcData[0], adcData[1]);
HAL_UART_Transmit(&huart2, (uint8_t *)txt, strlen(txt), 100);
HAL_Delay(500);
convEnd = 0;
}
}
因此,我可以正确读取 ADC,但我无法通过 UART 将这些值发送到任何串行端口
感谢阅读