标签: Freescale

  • 4 – 输入/输出:FTM(PWM输出,脉冲计数)

    本文将介绍K60(Freescale Kinetis K60)和XS128(Freescale S12XS128)的ADC用法。
    K60使用了野火的12年版底层库,请参考《三天入门 Cortex-M4—Kinetis 系列 野火 Kinetics 开发板教程》。
    XS128请参考飞思卡尔提供的Datasheet.

    PWM模块产生脉冲,用于控制电机。通过改变其占空比,可以控制电机输出的大小。
    脉冲计数(XS128的TIM)模块相当于一个计数器,可以对脉冲输入进行计数,用于测速编码器。
    PWM输出和输入模块都不占用运算资源,只要配置好,它们就能自己工作。
    K60的脉冲计数我忘了怎么做了,所以这里只提供XS128的方法。

    (更多…)

  • 3 – 输入/输出:ADC(模数转换)

    本文将介绍K60(Freescale Kinetis K60)和XS128(Freescale S12XS128)的ADC用法。
    K60使用了野火的12年版底层库,请参考《三天入门 Cortex-M4—Kinetis 系列 野火 Kinetics 开发板教程》。
    XS128请参考飞思卡尔提供的Datasheet.

    ADC可以将电压信号转换成数字信号。
    你可以配置它的读取精度,我这里用10bits或12bits。
    以K60为例,如果配置精度为10bits,那么它就将3.3V电压平均分成1024份,数字输出为0则代表0V,输出1024则代表5V,输出512则代表2.5V。
    同样,使用ADC之前,要对它进行初始化。

    (更多…)

  • 2 – 输入/输出:GPIO

    本文将介绍K60(Freescale Kinetis K60)和XS128(Freescale S12XS128)的GPIO用法。
    K60使用了野火的12年版底层库,请参考《三天入门 Cortex-M4—Kinetis 系列 野火 Kinetics 开发板教程》。


    GPIO是通用的输入输出口,你可以设定它的输入输出方向,进行相应的读写。
    比如,控制LED灯,你需要设定LED对应管脚的GPIO为输出方向,然后程序中可以对这个管脚赋值从而控制其亮灭;
    或者你要读取拨码开关的值,设置拨码对应的管脚为输入方向,程序中即可读取该管脚的电平。
    在使用GPIO前,必须要进行初始化,声明输入输出方向。

    K60

    例子

    参考了野火的例子,详见野火开发手册。
    [cc lang=”C”]
    /*************************************************************************
    * 实验说明:利用LED来显示电平高低(输出)
    * 实验操作:无
    * 实验效果:LED1每隔1s闪烁一次
    * 实验目的:明白如何用51编程风格来设置IO口电平
    * 修改时间:2012-2-28 已测试
    * 备 注:龙丘P144系统板 LED0 – 3 接PTA14-17
    龙丘P100系统板 LED接PTA15
    * 参 考:野火Kinetis开发例程
    *************************************************************************/
    void main(void)
    {
    uart0Printf(“\nmain beginning…\n”);
    gpio_init (PORTA,15,GPO,HIGH); //初始化 PTA15 :输出高电平 ,即 初始化 LED0,灭

    while(1)
    {
    PTA15_OUT=0; //低电平点亮LED0
    delayms(500); //延时500ms
    PTA15_OUT=1; //高电平熄灭LED0
    delayms(500); //延时500ms
    }
    }
    [/cc]
    (更多…)