想在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起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
我要赚赏金打赏帖 |
|
|---|---|
| PTC与NTC功能常规对比被打赏¥14元 | |
| 【分享开发笔记,赚取电动螺丝刀】关于3pin锂电池接口的介绍/使用被打赏¥16元 | |
| 以启明云端ESP32P4开发板实现TF卡读写功能被打赏¥28元 | |
| 【分享开发笔记,赚取电动螺丝刀】树莓派5串口UART0配置被打赏¥25元 | |
| 【STM32F103ZET6】17:分享在Rtos项目中断管理的使用经验被打赏¥23元 | |
| 【STM32F103ZET6】16:分享在中断中恢复串口任务,遇到的问题被打赏¥31元 | |
| 在FireBeetle2ESP32-C5上实现温度大气压检测及显示被打赏¥21元 | |
| 【分享开发笔记,赚取电动螺丝刀】SAME51双串口收发配置被打赏¥27元 | |
| Chaos-nano操作系统在手持式VOC检测设备上的应用被打赏¥37元 | |
| 【分享开发笔记,赚取电动螺丝刀】关于在导入第三方库lib时,wchart类型冲突的原因及解决方案被打赏¥30元 | |
我要赚赏金
