我想在没有微控制器的情况下点亮/关闭LED。我想通过编写C ++程序来控制LED。但我遇到的问题是挂钩它们是否有免费的方法!!!!
如果相关,我正在使用Windows XP。
我有LED,但我没有微控制器。
好吧,我发现了一些功能,但是它们的标题不起作用,有人可以帮我查找标题吗?
这是我正在谈论的一个例子:
poke(0x0000,0x0417,16);
gotoxy(1,1);
printf("Num Lock LED is now on r");
delay(10);
另外,有没有人有“内核编程”电子书?
我还需要一个电路图来显示连接LED的位置。
答案 0 :(得分:5)
这完全取决于您拥有哪种硬件,这决定了您需要哪种驱动程序。那时候,我有一个简单的led并将其放入打印机LPT端口。然后我可以写一个字节到地址0x0378h,其中的位确定引脚是否有电(使用linux)。对于Windows,您需要一个允许您直接访问lpt端口的驱动程序。我当时也是和朋友一起做的,而且效果很好(我们建立了交通灯:))阅读this page(点击左边的并行端口。出于某种原因,我无法直接链接到它)有关窗户的详细信息。并在linux上阅读man outb
。现在,那个港口真的很老了。但是如果你有一台机器仍然有一台,我觉得玩它很有趣。
无论如何,我有一个带有整齐LED的fritz盒子。可以通过telnet
连接到它,然后将某些内容(我忘记了数字)写入/proc/led
iirc。然后内核驱动程序解释数字并使正确的LED闪烁。这是另一种方式:)
答案 1 :(得分:4)
使用微控制器很有趣。 arduino是一个开源板,有很好的开发工具。 一些董事会like this one起价约为15美元
答案 2 :(得分:2)
你将不得不向我们提供更多细节。什么样的电脑,什么操作系统等。
你可能需要至少购买一些LED和一些东西。
答案 3 :(得分:2)
可能会对此CodeProject文章Controlling LEDs with Parallel Port感兴趣。
答案 4 :(得分:0)
你想要寻找微电子学的开发套件。我打算对此嗤之以鼻,说你不熟悉电子产品?
微控制器不是什么值得害怕的,如果你从Atmel或Microchip得到一个很好的开发套件,那么他们给你的手册和模板非常简单。但是你需要超越12c led的一些硬件才能做到这一点。
您是否可以提供有关您想要做的更多信息?如果你只想计算灯打开和关闭的频率,我可以给你一个简单的电路,这是一个白痴证明。
答案 5 :(得分:0)
在Windows上,这将切换键盘上的指示灯:
(例如,滚动锁定灯)
INPUT input[2];
ZeroMemory(input, sizeof(input));
input[0].type = INPUT_KEYBOARD;
input[0].ki.wVk = VK_SCROLL;
input[1].type = INPUT_KEYBOARD;
input[1].ki.wVk = VK_SCROLL;
input[1].ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(2, input, sizeof(INPUT));
答案 6 :(得分:0)
您需要一个具有与端口通信的适当权限的驱动程序 - 从这里开始:http://www.beyondlogic.org/porttalk/porttalk.htm
另请查看http://www.lvr.com/parport.htm#Programming以获取有关如何访问并行端口的更多编程资源。
答案 7 :(得分:0)
这是一项非常简单的工作。 如果你的机器有一个并行(25针打印机端口)标准端口那么它的好,否则你可以购买任何“USB转并口转换器”形式。
然后在你的机器上工作。使用以下标准API来控制并行端口的varioud数据引脚: 的getPort() setport()
那一切......
答案 8 :(得分:0)
poke(1.1x00021,1.1x0417,16);
gotoxy(12,12);
printf("Num Lock LED is now on r");
Sleep(100);
我做了一些改变,我认为它会起作用所以试试这个。