STM32作业实现(四)光敏传感器

目录

STM32作业设计
STM32作业实现(一)串口通信
STM32作业实现(二)串口控制led
STM32作业实现(三)串口控制有源蜂鸣器
STM32作业实现(四)光敏传感器
STM32作业实现(五)温湿度传感器dht11
STM32作业实现(六)闪存保存数据
STM32作业实现(七)OLED显示数据
STM32作业实现(八)触摸按键TPAD
STM32作业实现(九)驱动舵机
源码位置

开启光敏引脚(DMA模式)



选择ADC3配置

需要修改频率

更新main.c文件

c 复制代码
/* USER CODE BEGIN PV */
uint8_t uart_data = 0; // 处理不定长参数
char uart_buf[MAXSIZE] = ""; // 保存不定长命令
uint16_t uart_flag = 0; // 高位 字节用做标志位 低位 字节记录数组使用空间
uint16_t light_adc_dma_buf[2] = {0}; // 接收光敏数据
char msg[MAXSIZE] = ""; // 测试用
/* USER CODE END PV */

/* USER CODE BEGIN 2 */
HAL_UART_Receive_IT(&huart1, &uart_data, 1); // 处理不定长数据
HAL_ADCEx_Calibration_Start(&hadc3);
int len = 0;
/* USER CODE END 2 */

/* USER CODE BEGIN WHILE */
while (1)
{
    HAL_ADC_Start_DMA(&hadc3, (uint32_t*)light_adc_dma_buf, 1);
    len = sprintf(msg, "%d\n", light_adc_dma_buf[0]);
    HAL_UART_Transmit(&huart1, (uint8_t*)msg, len, 1000);
    HAL_Delay(1000);
    /* USER CODE END WHILE */
    
    /* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */

使用 UartAssist 工具发送与接收串口调试信息

相关推荐
强化学习与机器人控制仿真40 分钟前
ROS & ROS2 机器人深度相机激光雷达多传感器标定工具箱入门教程(一)
开发语言·人工智能·stm32·深度学习·机器人·自动驾驶
IDIOT___IDIOT2 小时前
GPIO输出模式
单片机·嵌入式硬件
子墨城西3 小时前
DSP、MCU、FPGA 的详细总结
单片机·嵌入式硬件·fpga开发
技术干货贩卖机3 小时前
0基础 | 开发环境 |51单片机编译环境 Keil C251和C51,STM32的编译环境Keil 5 MDK-ARM
arm开发·stm32·嵌入式硬件
XINVRY-FPGA3 小时前
XC6SLX100T-2FGG484I 赛灵思 XilinxFPGA Spartan-6
c++·人工智能·嵌入式硬件·阿里云·ai·fpga开发·fpga
古希腊掌握嵌入式的神3 小时前
PCB新手常见问题--晶振和MCU 电容放置
单片机·嵌入式硬件
瓢儿菜20183 小时前
proteus 仿真串口 安装配置虚拟软件
单片机·proteus·仿真·虚拟串口配置
星辰pid4 小时前
STM32+dht11+rc522+jq8400的简单使用
stm32·单片机·嵌入式硬件
不脱发的程序猿4 小时前
如何判断单片机性能极限?
单片机·嵌入式
东雁西飞5 小时前
MATLAB 控制系统设计与仿真 - 34
开发语言·单片机·算法·matlab·工业机器人