logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

STM32 多通道采集(扫描和间断模式)

启用:ADC在完成一次转换(或一次扫描序列)后,自动开始下一次转换,无需再次调用 HAL_ADC_Start。禁用:ADC在完成一次转换(或一次扫描序列)后停止,需手动调用 HAL_ADC_Start 触发下一次转换。Continuous Conversion Mode(连续转换模式)

文章图片
#stm32#javascript#嵌入式硬件
Stm32 adc多通道+dma传输(乒乓缓冲)

adc配置连续转换模式,ADC在完成一次转换(或一次扫描序列)后,自动开始下一次转换,无需再次调用 HAL_ADC_Start。后3个存入buffer2,使能DMA中断处理adc_buffer2。前3个存入Buffer1,使能DMA半中断处理buffer1。存储6个数据进入缓冲区。

文章图片
#stm32#嵌入式硬件#单片机
Jlink解锁Timeout while unsecuring device. Erase never stops.

引脚短路到地,断开全部电源,拔下下载器再插上,打开J-Link Commander,输入unlock kinetis,若不成功,则反复断开与插上下载器,输入解锁命令即可。jlink连接出现异常情况。

文章图片
#单片机
stm32 使用RTT打印信息和Jscope打印波形

打开jlink源文件中的rtt软件,并且启动jflash连接。修改Buffer大小(不要乱改容易堆栈溢出)将jlink下载源文件的rtt文件解压出来。将这5个文件存入工程文件夹中。包含头文件/初始化和打印数据。解压开后把这个两个文件夹。

文章图片
#stm32#嵌入式硬件#单片机
(7)使用CmBacktrace精确分析hardfault

至此,CmBacktrace移植、配置完成,接下来就可以愉快的使用了!2.4. 去除原有的HardFault_Handler。再使用addr2line分析在哪一行出现问题。2.5. 配置CmBacktrace。触发hardfault的代码位置。不准确的数据访问违规所导致的。加入访问非法地址函数。

文章图片
#单片机#stm32#嵌入式硬件
单片机ADC硬件采样频率计算(忽略软件执行速度)

单次转换的采样频率 = 1 / 总转换时间 = 1 / 1.125 μs ≈ 889 kSPS(千样本每秒)。单次转换的采样频率 = 1 / 总转换时间 = 1 / 0.35 μs ≈2.9MSPS(百万样本每秒)总转换时间 = 采样时间 + 转换时间 = 1.5 + 12 = 13.5 个 ADCCLK 周期。总转换时间 = 采样时间 + 转换时间 = 1.5 + 16 = 17.5 个 ADC

文章图片
#单片机#嵌入式硬件
stm32hal库串口接收不定长数据

在中断服务函数中写空闲中断函数,空闲中断标志位记得要清除。把每个接收到的数据存入数组uart_buf。1.正常使用接收中断函数。2.使用空闲接收中断函数。主函数中处理空闲中断状态。

文章图片
#stm32#单片机#嵌入式硬件
单片机ADC硬件采样频率计算(忽略软件执行速度)

单次转换的采样频率 = 1 / 总转换时间 = 1 / 1.125 μs ≈ 889 kSPS(千样本每秒)。单次转换的采样频率 = 1 / 总转换时间 = 1 / 0.35 μs ≈2.9MSPS(百万样本每秒)总转换时间 = 采样时间 + 转换时间 = 1.5 + 12 = 13.5 个 ADCCLK 周期。总转换时间 = 采样时间 + 转换时间 = 1.5 + 16 = 17.5 个 ADC

文章图片
#单片机#嵌入式硬件
到底了