1.总结串口的发送和接收功能使用到的函数
HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, uint32_t Timeout);
HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
2.总结DMA的作用,和DMA+空闲中断的使用方式
当发送的数据量太大的时候会导致CPU一直在发送数据,无法去处理别的事情。
使用DMA来进行数据的发送。
HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size
3.使用PWM
cpp
while (1)
{
/* USER CODE END WHILE */
HAL_ADC_Start(&hadc);
adc_val = HAL_ADC_GetValue(&hadc);
int i=((adc_val/ 4095.0f)*999* 2)-900;
TIM3->CCR3 = i ;
TIM14->CCR1= i ;
printf("黑暗强度:%d\r\n", i );
HAL_Delay(200);
/* USER CODE BEGIN 3 */
}
+ADC光敏电阻完成光控灯的实验