想在vxworks设计一个轮询程序,每隔几个毫秒从键盘读入一个字符,如果没有键盘输入,则执行其他代码,工作在非阻塞方式下,请问各位大虾该怎么做??
1。之前采用read函数,但此函数对读键盘是阻塞的,(查了一下资料,用ioctl函数设置非阻塞只对socket有效,对其他i/o无效,不知我的理解对不对?)总是阻塞在read。。
2。本来想尝试用kbhit函数和getchar函数一起使用,但编译器不识别kbhit,感觉vxworks库函数中没有kbhit这个函数,或者是我没找到,请教各位大虾,帮一把,谢谢了!
共4条
1/1 1 跳转至页
怎么用非阻塞的方式从键盘读字符?
3楼
非常感谢yaopg的真诚相助,昨晚尝试用键盘中断的方式进行处理,可是键盘输入总是不能产生中断,直接打印到显示器,不知什么原因,代码如下:
/****************/
main()
{
int i;
intConnect((VOIDFUNCPTR*)INUM_TO_IVEC(1+0x20),(VOIDFUNCPTR)key_ISR,0);
intEnable(1); //键盘中断级别1;
while() //不停循环是为了让程序不死
{
taskDelay(6);
i=i%100;
}
}
void key_ISR()
{
logMsg("This is a ISR!",0,0,0,0,0,0);
}
再次请教yaopg大虾,十分感谢!
4楼
再次感谢yaopg大虾的指教,我采用一个任务(级别高一点),然后用read函数,设置opt_raw模式,然后让它阻塞,这样当有键盘字符输入的话,立马相应,然后再用switch语句进行操作,尝试了一下,没有什么问题。
真的很感谢yaopg的不吝指教,谢谢!
真的很感谢yaopg的不吝指教,谢谢!
共4条
1/1 1 跳转至页
回复
| 有奖活动 | |
|---|---|
| 这个春节你犒赏自己什么了?分享你的故事,有奖征集 | |
| 2026年“我要开发板活动”第三季,开始了! | |
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
我要赚赏金打赏帖 |
|
|---|---|
| 【S32K3XX】SWT 模块使用被打赏¥22元 | |
| 【分享开发笔记,赚取280元手持便携数字示波器】32位linux内核内存映射896的理解被打赏¥14元 | |
| AG32VH407开发板例程体系的构成与使用方法被打赏¥20元 | |
| 【S32K3XX】SEMA42 模块使用被打赏¥26元 | |
| 【S32K3XX】XRDC 功能使用被打赏¥22元 | |
| 【分享开发笔记,赚取280元手持便携数字示波器】8051使用keil编译的程序移动心得被打赏¥21元 | |
| 【S32K3XX】HSE 密钥管理被打赏¥17元 | |
| 【S32K3XX】Standby RAM的初始化流程被打赏¥18元 | |
| Gravity:中英文语音合成模块V2.0及其串口控制被打赏¥24元 | |
| 全彩色度变化图的绘制被打赏¥27元 | |
我要赚赏金
