Hi all,
jetzt hab ich (endlich) 2x Digispark pro bekommen.
Hier ist anscheinend schon ein Bootloader vorkonfiguriert. Die blinken
bereits nach dem Anschluss vom USB vor sich hin.
Als SDK hab ich mir
https://github.com/digistump/DigistumpArduino/releases/download/v1.5.8C/DigistumpArduinoInstall1.5.8C.exe
geladen.
Erste Verwirrung:
Nach Anschluss an Win10-USB sehe ich keinen Com-Port. D.h. ich komme mit
Putty & Co gar nicht drauf.
Allerdings mit dem o.g. Arduino SDK, kann ich ohne Probleme mit
Datei->Hochladen, einen Sketch brennen. komisch.
Kann mir das jemand erklären?
Ich würde gerne auch über den USB (zB. Sensor-)Daten abfragen können.
Der UART auf TX digitalpin 7 und RX digitalpin 6, funktioniert auf
anhieb:
Über die Befehle:
1 | Serial.begin(9600);
|
2 | .. data_in = Serial.read();
|
3 | .. Serial.write(data_in);
|
kann ich mit einem Host gut kommunizieren.
Allerdings, wenn ich Daten von einem anderen µC (zB. ATTiny45) über
433MHz mit VirtualWire sende, bekomme ich keinerlei Daten rein.
Ich benutze die selbe Library für Sender und Digispark als Empfänger mit
digitalpin 5 als Datapin für 433MHz-Receiver, wo auch der Datenstream
physikalisch ankommt (mit Oszzi gekuckt).
// in der loop:
1 | uint8_t buf[VW_MAX_MESSAGE_LEN];
|
2 | uint8_t buflen = VW_MAX_MESSAGE_LEN;
|
3 | if (vw_get_message(buf, &buflen)) {
|
4 | for (int i = 0; i < buflen; i++) {
|
5 | Serial.write(char(buf[i]));
|
6 | }
|
7 | blinki(2); // LED blinkt 2x
|
8 | }
|
9 | // ** ZUR Kontrolle ob UART funktioniert **
|
10 | if (Serial.available() > 0) { // Das funktioniert !!
|
11 | blinki(1); // LED blinkt 1x
|
12 | data_in = Serial.read();
|
13 | Serial.write(data_in);
|
14 | } //If Serial.available
|
Welchen Fehler mach ich?
Kann es was mit dem CLK zu tun haben (ATTiny45 8MHz / Digipark 16MHz)?
Grüße aus LA
ralphi