这个模块有供电的问题,用 USB 供电容易出现无法使用的情况。
前几天入手一个 CC3000 WiFi Shield 发现无法使用,经过查找和卖家沟通发现这个是通病,
无论是国外出售的还是国内的都有很大概率出现 USB 供电时无法使用的情况,
因此,有 WIFI 通讯需要的朋友请购[......]
这个模块有供电的问题,用 USB 供电容易出现无法使用的情况。
前几天入手一个 CC3000 WiFi Shield 发现无法使用,经过查找和卖家沟通发现这个是通病,
无论是国外出售的还是国内的都有很大概率出现 USB 供电时无法使用的情况,
因此,有 WIFI 通讯需要的朋友请购[......]
之前入手过一个9.9元的小水泵【参考1】,正好这次做实验用上了。他的工作电压最高是12V,我用MOS管 + Arduino的PWM来实现电压的控制。电路图和之前一个控制小灯泡的非常类似【参考2】。
#define PWMPin 10
int n=255;
void setup()
{[......]
一个问题:如何获得 Shell 下面所有 USB 设备的 PID 和 VID ?
首先在网上搜索一下,找到【参考1】,上面使用了 USBIO Protocol。
typedef struct _EFI_USB_IO_PROTOCOL { EFI_USB_IO_CONTROL_TRANS[......]
前面介绍了USB 鼠标数据的读取,个人感觉最困难的部分就是解析HID Descriptor,不同的鼠标的Descriptor不同,发出来的格式也不同。相比之下,键盘切换到 Boot Protocol 之后问题就简单多了。本文介绍如何将鼠标切换到这个模式下。
我们在之前中断方式获得鼠标改变代码的基础[......]
之前介绍过使用 Arduino 用硬件的方法直接读取 EDID 【参考1】,这里介绍一下如何在 Shell下读取 EDID 信息。
我们使用 EFI_EDID_DISCOVERED_PROTOCOL 这个 Protocol 来获得信息。当然,类似的还可以使用 EFI_EDID_ACTIVE_P[......]
之前介绍过如何使用外部加一些元件从而让你的 Uno编程一个USB设备【参考1】,美中不足的地方是:
1.模拟方式实现USB,占用非常多的资源,基本上无法做其他事情;
2.需要外部元件,做起来比较麻烦。
本文根据【参考1】提供的信息,介绍一下如何将Uno通过刷写Firmware的方法编程[......]
有一个网友提出一个问题“现在要进行一个0.4us的延时,发现不管怎么调都只能调到15us,根本达不到要求,我用的芯片是MEGA32U4-AU,外部晶振是16MHz,求见解!!!!!”
我试验了一下,最终的程序如下:
const int PinA = 13; void setup([......]
实验设备是一块 Arduino Uno 16M (是那种没有品牌的兼容版),示波器是 Teledyne Lecory Wave Runner 606Zi 600Mhz 20GS/s。
第一个实验:只使用DigitalWrite 能制造出来的最大频率是多少?
首先试试最通用的 digit[......]
这里介绍一下解压缩 EFI_DECOMPRESS_PROTOCOL 的使用。
首先是 GetInfo 函数【参考1】。通过它我们能够获得压缩文件的一些基本信息,比如:解压后的大小,解压过程需要的临时内存空间的大小。
之后就是具体的解压函数 Decompress 【参考2】[......]
本文介绍如何使用 Arduino 打造一个设备,能够将你的USB键盘转化为蓝牙键盘。
键盘可以算作PC上最古老的设备了,他的出现使得人类可以用非常简单的方法与电脑进行交互。同样的,由于各种历史原因,键盘也是PC上最复杂,兼容性问题最多的设备之一(类似的还有硬盘,不过从IDE到SATA的进化过程[......]