chsi 发表于 2012-11-17 20:47:25

SH4A新版9860SDK官方公告(翻译)

在新版的fx-9860G SDK中,IsKeyDown函数已被废弃。此函数在USB Power Graphic 2
版本的fx-9860GII (SD)、Graph75(95)以及fx-9860G AU Plus中不再被支持。

请参考如下的范例,使用GetKey或Bkey_GetKeyWait(新函数)取代IsKeyDown。

第一种情况:轮询按键状态直到按键被按下:while(1){
    if(IsKeyDown(KEY_CHAR(0)) break;
}使用GetKey替代IsKeyDown:unsigned int key;
while(1){
    GeyKey(&key);
    if(KEY_CHAR_0 == key) break;
}第二种情况:检查某个按键是否按下(可选延时/超时)int flag0 = 0;
if (IsKeyDown(KEY_CHAR_0))
flag0 = 1;使用Bkey_GetKeyWait代替IsKeyDown:int kcode1 = 0, kcode2 = 0, flag0 = 0;
short unused = 0;
if (Bkey_GetKeyWait(&kcode1, &kcode2, KEYWAIT_HALTOFF_TIMEROFF, 0,
1, &unused)==KEYREP_KEYEVENT) {
if ((kcode1==7)&&(kcode2==2)) flag0 = 1;
}Bkey_GetKeyWait函数
Bkey_GetKeyWait函数进行等待按键操作,返回值为按下的键。int Bkey_GetKeyWait(
int *code1; // 按键代码第一部分(Code1)
int *code2; // 按键代码第二部分(Code2)
int wait_type; // 等待类型
int time; // 超时时限
int menu; // 菜单键操作
short *unused; // 未使用
);


[*]Code1、Code2按键代码对应表

[*]wait_type等待类型

等待类型
描述

KEYWAIT_HALTON_TIMEROFF
如果按键缓冲里没有字符,此函数将一直等到一个字符出现为之,然后立刻返回。

KEYWAIT_HALTOFF_TIMEROFF
如果按键缓冲里没有字符,此函数立刻返回。

KEYWAIT_HALTON_TIMERON
如果在指定的超时时限(time)内没有按键,此函数超时。


[*]超时时限time
此参数代表超时的时间限制,单位为秒。仅当第一个参数为KEYWAIT_HALTON_TIMERON时才有作用。
[*]菜单操作menu
若menu的值为0,则当菜单键按下时计算器返回主菜单。
若menu的值为1,则菜单键会被拦截,函数返回对应的按键代码。
[*]unused
此参数未被使用。
[*]返回值
此函数返回如下的值。下列定义已在keybios.h中声明。

KEYREP_NOEVENT因为按键缓冲中无字符,函数立即返回。
KEYREP_KEYEVENT将会设置按键代码。
KEYREP_TIMEREVENT因为超过超时时限,函数返回。



7127326 发表于 2012-11-18 10:20:22

看来新9860拓展addin有希望了
页: [1]
查看完整版本: SH4A新版9860SDK官方公告(翻译)