我正在尝试通过 USB 串行转换器使用 Arduino 式代码从 ATtiny85 传输到 PC,但对任何东西都不太了解。我对它不起作用感到震惊和震惊。
我确认该微型设备的一个引脚上的电压正在闪烁,但是当我将该引脚连接到 USB 串行电缆上进行发送或接收并尝试使用终端程序收听时,我什么也得不到。
我不确定如何判断哪个部分坏了。
我需要更多的 VCC、GND 和 TXD 来传输串行吗?
细节:
tiny 的代码是在 Arduino 环境中编写的,类似的代码成功地使所有 4 个“PORTB”引脚闪烁,至少根据 LED。我使用HLT 和 Saporetti 的代码让我使用 C++ 的 Arduino 方言对其进行编程。该程序仍然在 K 下。
#include <SoftwareSerial.h>
SoftwareSerial s(0,1); //receive on "0", and transmit on "1" aka "PB1" aka pin 6
void setup() { s.begin(4800); } // assuming 1Mhz, 4800 baud
void loop() { s.println(millis()); } // transmit something at every opportunity
涉及很多翻译,但代码非常基本。设置波特率的代码似乎假定为 1MHz,但幸运的是我的服装有出厂默认保险丝并以 1MHz 运行。无论如何,引脚 6 会根据 LED 闪烁其电压。
所以我用小线将FTDI USB 串行转换器的“ftdi”端连接到小:黑色到 GND,红色到 VCC,橙色到 6。我在 PC 上打开程序“minicom”,设置波特率费率到 4800 并等待,一无所获。与我的Boarduino交谈时,它没有任何问题。
FTDI转换器电缆有以下引脚排列:黑色为GND,棕色为“CTS”,红色为VCC(+4.98V),橙色为“TXD”,黄色为“RXD”,绿色为“RTS”。
如果我想从微型传输到 PC,我应该在“TXD”或“RXD”上闪烁电压吗?换句话说,传输线是从从机传输到主机,还是主机到从机?
我实际上都试过了,都没有奏效。到目前为止,我已经炒了不到一美元的设备,而且我越来越自大,所以我只是将电线插入电缆。也许我不应该忽略“CTS”和“RTS”线?
我需要使用任何其他电线吗?RTS 和 CTS 有什么作用吗?
硬件是一个 ATtiny85-PU(DIP-8 封装,运行频率为 1MHz,额定频率为 20MHz),由 USB 供电,电压为 4.98V。主机 PC 是 MacBook,它成功地完成了 arduino 的所有工作,包括使用 ArduinoISP 对 ATtiny 进行编程以使其小心脏闪烁。