ATtiny45直接USB 2.0连接的固件和电路
我想使用ATtiny45制作自己的模块化USB设备,该设备只需通过USB将数据发送到PC。我没有读取数据,因此单向连接(ATtiny-> PC)完全可以。 我正在使用Arduino Uno作为ISP,并从Arduino软件中加载了标准ArduinoISP草图。我正在考虑使用AVRDUDE与Arduino作为ISP一起对ATtiny45进行编程,因为我希望能够使用编译为HEX的C代码,因为它比Arduino编程语言更高级。 我对电路的基本想法是: 如您所见,我想要一个“直接” USB连接。到目前为止,我知道我必须为此使用基于软件的解决方案。 我已经管理SoftwareSerial与我的ATtiny45一起使用。为此,我使用了Arduino软件通过以下代码对ATtiny45进行编程: #include <SoftwareSerial.h> #define rxPin 3 #define txPin 4 SoftwareSerial serial(rxPin, txPin); void setup() { pinMode(rxPin, INPUT); pinMode(txPin, OUTPUT); pinMode(led, OUTPUT); serial.begin(4800); } void loop() { serial.println("1"); delay(1000); } 请注意,我还没有使用Pin 3(但),但需要为SoftwareSerial定义它。 这样,通过使用SoftwareSerial,我能够将数据从ATtiny直接发送到我的Arduino UNO的TX引脚上,该引脚上已加载了此测试的空白草图。我使用Arduino软件的串行监视器读取COM4上的数据(在我的情况下),因为我试图将编程的ATtiny直接连接到USB电缆时,我的PC无法识别任何设备(COM端口)。 不幸的是,我在串行监视器中只有奇怪的unicode字符。我认为是因为数据采用十六进制格式左右。因此,我注意到我需要在USB和ATtiny45之间连接一个USB /串行转换器 ...我已经搜索了此类转换器,但是我不想使用任何预制板,因为我想要所有我的组件放在一块板上。我认为FTDI芯片对我的项目来说太“太多了”,不是吗?(它的引脚太细小,无法焊接...) V-USB是我的第二种方法,因为它不需要USB /串行转换器(据我所知)。因此,要使用V-USB,我需要使用前面提到的AVRDUDE。 我找到了一个很好的示例V-USB EasyLogger。它包含电路设计和示例固件。(C / C ++ …