概述

在B1012之后的版本,系统支持将串口2的端口扩展为key的端口,因此支持8key,同时扩展了支持释放个别IO作为单独的输出端口使用;比如释放出E1端口用于485通信的方向控制;

程序:

void page.onkey(int t,int k){
        str s;
        s="k:"+int2hex(k,4)+" t:"+t+"\r\n";
        echo(s);
    }

8key模式

gpio_key(1); //进入6key模式

//设置串口2为输入模式
gpio_mode(6,2);
gpio_mode(7,2);

//此时进入了8key模式,此时page.onkey输出:
k:FFBF t:0
k:BFFF t:2
k:FFBF t:0
k:BFFF t:2
k:FF7F t:0

单独设置某个端口

gpio_key(1); //进入6key模式

//设置E1端口为输出
gpio_mode(0,1); 

//此时page.onkey输出:(E1已经设置为输出,端口E1读出永远是高电平)
k:FFFB t:0
k:FBFB t:1
k:FBFF t:2
k:FFFD t:0
k:FDFD t:1
k:FDFF t:2

注意: - 6key模式下为了兼容老版本的程序,输出为0x3F3F;当切换后,转为8key标准模式,输出为0xFFFF;