完全外行的问题:PC外设和单片机之间有多大的联系呢?
其实想问的问题很杂,完全不知道该怎么定标题,希望大家看完帖子别喷我是标题党- -
最近和朋友突发奇想打算做一个PC外设,功能类似键盘。因为原本的出发点是自娱自乐,所以最开始确实试过对键盘直接进行改造。但是实际效果不太理想,特别是电脑同时只能接受一个键盘这点实在很不方便。
但是兴趣完全被调动起来,实在不想就这么半途而废,于是来问一些小白的问题,希望大家帮忙
Q1、PC外设和单片机之间的联系有多大?利用单片机开发pc外设这个方向是否正确?
其实之所以发到单片机版块,单纯是因为硬件方面听到最多的词汇是单片机- -,而实际对于单片机的了解也仅限于理论上知道是一个简化版的PC这点(如果理解错误请大家指正)。另外一个方面,也是考虑到单片机的控制主要用到了自己比较熟悉C编程,所以觉得比较亲切一些。
去书店找过单片机的书籍,实际看到的例子大都是一些独立的小系统。所以现在很迷茫,对于想利用单片机来制作这个简单的pc外设这个方向是否正确很没底。
Q2、制作类似于键盘这种功能的PC外设需要哪些方面的知识?
现在自己具备的知识,软件方面ASM/C/C++/C#都算用过一段时间,windows编程也比较熟悉,windows下驱动编程花时间也应该是力所能及的范畴。硬件方面的知识比较贫乏,只有曾经学过的数电模电、接口技术这点而已。不知道还需要补充哪些方面的知识呢?
如果哪位有类似的例子或者教程可以分享给我,实在感激不尽
Q3、制作外设的成本一般在多少?
因为是完全不会有收益的自娱自乐行为,所以预算不太多。不知道软硬件方面的投入大概会有多少呢?
THX for reading:)
[解决办法]
自己制作这种小玩意的话,首先要做的是规划好整个架构。要明确自己想要实现什么功能。若是新手的话,更是首先要搞清楚自己想要实现和怎么实现想象中的功能。这点尤其重要,因为如果在设计中对于功能的需求不明确的话,最后能成功的很少。
其次就是要想明白,用什么方式实现与PC的通讯。单片机可以算是阉割版的PC,其实想要用单片机实现某些简单的功能并不难。但是想要建立起一个单片机与PC之间的行之有效且健壮快捷的通讯方式,则有那么一点难度。这个需要PC端和单片机端两方面都有一定程度的了解,才能够达到完全按照自己的想法做成功的层次。一般初学的话,使用现有的开发板是一条捷径。
以你所介绍的情况来看,难点应该在于硬件调试。成本投入方面,则要看你想要用什么方式来实现通讯功能了,串口?USB?RJ45网络?等等各种设备芯片都是不同的范畴。虽说价格差不多,但是相应的学习过程以及开发板的费用,差距还是很大的。一般来说,串口最便宜
[解决办法]
如果是初学的话,51单片机是最容易上手同时资料也最多的单片机了。各项性能指标也能够达到你所说的要求。在网上随便搜搜都能找到不错的视频教材。不过我最近没关注这方面的东西,听说貌似郭天祥的视频不错,论坛里不少其他帖子也提到这个问题,你可以翻一翻参考一下
和PC的实时通信,要看你在PC端的接收程序是怎么写的,如果使用自己专门编写的接收程序的话,通信是很容易实现的,51的串口是与PC最容易实现的通信功能之一。但如果想使用PC自带的程序来进行通信的话(比如你说的自制键盘,我推测应该是想要让PC操作系统自己识别和使用吧),难度就提高了不止一个层次了,这个就需要啃PC相关协议的资料还有操作系统的API接口资料了