外部中断和外部事件有什么区别的 改变CCRX的 值 会影响对应的定时器中断吗
接着上次评论。
CNT和CCRx的相互比较会产生不同的脉冲模式,
最多用的是 PWM模式 和 电平翻转模式。
我给你说说他们的区别和作用:
PWM模式,是通过 CCRx键入的数值,和ARR的值相 比(/),看看CCRx/ARR 的占空比(其实就是 前者占后者的百分比).如果前面PSC和ARR你都设定好了,那么这占空比就会 对应出 直流电机的速度大小(记住 是 直流电机我要和 步进电机相比较)。
电平翻转模式,是通过 CNT和CCRx数值相等时发生的模式。CCRX就像是一个关卡,CNT从0 一直向上加,等他们想等的时候就会发生翻转模式。这个模式是通过改变翻转的触发频率来改变电机速度(这里是步进电机)。
所以控制 直流电机 就是通过改变 CCRX和ARR的占空比来改变速度,而 步进电机就是通过 改变 翻转电平的触发频率来改变速度(改变频率那就是改变 定时器的一个周期的大小,通过 ARR与PSC的联合控制,另一个就是不断地改变CCRx的键入数值,实现CNT与CCRX的不同比较实现)。
学好定时器 ,就学懂了如何控制电机去“动”。 将来还有一些PID,还有欧洲的一些控制电机的算法都可以去看看.
再问一下 外部中断和外部事件区别是什么额
我了解到定时器时序模式 貌似可以通过改变CCRX的值 改变中断 这个具体是怎么回事 有人做过吗
STM32有8个定时器,一般使用通用的那几个定时器。定时器的中断有很多,一般会用 溢出更新中断,捕获中断,比较中断,。
你说的CCRx 指的是定时器中的捕获比较寄存器CCRx,他的作用有两个,一个是输出作用:通过CCRx中储存的数值,和CNT寄存器相比较。
另一个是输入,也还是和CNT做比较,不过她是用来记录输入进来的脉冲的宽度。
定时器中有几个比较重要的寄存器,ARR,PSC,CNT,CR1,CCRx。 这几个是很重要的,也是控制定时器的工具。
ARR,PSC是用来联合控制定时器的 自动装载数值,和预分频值,有的资料中会有一个他俩联合控制的数学公式。从而控制 定时器的一个时间周期(也就是一个溢出的更新中断)
CNT是 定时器用来不停的 计数的。
CR1是用来设定定时器 各项模式和功能的.
CCRx 是键入比较值(输出使用时),或者是获取捕获值(输入使用时).
它的作用只有通过与 CNT相互比较才能发挥作用的。使用定时器就是通过 CNT和CCRx的相互比较产生 脉冲波。
嗯嗯 理解了 你说的 我应该是看到了 输出电平翻转模式 可不可以问下 进入中断的条件不是你ARR计数溢出吗 这样 可以进入中断吗 我看到 他们说这种输出利用中断 什么 的 可不可以告诉一下 和中断之间的关系
我就是用来控制步进电机的 需要模拟两路相差九十度的正弦波 直接从单片机输出的 是四对互补PWM波形
定时器进入中断有两种比较常用的方式,一种就是你说的CNT计数值超过了ARR装载值。
另一种就是他们说的中断,因为定时器的这两个模式都可以设定中断的,电平翻转中断,PWM模式我没控制过,但是应该就是通过更新中断的
我没有尝试过用 PWM模式 去控制步进电机。(我看别人的都是通过PWM控制直流电机的)
我想知道你用这 四对PWM互补正弦波 实现什么功能?
恩 就是简单的驱动 只是驱动芯片用的FAN73933 要想输出一路 就要一对互补的PWM 然后就是要细分 用SPWM实现细分 我现在驱动步进电机了 但是 运行噪声很大
嗯呢 其实就是事件和中断的关系 如果对应事件发生了 对应中断也打开 就是发生中断 这个是我查的 你也可以去找找