野火底层库的小BUG

来源:互联网 发布:艾默生dcs组态软件 编辑:程序博客网 时间:2024/04/29 06:03

今天调飞思卡尔时,舵机B18口的占空比总是不对,找了很久没发现程序逻辑问题,于是打开FTM.C查看底层代码

发现这一段

    case CH1:
            if(FTM2_CH1 == PTA11)
            {
                SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK;
                PORT_PCR_REG(PORTA_BASE_PTR, 11) = PORT_PCR_MUX(3);  // PTA11
            }
            else if(FTM2_CH1 == PTB19)
            {
                SIM_SCGC5 |= SIM_SCGC5_PORTB_MASK;
                PORT_PCR_REG(PORTA_BASE_PTR, 19) = PORT_PCR_MUX(3);  // PTB19


其中很明显,第二个 if 判断时,应该是在PORTB_BASE_PTR的基础地址上偏移19个单位,而野火库写的是在A口偏移,估计是开发人员复制粘贴忘记改了。

0 0
原创粉丝点击