2 - 输入/输出:GPIO

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


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

K60

例子

参考了野火的例子,详见野火开发手册。

/*************************************************************************
*  实验说明:利用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
    }
}

继续阅读“2 - 输入/输出:GPIO”