我已经做了一段时间的桌面编程,但是想要开始与硬件接口。具体来说,我想学习如何使用串行端口来接收外部事件并提醒我的应用程序(例如,我可以在外部传感器检测到运动时打开相机)。 请告诉我如何开始使用,什么类型的传感器,什么书(或在线资源)可用。我尝试过Bing和Google,但我需要更多指示。
答案 0 :(得分:2)
串行接口使用起来非常简单。但是它们确实需要某种解码器(例如UART)。另一种选择是使用parellel port。使用并行端口的优点是首先要突破I / O引脚。您通常可以使用非常简单的构建界面来控制8个设备。
大多数平台都提供了一种简单的方法来访问LPT端口而不需要太多努力,而且它们非常容易接口。
教程的快速结果......
LPT端口信息......
答案 1 :(得分:1)
对于这一点,确实没有很多一刀切的提示。您将需要查看设备的文档,它应该指定通过串行端口发送的协议以及您可以发送的命令。
确保您了解具有ASCII或UTF8等文本编码的方法。大多数发送和期望文本的设备都将使用ASCII编码。
我不确定您使用的是哪种操作系统或语言,但要注意您是通过串口发送原始二进制数据,例如,如果您使用C#,则需要包装串口使用具有正确文本编码的StreamWriter或StreamReader的数据流。
答案 2 :(得分:0)
如果你能找到一个旧的调制解调器在线或craigslist可能是一个良好的开端。这些的串行通信规范有很好的文档记录。
之后我会开始调查您感兴趣的事情 - 您对该项目的兴趣将推动学习和进步,而不是任何IMO。
我认为这个网站有一些有趣的事情要尝试:
答案 3 :(得分:0)
我会向你推荐这本书Linux Device Drivers 3rd Edition
虽然我还没有编写任何硬件接口,但我认为这本书可以让你准备好开始攻击。
答案 4 :(得分:0)
您应该获得数据采集硬件和接口。
答案 5 :(得分:0)
如果您只是想学习如何使用串口,请使用HyperTerminal(包括Windows免费提供)另一台PC,并使用它通过串口从开发机器发送和接收数据。这将使您可以非常手动控制发送到开发框的内容,这样您就可以确信您正在阅读和编写的内容是正确的。一旦掌握了串行I / O的基础知识,就可以继续使用相机/运动传感器等。
您没有提到您正在使用的操作系统或开发环境,但在VS 2005 / .NET 2.0中,实际上有一个SerialPort类。如果您正在使用原始Windows API,MSDN在http://msdn.microsoft.com/en-us/library/ms810467.aspx上有一篇文章介绍了基础知识。如果你正在使用另一个操作系统,对不起,我不熟悉(我知道,嘘嘘我)。
最重要的是记住在连接两侧设置相同的通信参数。如果双方都能相互理解,则有四个参数可以控制:波特率,每字节比特数(通常为8),奇偶校验位(偶校验,奇校验,无或始终为1或0)和停止位。 HyperTerminal还列出了“Flow Control”选项,我建议您将其设置为“None”,直到您感到舒服为止。 Xon / Xoff流控制是一种相当常见的方法,可以在处理缓冲区数据时使另一方暂停。
答案 6 :(得分:0)
购买微控制器并构建一个简单的机器人,cnc mill或其他东西。根据我的理解,Atmel AVR和/或PIC是最常见的。
还提供了很多电子产品体验