while(1)
{
HAL_ADC_Start(&hadc);
adcVal = HAL_ADC_GetValue(&hadc);
TIM3->CCR3 = adcVal-2000;
}
1.总结串口的发送和接收功能使用到的函数
HAL_UART_Transmit_DMA(&huart1,"hello world",strlen("hello world"));
HAL_UART_Transmit(&huart1,(uint8_t *)&ch,1,1000);
HAL_UART_Receive_IT(&huart1,Rx_data,1);
HAL_UARTEx_ReceiveToIdle_DMA(&huart1,Rx_data,100);
2.总结DMA的作用,和DMA+空闲中断的使用方式
直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传
输。无须 CPU干预,数据都可以通过DMA进行快速地传输。这就为其他操作保留了 CPU资源。
两个 DMA控制器共有5个通道,每个通道专门用来管理来自于一个或多个外设对存储器访问
的请求。还有一个仲裁器来协调各个 DMA 请求的优先权。
空闲中断指的是在一定时间(发送一个字节的时间)内没有接收到数
据后就会产生一个空闲中断。当发送完成一次数据后,过一个字节数据的时间会产生空闲中断,在
空闲中断中处理接收到的一包数据。