STM32

本文介绍了STM32中串口数据的发送与接收函数,如HAL_UART_Transmit和HAL_UART_Receive_IT,以及DMA的使用和空闲中断的应用。同时展示了如何使用PWM和ADC结合光敏电阻实现光控灯的简单实验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)

串口数据中断回调的函数:HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)

2.总结DMA的作用,和DMA+空闲中断的使用方式

当发送完成一次数据后,过一个字节数据的时间会产生空闲中断,在空闲中断中处理接收到的一包数据

3.使用PWM+ADC光敏电阻完成光控灯的实验
 

int adc_val=0;
 HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_3);
	TIM3->CCR3=50;
while(1)
{
  HAL_ADC_Start(&hadc);
		adc_val=HAL_ADC_GetValue(&hadc);
		if(adc_val>3500)
		{
			TIM3->CCR3=999;
		}
		else
		{
			TIM3->CCR3=0;
		}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值