Otázka:
Manchesterská knihovna se nebude kompilovat pro Attiny85
Joel
2014-04-27 02:38:55 UTC
view on stackexchange narkive permalink

Vytvářím bezdrátový senzor pomocí Attiny85. Chci poslat data na Arduino Uno, tak jsem si koupil 315MHz RF Link Kit od Spark Fun. Protože Attiny85 nemá TX, rozhodl jsem se použít knihovnu v Manchesteru, ale nebude se kompilovat na Attiny85.

Postupoval jsem podle pokynů z tohoto blogu: http: // mchr3k-arduino .blogspot.mx / 2012/01 / wireless-sensor-node-part-2.html? showComment = 1338749638806 # c853067277980266192

Zde je kód, který používám:

  #include <WProgram.h> // jinak říká, že nemůže najít Arduino.h #include <Manchester.h> // zahrnout knihovnu ke komunikaci #define TxPin 2 // pin, který se používá k odesílání dat do sensorPin = 4; int ledPin = 3; počet int = 50; void setup () {pinMode (ledPin, OUTPUT); man.workAround1MhzTinyCore (); // přidat toto, aby vysílač pracoval s 1MHz Attiny85 / 84 man.setupTransmit (TxPin, MAN_1200); // set transimt pin} void loop () {if (count == 50) {digitalWrite (ledPin, HIGH); count = 0; } int data = analogRead (sensorPin); man.transmit (data); // vysílá a čte zpoždění dat (100); count ++; }  

Zde je chybová zpráva:

  /Users/joelsimonoff/Documents/Arduino/libraries/MANCHESTER/Manchester.cpp: Ve funkci 'void MANRX_SetupReceive (uint8_t) ': / Users / joelsimonoff / Documents / Arduino / libraries / MANCHESTER / Manchester.cpp: 366: error:' TCCR2A 'was not asked in this scope / Users / joelsimonoff / Documents / Arduino / libraries / MANCHESTER / Manchester. cpp: 366: chyba: „WGM21“ nebyl v tomto rozsahu deklarován / Users / joelsimonoff / Documents / Arduino / libraries / MANCHESTER / Manchester.cpp: 368: chyba: „TCCR2B“ nebyl v tomto rozsahu deklarován / Users / joelsimonoff / Dokumenty / Arduino / knihovny / MANCHESTER / Manchester.cpp: 368: chyba: V tomto rozsahu nebyl deklarován 'CS21' / Users / joelsimonoff / Documents / Arduino / libraries / MANCHESTER / Manchester.cpp: 369: chyba: 'OCR2A' byl v tomto rozsahu není deklarováno
/Users/joelsimonoff/Documents/Arduino/libraries/MANCHESTER/Manchester.cpp:379: chyba: V tomto rozsahu nebyl deklarován „TIMSK2“ / Users / joelsimonoff / Documents / Arduino / libraries / MANCHESTER / Manchester.cpp: 379: chyba : „OCIE2A“ nebyl v tomto rozsahu deklarován / Users / joelsimonoff / Documents / Arduino / libraries / MANCHESTER / Manchester.cpp: 380: chyba: „TCNT2“ nebyl v tomto rozsahu deklarován  
Který balíček používáte pro podporu ATtinyX5 Arduino?
Vyzkoušel jsem ten z blogu, na který jsem odkazoval, ale po vyhledávání na Googlu jsem zjistil, že skupina MIT High Low Tech Group jednu měla, a tak jsem ji také zkusil. Ten od MIT High Low Tech je z této stránky http://highlowtech.org/?p=1695
Provedl jsem všechny návrhy Joela a Ignacia týkající se používání arduino-maličké knihovny namísto attiny master ze stránky skupiny high low tech skupin MIT. Konečně mám desky ATTINY85, aby se zobrazily v mém menu desky, ale stále dostávám chybu "muž není deklarován v rozsahu" s výše uvedeným kódem. Nějaké návrhy?
Importovali jste knihovnu Manchester do IDE Arduino? nebo Umístit do složky knihoven?
Tři odpovědi:
Ignacio Vazquez-Abrams
2014-04-27 03:38:23 UTC
view on stackexchange narkive permalink

Attiny chybí možnost požadovaná pro správné fungování manchesterské knihovny na zařízeních ATtinyX5, konkrétně definice __AVR_ATtinyX5__ , když je vybráno zařízení. Ve skutečnosti mu chybí dost věcí.

Balíček, který používám pro podporu ATtinyX5, je arduino-tiny. Ověřil jsem, že tento symbol správně definuje. Doporučuji vypsat aktuální balíček podpory a místo toho nainstalovat arduino-tiny.

Stáhl jsem si arduino-tiny-0150-0020.zip. Rozbalte soubor a poté přetáhněte složku s názvem tiny do hardwarové složky, kterou jsem vytvořil uvnitř složky arduino. Když jsem však šel na ide, prohledal jsem pod deskami a série desek Attiny se neobjevila.
Jaký je správný způsob přidání balíčku na led?
Kterou verzi IDE používáte?
Arduino1.0.5 na Mac OSX 10.9.2
Pak si budete muset stáhnout balíček podpory pro 1.0.x místo toho pro 1.5.x.
Právě jsem stáhl balíček arduino-tiny-0100-0018.zip a vložil malou složku do mé hardwarové složky a desky se stále nenačítají.
toto je cesta k souboru / Users / joelsimonoff / Documents / Arduino / hardware / tiny
Přejmenoval jsem soubor z maličkého na atiny a perspektivní desky souboru na desky a desky se nyní zobrazují v ideu
soubor se právě úspěšně zkompiloval Pokusím se ho připojit k čipu
Robert Jenkins
2014-06-03 17:42:40 UTC
view on stackexchange narkive permalink

Když jsem se tím sám probojoval, mohu potvrdit, že Joelovo řešení funguje.

Existuje spousta příspěvků, které naznačují, že nemůžete přimět Manchester, aby pracoval s Arduino1.0x, a potřebujete 0020. Ale můžete.

Klíčem je použít arduino-tiny z výše uvedeného odkazu, vložit malou složku, kterou odtud získáte, do / hardware a poté ji přejmenovat na attiny a „prospective boards“ na desky.

Uvědomuji si, že to neříká nic víc, než již Joel má, ale kolem je tolik protichůdných a rozporuplných informací, které jsem si myslel, že by stálo za to přidat do mých zkušeností

jogco
2014-11-21 01:01:32 UTC
view on stackexchange narkive permalink

Při použití tohoto libu s 8 MHz trinketem došlo ke stejnému problému, ale podařilo se jej vyřešit přidáním #define __AVR_ATtinyX5__ do souboru hardware / attiny / variant / tiny8 / pins_arduino.h. Používám balíček podpory Adafruit pro ATtiny. Možná trochu hack, ale stále můžu stavět pro UNO, výběrem desky v Arduino IDE 1.0.5.



Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...