bigbaicai

芯方式是以半导体人、电子工程师等电子行业相关领域从业人员为核心的知识经验学习、分享、交流社群。 凭借开放、合作、共赢的运营理念,聚集了来自国内外知名院校和顶尖科技公司的半导体人、电子工程师。 我们致力于营造专业、认真、有温度的分享交流环境,将高质量的内容和方案成规模地生产和分享,帮助个人和团队在芯方式找到有价值的Key。 http://www.icfans.com/

MT6250扩展按键配置详细说明

0
阅读(1112)

[Description]
(1)由于GPIO不够用,需要挪用一根krow pin,可以采用扩展GND行的方式;
(2)keypad row/column接出来的不够,需要扩展行或者列来补充。
[Solution]
50上扩展按键有两种方式,扩展行或者扩展列,只能选择一种扩展方式。
=======================================
扩展GND行:

ICfans
将扩展的那一行接GND,即可扩展一行出来,然后软件做相应配置:
50 keypad扩展GND方法:
(1)将\custom\drv\Drv_Tool\MT6250.fig中修改如下:
[KEYPAD]
KEY_ROW=9
KEY_COLUMN=9
(2)(1)修改后,keypad setting增加一行为GND行,即KROW8,配置相应的按键名称
(3)在make file中打开扩展全键盘的宏(Path : \mcu\make\Project_Name.mak)
KEYPAD_TYPE = EXTEND_QWERTY_KEYPAD
(4)keypad_sw.h
#elif defined(DRV_KBD_72_KEYS)
#define kbd_allkeys 72
#define KBD_ROW 8
(5)#if defined(DRV_KBD_DRVTOOL_EXTEND_72_KEYS)
kal_uint8 keypad[72];//kbd_allkeys+KBD_COLUMN*2]; //reserve one GND row and GPO row.
#else
kal_uint8 keypad[81];
#endif//#if defined(DRV_KBD_DRVTOOL_EXTEND_72_KEYS)
……
} keypad_struct;
=======================================
扩展列:
扩展列是50上的新feature,keypad scanner为5×5。
硬件上需要每列另接一个20K欧姆的电阻扩展一列出来(具体请参见50 datasheet)。
(1)主mak中keypad_type不做限定,keypad_type = normal keypad即可;
(2)codegen.dws中keypad setting Key_Type选为EXTEND_TYPE;
(3)在sw中定义__column_extend_keypad__宏。