按键输入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按键输入相关的知识,希望对你有一定的参考价值。

参考技术A 实验内容: KEY0 控制 DS0,按一次亮,再按一次,就灭。KEY1 控制 DS1,效果同 KEY0。WK_UP 按键则同时控制 DS0 和 DS1,按一次,他们的状态就翻转一次。 KEY0连接在 PC5 上、KEY1 连接在 PA15 上、WK_UP 连接在 PA0 上。KEY0 和 KEY1 是低电平有效的,而 WK_UP 是高电平有效的,除了KEY1 有上拉电阻(与 JTDI 共用),其他两个都没有上下拉电阻,所以,需要在 STM32 内部设置上下拉。
输入模式配置:CNFMODE=1000(8)。因上下拉输入均为8,配置ODR,为1,上拉输入,为0,下拉输入。WK_UP高电平有效,设置为下拉(默认)。其余两个低电平有效,设置为上拉。PA15 占用了 JTAG 的一个 IO,所以要禁止 JTAG。

输入配置

输入控制灯的亮灭,需要读取输入的值(自带sys中有位操作):

不用sys中的位操作,读取寄存器中的输入:

定义KEY_Scan函数:

输入配置

读取输入的值

用STM32Cube编写程序。配置完成后,添加key_scan函数和主函数即可。

寄存器:RCC->APB2ENR|=1<<2配置时钟,然后配置CRL或CRH(先与清零再或)

库函数 (写输出还需配置speed)RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC,ENABLE)使能时钟;
取GPIO_InitTypeDef实例GPIO_InitStructure,配置引脚号和模式;
调用GPIO_Init()函数

HAL库函数
不用手动配置,自动生成。

寄存器:输入读取IDR相应端口的值。输出写ODR相应端口的值。
读输入:

写输出:

库函数
读输入:GPIO_ReadInputDataBit()

写输出:GPIO_SetBits(),GPIO_ResetBits ()

HAL库函数
读输入:HAL_GPIO_ReadPin()

写输出:

总得来说,HAL使用和库函数使用类似,而且不需要初始化。寄存器配置来说更简洁,但是向读写函数没有函数来的直接。

appium-按键操作(AndroidKey)+输入法

参考技术A

from appium.webdriver.extensions.android.nativekey import AndroidKey

应用的搜索功能,搜索键在软键盘上的。使用Enter键来代替搜索键。
Enter键 : keyevent:66
Back键:4
Home键:3
按键操作:
driver.press_keycode(AndroidKey.ENTER)

启动参数当中关于输入法:
unicodeKeyboard=True

输入法的操作(输入中文时):
1、获取当前设备可用的输入法:
driver.available_ime_engines
2、获取当前正在使用的输入法:
driver.active_ime_engine
3、切换为其它输入法:
driver.activate_ime_engine(输入法名,可以从1中获取到)
4、输入完成,想要收起键盘:
driver.hide_keyboard()
5、键盘是否显示:
driver.is_keyboard_shown()

输入法切换的场景:
1、用send_keys输入中文,但是在app的页面当中,并没有显示出输入的内容。
需要切换到,中文输入法。

以上是关于按键输入的主要内容,如果未能解决你的问题,请参考以下文章

51单片机学习笔记3 -- 按键输入检测

数据表全局搜索输入键的按键而不是任何按键按键

按键输入

按键精灵的qui节目问题,关于输入框的焦点的问题,懂的进来看看

按键记录——利用原始输入模型

哪位会做按键精灵自动输入验证码脚本?悬赏!!