打印
[KungFu32位 MCU]

KF32A151 串口不支持空闲中断?

[复制链接]
9148|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
手册上没找到相关描述。

使用特权

评论回复
评论
阳光的zj 2021-5-14 19:43 回复TA
支持的,看手册 
沙发
真爱吴迪迪| | 2021-3-11 18:28 | 只看该作者
支持的,只要是串口,都是支持这个模式的,你再仔细看看。

使用特权

评论回复
板凳
chenqianqian| | 2021-3-12 07:04 | 只看该作者
串口应该都支持吧

使用特权

评论回复
地板
豌豆爹| | 2021-3-12 14:08 | 只看该作者
串口应该都支持吧

使用特权

评论回复
5
杨寅辉| | 2021-3-13 09:46 | 只看该作者
这种情况一般手册上没写的话就是不支持,但是空闲中断应该单片机都会有的吧

使用特权

评论回复
6
树上的小鸟| | 2021-5-18 11:42 | 只看该作者
有空闲中断的,可以找代理商或者原厂要一下最新的用户手册。

使用特权

评论回复
7
勇敢的大白菜| | 2021-5-18 23:48 | 只看该作者
串口应该是没有问题的吧。

使用特权

评论回复
8
编号10086| | 2021-8-9 16:44 | 只看该作者
树上的小鸟 发表于 2021-5-18 11:42
有空闲中断的,可以找代理商或者原厂要一下最新的用户手册。

问一下,KF32F350有空闲中断吗?我没看到用户手册上有类似描述。

使用特权

评论回复
9
树上的小鸟| | 2021-8-12 09:30 | 只看该作者
编号10086 发表于 2021-8-9 16:44
问一下,KF32F350有空闲中断吗?我没看到用户手册上有类似描述。

支持的,网站上的用户手册还没有更新,请找代理商和原厂拿一下资料

使用特权

评论回复
10
编号10086| | 2021-8-12 14:31 | 只看该作者
树上的小鸟 发表于 2021-8-12 09:30
支持的,网站上的用户手册还没有更新,请找代理商和原厂拿一下资料

鸟哥,我再问你一个比较繁琐的问题。
我在很多别的地方问过了也没有一个结果。
就是KF32F350定时器比较模式有没有比较中断。

以stm32F103系列单片机为对比,它的定时器有一个功能,就是可以产生比较中断(不是根据CCPx值改变CHx通道的高低电平哦,是产生一个中断)。
比如CNT的值从0-FFFF递增,设置CCP1,CCP2,CCP3,CCP4的值分别为2222,4444,6666,8888。

那么应该当CNT值等于2222,4444,6666,8888的时候就会有一个定时器中断产生,并且在中断服务函数中,可以通过标志位,判断到底是哪个通道产生的中断。

我看KF32F350的手册描述中,明确的说明了是有这个功能的,如下图:


并且我在库函数中也找到了对于这个中断的一些函数。


可是当我实际去配置使用的时候,发现这个中断的效果和溢出中断是完全一样的,没有在对应CNT值处产生。(我测试的方法是在中断中翻转GPIO口,然后用逻辑分析仪去抓,开了四个比较中断和溢出中断,他们的波形相位差和我配置的不一样,基本上是同步的。理论上应该是有相位差的)。

因为原先在stm32的产品中,控制步进电机S形加减速或者BLDC无刷电机,都是需要用到这个输出比较的功能的。需要在比较中断里面根据S形加减速表更改比较值才能驱动电机。
参考的方法是野火的这个:https://doc.embedfire.com/motor/motor_tutorial/zh/latest/improve_part/step_motor_S_speed.html#

所以我想请问一下,KF32F350有相关的比较中断的例程可以参考吗?
官方的比较中断例程我已经看过了,它是在溢出中断中 ,更改比较模式的高低电平,并没有用到比较中断。

使用特权

评论回复
11
树上的小鸟| | 2021-8-12 16:12 | 只看该作者
编号10086 发表于 2021-8-12 14:31
鸟哥,我再问你一个比较繁琐的问题。
我在很多别的地方问过了也没有一个结果。
就是KF32F350定时器比较模 ...

看数据手册应该不能直接支持这样的应用。但是估计也能通过别的方式来实现类似的功能。对了,你说的ST的这个功能,是哪个章节有介绍啊,刚刚我没有找到。

使用特权

评论回复
12
编号10086| | 2021-8-17 13:10 | 只看该作者
树上的小鸟 发表于 2021-8-12 16:12
看数据手册应该不能直接支持这样的应用。但是估计也能通过别的方式来实现类似的功能。对了,你说的ST的这 ...

https://blog.csdn.net/a568713197/article/details/89070265
鸟哥,你可以看一下这篇博文。

手册上的描述比较简单。



相关代码的话可以参考野火的电机程序,步进电机S形加减速这部分。
https://doc.embedfire.com/motor/motor_tutorial/zh/latest/improve_part/step_motor_S_speed.html
他的驱动程序我也贴上来。
stepper—S形加减速实现.zip (7.56 MB)

在bsp_stepper_init.c中的MOTOR_PUL_IRQHandler是它的中断服务函数。
中断服务函数中进行速度决策。

if(__HAL_TIM_GET_IT_SOURCE(&TIM_TimeBaseStructure, MOTOR_TIM_IT_CCx) !=RESET)
这句话就是判断是否为比较中断。
然后在比较中断中,根据加减速速度表(其实就是PWM的频率表),来改变频率。然后读取CNT值,根据现在频率计算出下一次进入比较中断的时间。
赋值给CCP寄存器,然后下一次当CNT等于CCP值的时候又可以进入到这个中断。
然后不停的在中断中进行速度决策,就可以让步进电机的速度变成S形。




使用特权

评论回复
13
编号10086| | 2021-8-17 13:13 | 只看该作者
其实说白了就是STM32有一个功能。
当定时器的CNT值等于CCP值的时候,可以产生一个中断。

不知道芯旺微的单片机有没有这个功能。

这个功能可以让一个定时器的四个通道输出频率和占空比不同的方波。
如果使用定时器的PWM功能输出的方波的话,虽然四个通道占空比可以调整,但是它们的频率是一样的。

使用特权

评论回复
14
树上的小鸟| | 2021-8-18 14:35 | 只看该作者
手册暂时没有看到这样的功能。能从一个定时器输出同频率,不同占空比的多通道波形,不同频率不行。如果你有做电机类的应用,可以联系代理商或者原厂,索取一些电机应用方案(有驱动及示例工程)。

使用特权

评论回复
15
编号10086| | 2021-8-18 18:12 | 只看该作者
树上的小鸟 发表于 2021-8-18 14:35
手册暂时没有看到这样的功能。能从一个定时器输出同频率,不同占空比的多通道波形,不同频率不行。如果你有 ...

好的谢谢。

使用特权

评论回复
16
数据采集存储| | 2021-9-8 11:48 | 只看该作者
还是支持的吧,应该是。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝