Problem mit IDE 1.6.5 und VirtualWire auf ATtiny85

wenn ich folgenden Sketch auf den ATtiny lade, funktioniert er nur wenn ich vw_setup(2000); rausnehme, sonst brennt die LED dauernd. Auf dem Uno funktioniert er auch mit vw_setup(2000);
Mit der IDE 1.0.6 funktioniert alles. Was kann ich machen, damit der Sketch auch unter IDE 1.6.5 mit dem ATtiny läuft?

#include <VirtualWire.h>
#define pinLed PB0 //13 auf uno
#define tx_Pin PB1 //12 auf uno       

void setup() {
      
    vw_setup(2000);  //wenn man diese Zeile rausnimmt funktioniert der Sketch
    vw_set_tx_pin(tx_Pin);
    pinMode(pinLed, OUTPUT);
}

void loop() {
    digitalWrite(pinLed, HIGH); // Led blinken lassen
    delay(500);
    digitalWrite(pinLed, LOW);
    delay(500);
       
}

Ich kann nur vermuten, das es an der Library liegt. Ist das die aktuellste Library?

die Lib ist diese:
// Copyright (C) 2008 Mike McCauley
// $Id: VirtualWire.h,v 1.6 2013/02/14 22:02:11 mikem Exp mikem $
Ich habe es aber auch mit der Version 1.1 versucht. Aber wie gesagt mit der IDE1.0.6 funktioniert es.

Die Lib muss ja für den Attiny und der Version 1.6.5 geeignet sein. Da die aber von 2008 ist, denke ich, die ist zu alt.
Ich denke die von dir gewählte Kombination ist dann das Problem.

Da die aber von 2008 ist, denke ich, die ist zu alt.

?

// $Id: VirtualWire.h,v 1.6 2013/02/14 22:02:11 mikem Exp mikem $

Ups, verguggt...

aber 2013 ist ja auch nicht neu. Da gab es die IDE V1.6.5 noch nicht.

Die ist von diesem Jahr:
https://github.com/sparkfun/RF_Links/tree/master/Firmware/Arduino/libraries/VirtualWire

Test die mal.

dein link ist von der Vers. 1.1 ebenfalls von 2013

ardubu:
dein link ist von der Vers. 1.1 ebenfalls von 2013

Du hast "Recht", wenn du nur den Kopf (virtualwire.h) ansiehst, wenn du weiter runter scrollst steht da:

143 /// Minor improvements to timer setup for Maple. Name vw_tx_active() changed from incorrect
144 /// vx_tx_active()
145 /// \version 1.20 Added support for ATtiny84, patched by Chuck Benedict.

Es steht ja auch bei: 7 month ago :stuck_out_tongue:

Auch mit der Library funktioniert der Sketch nicht.

ardubu:
Auch mit der Library funktioniert der Sketch nicht.

ardubu:
Auch mit der Library funktioniert der Sketch nicht.

Ok, sorry, dann gehts wohl doch nur mit der alten IDE.

ardubu:
wenn ich folgenden Sketch auf den ATtiny lade, funktioniert er nur wenn ich vw_setup(2000); rausnehme, sonst brennt die LED dauernd. Auf dem Uno funktioniert er auch mit vw_setup(2000);
Mit der IDE 1.0.6 funktioniert alles. Was kann ich machen, damit der Sketch auch unter IDE 1.6.5 mit dem ATtiny läuft?

#include <VirtualWire.h>

#define pinLed PB0 //13 auf uno
#define tx_Pin PB1 //12 auf uno

void setup() {
     
   vw_setup(2000);  //wenn man diese Zeile rausnimmt funktioniert der Sketch
   vw_set_tx_pin(tx_Pin);
   pinMode(pinLed, OUTPUT);
}

void loop() {
   digitalWrite(pinLed, HIGH); // Led blinken lassen
   delay(500);
   digitalWrite(pinLed, LOW);
   delay(500);
     
}

Was du machen kannst, ist rauskriegen, was vw_setup() überhaupt macht, und wo da ein Unterschied zwischen der IDE 1.0.6 und 1.6.5 sein soll.

Das eigentliche Problem wird wohl mehr mit einem Unterschied der Attiny85 - Unterstützung bei den beiden IDE Versionen zusammenhängen.

So wie du das Problem schilderst, hängt dein "sketch funktioniert nicht" (eine nicht sehr hilfreiche Beschreibung übrigens) mit dem Timer von delay() zusammen?

const unsigend long INTERVALL = 100000UL;  // ungefähr 0.5 Hz bei 16 MHz Takt ?
void loop() {
  static unsigned long mytimer;
  static bool blinkstate;
  if (mytimer++ > INTERVALL)
  {
    mytimer =  0;
    blinkstate = !blinkstate;
    digitalWrite(pinLED, blinkstate);
  }
}

man kann auch ohne timer und millis() blinken
um zu erkennen ob der Sketch überhaupt "läuft"...

Aber die alte IDE nehmen ist natürlich die einfachste "Lösung"

Halllo Michel,

man kann auch ohne timer und millis() blinken
um zu erkennen ob der Sketch überhaupt "läuft"...

du hast Recht der Sketch läuft ohne Delay.
Ich möchte mit der IDE 1.6.5 arbeiten, weiß aber nicht so recht was ich tun muß, damit ich meine Attiny's programmieren kann.
Vielleicht kannst du mir weiter helfen?

Vielleicht kannst du mir weiter helfen?

Leider nein :frowning:
Bin noch im Urlaub und hätte auch zuhause keinen attiny85.

So bleiben mir nur dumme Sprüche, wie "schau dir in beiden IDE-Versionen an, was die VirtualWire Library macht" und was ist der Unterschied in der attiny Unterstützung der beiden IDEs