- 博客(4)
- 资源 (2)
- 收藏
- 关注
原创 STM32采集正弦幅值
采集信号:采集的是400HZ正弦信号,由于单片机采集范围是0-3.3V,将输入信号进行偏执,偏置1.5V,采集方法:使用定时器10u出发一次,正弦信号一个周期2.5ms,一个周期采集250次信号处理:采集信号计算每个周期最大值与最小值差值,采集100个周期,再取平均值,处理后上传结果与输入信号基本符合。设计中遇见问题1.采集的最大值与最小值相同,计算结果为0,最终发现当通道采样时间为最小值ADC_SAMPLETIME_3CYCLES时才可以采集到各个采样点数值。定时器配置系统周期
2022-04-02 10:16:41 12764 2
原创 STM32 hal库版UART+DMA
使用STM32CUBEMX设置串口,异步通信打开串口接收和发送DMA,接收是循环模式,发送是普通模式生成程序后,在main.c的串口初始化里添加接收DMA语句,每次接收一个字节,rx_data为全局变量在中断文件stm32f1xx_it.c文件中DMA接收中断中接收数据,累计接收20个通过422发送第一个在读取DMA接收数据时,先停止DMA,如果不停止会接收到重复字节;第二,在使用发送时,使用的422芯片有使能引脚,在检测发送完成后在关闭发送使能第一种方式是读取D...
2021-09-16 10:21:52 553
原创 基于HAL库的STM32F1串口使用,多字节收发
以前使用的是寄存器板,最近正在重新学习HAL库板,在使用到串口时出现问题,在单个字节收发时没有问题,在多字节收发时HAL_UART_IRQHandler()over-run报错,在网上查了许多资料都没有解决,后详细阅读正点原子的资料发现少些一个判断语句。程序如下:使用STM32CubeMX生成程序后,在main函数中添加 HAL_UART_Receive_IT(&huart1,&rx_data,1);将rx_data设为全局变量在中断函数中编写回调函数,实现接收10个数据..
2021-08-26 17:52:11 2415 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人