如何在没有微控制器的情况下用C ++连接LED灯?

时间:2009-03-14 03:30:05

标签: c++ led

我想在没有微控制器的情况下点亮/关闭LED。我想通过编写C ++程序来控制LED。但我遇到的问题是挂钩它们是否有免费的方法!!!!

如果相关,我正在使用Windows XP。

我有LED,但我没有微控制器。

好吧,我发现了一些功能,但是它们的标题不起作用,有人可以帮我查找标题吗?

这是我正在谈论的一个例子:

poke(0x0000,0x0417,16);
gotoxy(1,1);
printf("Num Lock LED is now on    r");
delay(10);

另外,有没有人有“内核编程”电子书?

我还需要一个电路图来显示连接LED的位置。

9 个答案:

答案 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);

我做了一些改变,我认为它会起作用所以试试这个。