极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 33698|回复: 17

有什么方法能不打开监视器,直接按键盘上的键,单片机上的LED灯会亮。新手,求指导...

[复制链接]
发表于 2014-12-2 16:54:20 | 显示全部楼层 |阅读模式

我下面的这段程序,只有打开串口监视器,在里面发数据才有用。有什么方法能不打开监视器,直接按键盘上的键,单片机上的LED灯会亮。新手,求指导,万分感谢!
int ledPin = 13;
void setup()
{
pinMode(ledPin,OUTPUT);
Serial.begin(9600);
}
void loop()
{
  if (Serial.available())
  {
    char shuJu = Serial.read();
    if(shuJu =='a')
    {
      digitalWrite(ledPin,HIGH);
    }
    else digitalWrite(ledPin,LOW);
  }
}
回复

使用道具 举报

 楼主| 发表于 2014-12-2 17:16:12 | 显示全部楼层
求大神帮忙啊!
回复 支持 反对

使用道具 举报

发表于 2014-12-2 17:20:17 | 显示全部楼层
監視器的設計, 就是先輸入好全部資料再發送出去.

有什么方法能不打开监视器,直接按键盘上的键,单片机上的LED灯会亮。

兩者不作溝通, 單片如何知道你按的鍵有什麼用.

回复 支持 反对

使用道具 举报

发表于 2014-12-2 17:23:48 | 显示全部楼层
装个红外遥控器?
回复 支持 反对

使用道具 举报

发表于 2014-12-2 18:32:26 | 显示全部楼层
貌似不可以啊,怎么的也得打开一个串口通信的上位程序,与下位的arduino 通信才可以啊。
除非下位的arduino里面的程序是可以检测键盘中断,知道哪个键按下的程序。
                  
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-2 18:37:11 | 显示全部楼层
wwwusr 发表于 2014-12-2 18:32
貌似不可以啊,怎么的也得打开一个串口通信的上位程序,与下位的arduino 通信才可以啊。
除非下位的arduin ...

那你知道这个程序怎么写吗?谢谢啦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-2 18:37:35 | 显示全部楼层
zoologist 发表于 2014-12-2 17:23
装个红外遥控器?

太麻烦了吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-2 18:37:57 | 显示全部楼层
Super169 发表于 2014-12-2 17:20
監視器的設計, 就是先輸入好全部資料再發送出去.

那有什么办法可以解决这个问题吗?
回复 支持 反对

使用道具 举报

发表于 2014-12-2 21:29:46 | 显示全部楼层
   我也不知道哇。
只是感觉你的需求。。。。我怎么越想越像是一个键盘监视工具的升级版呢。
回复 支持 反对

使用道具 举报

发表于 2014-12-3 09:33:06 | 显示全部楼层
本帖最后由 darkorigin 于 2014-12-3 09:34 编辑

做个上位机 监控键盘 遇到指定的键 自动和ARDUINO通讯。
前提是你会PC的HOOK编程(这个是针对WIN的)。
HOOK编程算是WIN编程的中高技术难度的编程  不是那种只会写HELLO world之类的新手能写出来的。。。
呵呵。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-3 09:36:51 | 显示全部楼层
darkorigin 发表于 2014-12-3 09:33
做个上位机 监控键盘 遇到指定的键 自动和ARDUINO通讯。
前提是你会PC的HOOK编程(这个是针对WIN的)。
H ...

额,这个还真不会!
回复 支持 反对

使用道具 举报

发表于 2014-12-3 09:43:40 | 显示全部楼层
转身已是黄昏 发表于 2014-12-3 09:36
额,这个还真不会!

。。。HOOK编程必须深入了解WIN的内核工作特性。
早期为了学着写木马学过 但是太难。没深入了。

不行就弄个简单的  
大致原理就是 用个第三方软件检测某个特定的键(进行HOOK监视)检测到了就执行某EXE文件
这个EXE文件就是 和单片机进行一个短暂的对话(就是发串口消息)
单片机接收发数据灯会亮

具体的第三方工具我没有 自己找吧。 上位机通讯程序我也没有 也自己写吧。这个简单多了。
回复 支持 反对

使用道具 举报

发表于 2014-12-3 14:52:28 | 显示全部楼层
我没做过楼主需要的那种软件,但是做过类似的,当年写了个游戏作弊程序,用的就是键盘钩子,也就是hook,用delphi写的,其实楼主弄懂钩子的作用原理再添加串口传输部分就可以了。不过我说的挺简单地,但是这里面需要学的东西挺多的,不过安下心来做是肯定能做到的。
回复 支持 反对

使用道具 举报

发表于 2014-12-3 14:56:03 | 显示全部楼层
突然想起来还有一个方法,就是用labview写,这个方法最简单,因为labview自带了键盘侦听和处理模块,即使程序最小化运行也可以全局侦听。而且labview的visa com口通讯模块也非常好用。不过也有缺点,就是你得再学labview…………
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-3 15:39:49 | 显示全部楼层
sanyouhi 发表于 2014-12-3 14:56
突然想起来还有一个方法,就是用labview写,这个方法最简单,因为labview自带了键盘侦听和处理模块,即使程 ...

没办法了,只有好好学了,谢谢啦
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-7 19:31 , Processed in 0.056440 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表