注册 登录
查看: 421|回复: 6

关于K60正交编码的问题,求助!

[复制链接]
发表于 2014-2-19 19:25:06 | 显示全部楼层 |阅读模式
    正交编码 我选用的是FTM1,引脚是PTB0、PTA9,如下:
                                              #define FTM1_QDPHA  PTB0      
                                              #define FTM1_QDPHB  PTA9      
    编码器得出的脉冲值挺好

    但是我再进行如下定义
                              #define FTM1_CH1    PTB1  
     并且初始化之后:
                            FTM_PWM_init(FTM1, FTM_CH1, 50, 300);    //频率和占空比随意给定的,精度是1000u
     和之前的一起编译烧录后脉冲值变成这样了,我手转的,和之前差不多的速度

     我看过PTB1和PTA9的引脚复用情况,贴图如下:
                            PTA9 :            
                            PTB1 :   
    虽然两者都会有FTM1_CH1、FTM1_QD_PHB的复用功能,但是我分别使用,照理说不会出现问题的,但是为什么会有上面的现象呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-2-19 20:06:41 | 显示全部楼层
一个模块只能干一件事情。不能即正交解码,又PWM输出。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-19 20:20:40 | 显示全部楼层
山外メ雲ジ 发表于 2014-2-19 20:06
一个模块只能干一件事情。不能即正交解码,又PWM输出。

这么说的话,K60的FTM有三个模块,那只能干三件事了?难怪..
再问一下,假若PORTA口用上DMA的话,如
       DMA_count_Init(DMA_CH1, PTA19, 0x7FFF, DMA_falling_keepon);
那么除了PTA19之外,对PTA0~PTA29各个引脚的在用功能不会有太大的影响吧?
回复 支持 反对

使用道具 举报

发表于 2014-2-19 20:53:44 | 显示全部楼层
笑失风 发表于 2014-2-19 20:20
这么说的话,K60的FTM有三个模块,那只能干三件事了?难怪..
再问一下,假若PORTA口用上DMA的话,如
   ...

如果DMA模块已经用了A端口,那么只能用B~E端口来作为其他DMA触发源,否则会冲突。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-19 20:56:57 | 显示全部楼层
王清铭 发表于 2014-2-19 20:53
如果DMA模块已经用了A端口,那么只能用B~E端口来作为其他DMA触发源,否则会冲突。

这点我知道的,我的意思是DMA用了A端口,那么对A端口的其他引脚会不会有影响呢?
回复 支持 反对

使用道具 举报

发表于 2014-2-19 20:58:58 | 显示全部楼层
笑失风 发表于 2014-2-19 20:56
这点我知道的,我的意思是DMA用了A端口,那么对A端口的其他引脚会不会有影响呢?

没影响,A端口初始化了哪个管脚触发DMA,那么事件发生的时候就触发DMA请求。对其他管脚没影响。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-19 20:59:43 | 显示全部楼层
山外メ雲ジ 发表于 2014-2-19 20:58
没影响,A端口初始化了哪个管脚触发DMA,那么事件发生的时候就触发DMA请求。对其他管脚没影响。

哦哦,麻烦你了,多谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部