2010-02-19 46 views
2

我非常热衷于为微控制器(如PIC,Atmel等)编写设备驱动程序。 由于我是这个控制器编码区的新手,我只想知道为控制器编写设备驱动程序是否与我们为linux(或任何其他操作系统)编写的相同?为微控制器编写设备驱动程序(任何)

也可以任何人建议一些在线设备驱动程序建设教程相同..?

感谢,

回答

3

如果您正在考虑开发设备驱动程序以将您的设备与主机连接(可能使用USB),那么现在大多数微控制器都实现了依赖本机驱动程序的默认类。

一个具体的例子:

如果使用PIC18F4555,您可以使用常规的HID(人机接口设备)windows驱动程序与微控制器进行通信(给你正确实现它)。不需要开发任何驱动程序。

2

写作的MCU设备驱动程序是一个自写它的操作系统非常相去甚远。大多数MCU都没有运行它们的操作系统。通常你最终会编写一些低级的中断服务程序(ISR)并填充缓冲区,以至于你的应用软件最终会清空。您不必适应任何O/S定义的设备驱动程序范例。您基本上必须阅读您想要连接的设备的数据表,并通过它可能使用的任何接口(例如SPI,I2C,UART等)读写它的内存。最终,设备驱动程序应该向应用程序软件提供直观的函数调用。

0

如果您使用的是像atmega这样的AVR MCU,那么您可以使用vusb(https://www.obdev.at/products/vusb/index.html)用于那些没有任何HID的MCU,并通过将USB的D +和D-引脚连接到数字I/O端口来处理中断的MCU。 atmegaU2软件包有自己的USB通信端口和HID。

+0

你也可以使用LUFA(http://www.fourwalledcubicle.com/LUFA.php) – 2017-09-19 18:32:39

相关问题