abob 发表于 2021-9-2 08:40 非常感谢,我明白了。 |
yermsir 发表于 2021-9-2 00:05 在AD触发的列表里 有来自定时器的触发源。 ![]() ![]() |
我的芯片是瑞萨RX62T的芯片。 |
yermsir 发表于 2021-9-1 14:51 如果是基于STM32的芯片 F3系列以上。 每个定时器有6个通道。1,2,3通道可以用来输出图上的PWM1,2,3L 信号。5,6通道可以输出额外的PWM波。ADC可以设置为 被 5,6通道输出波形的上升沿触发采集。 并不是要写一个中断函数。而是写5,6通道PWM的波形值。 波形走到上升沿会引起ADC的采集。 用延时肯定是不行的。因为采样点覆盖左半侧的所有位置。而右半侧要计算。 能告诉你具体的型号么。得首先确定 你的单片机的ADC是不是只能手动触发。 其次是你的控制需求和开关频率。 看看有没有可能用B,C点引起中断的办法。 |
abob 发表于 2021-8-29 11:45 你好,我的单片机没有DMA的功能。所以我不太懂,关于您的说法我想再请教一下。 A中断中,用定时器另外的通道是什么意思? 写入B,C点的上升沿的语句,是在A中断的中断函数里面写的吗? 如果是在A中断的中断里面写的,就相当于在A中断里面又写了一个中断函数。这是中断嵌套的概念对吗?B,C点的上升沿优先级更高,触发后先去执行这个中断,执行完在返回到A中断函数里面继续执行? |
abob 发表于 2021-8-29 11:45 楼主的应用不能用DMA,每次电压电流采集都要有对应的控制操作,用DMA的话,电机都烧掉了你还不知道。 |
yermsir 发表于 2021-8-28 20:24 在A中断中 用定时器另外的通道。 写入B,C点的上升沿 通过上升沿触发AD DMA自动将结果搬运到内存。 在D中断中直接读取内存结果, |
电流采样是通过TIM AD 和 DMA配合自动采集的 在中断里只是负责读取两相电流的AD结果。 |