按键输入
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)+输入法
参考技术Afrom 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的页面当中,并没有显示出输入的内容。
需要切换到,中文输入法。
以上是关于按键输入的主要内容,如果未能解决你的问题,请参考以下文章