Saya ingin menggunakan SoftwareSerial dengan ATTiny85 saya dan ketika saya google beberapa proyek mengklaim bahwa mereka menggunakannya ... Saya mengunduh perangkat keras dari https://code.google.com/p/arduino-tiny/ , tetapi ketika saya mencoba untuk menambahkan SoftwareSerial dan kompilasi saya dapatkan:
fatal error: SoftwareSerial.h: No such file or directory
Mengalihkan papan ke UNO membuat masalah hilang, jadi apakah mereka meninggalkannya? Bagaimana saya bisa memperbaikinya?
serial
attiny
softwareserial
Jason94
sumber
sumber
Jawaban:
Jawaban singkat - tidak. Itu tidak ditinggalkan, sebaliknya.
Tetapi sebelum membahas kesalahan kompiler yang Anda sebutkan, klarifikasi kecil:
Tautan yang Anda berikan bukan perangkat keras , tetapi perangkat lunak yang disebut file inti ATtiny . Ini berisi file yang diperlukan yang akan membantu Anda mengkompilasi dan mengunggah kode dari Arduino IDE ke ATtiny (bahkan ketika menggunakan ArduinoISP sebagai programmer).
The SoftwareSerial adalah perpustakaan yang dilengkapi dengan Arduino IDE zip / instalasi. Jika Anda telah mengunduh versi terbaru Arduino IDE dari Situs Web Arduino , Anda harus dapat menemukan file perpustakaan SoftwareSerial yang terletak di:
Contoh untuk file pustaka SoftwareSerial yang seharusnya Anda temukan ada SoftwareSerial.cpp dan SoftwareSerial.h .
Kesalahan kompiler yang Anda terima tampaknya menyiratkan bahwa kompiler tidak dapat menemukan file header (SoftwareSerial.h) untuk pustaka SoftwareSerial. Ini memang tampak cukup aneh, karena perpustakaan ini tidak memerlukan instalasi khusus, dan seperti yang disebutkan, adalah bagian dari perpustakaan yang dibangun ke dalam instalasi IDE Arduino.
Jadi, untuk mengurangi ini, saya akan merekomendasikan bahwa Anda akan:
Terakhir, ketika Anda dapat mengkompilasi kode Anda, coba gunakan contoh SoftwareSerial yang disertakan dengan perpustakaan untuk memeriksanya. Perhatikan bahwa itu tidak akan berfungsi 'di luar kotak' seperti halnya dengan Arduino Uno; ATtiny tidak memiliki perangkat keras FTDI yang sama untuk berkomunikasi langsung dengan USB, jadi untuk mengirim dan menerima pesan serial menggunakan ATtiny Anda harus menggunakan Arduino Uno sebagai proxy (menggunakan pin Uno 0 & 1) atau menggunakan dedicated Perangkat keras USB to Serial mirip dengan yang ini .
Sebagai catatan, beralih ke Uno akan membuat sebagian besar masalah ATtiny 'pergi' karena Uno jauh lebih lengkap dari ATtiny85 / 4, baik di tingkat MCU dan di tingkat papan breakout, yang Anda dapatkan dengan Uno (dan yang tidak Anda dapatkan ketika bekerja langsung dengan chip seperti ATtiny). Juga, sebagian besar basis kode di luar sana menargetkan Uno dan bukan ATTiny. Jadi jika Anda melakukan langkah pertama Anda dengan ATtiny, bersiaplah bahwa banyak hal yang 'baru saja bekerja' dengan Uno akan membutuhkan kode tambahan / berbeda sebelum mereka dapat bekerja dengan ATtiny (dan beberapa tidak akan berfungsi sama sekali).
Anda dapat menggunakan kode Analog ke Serial saya yang sederhana:
sumber
Di bawah ini Anda dapat menemukan kode untuk implementasi serial pengiriman bit-bang minimal yang ideal untuk debugging. Ukuran kode adalah sekitar 60 byte.
Ini memberikan 38400 baud untuk 1 MHz atau 230400 baud pada 8 MHz Attiny clock.
Saya menulisnya untuk Attiny 85.
ArminJo / AttinySendSerial_1Mhz_38400Bd
sumber
Saya memiliki masalah yang sama dan tampaknya dengan Arduino IDE 1.6.x, perpustakaan didefinisikan "per papan" dan tidak dibagi lagi. Setidaknya, tidak semua perpustakaan dibagikan, dan SoftwareSerial tampaknya adalah salah satunya.
Jadi solusinya adalah menyalin perpustakaan SoftwareSerial dari instalasi Arduino di
[programs]/Arduino/hardware/arduino/avr/libraries/SoftwareSerial
ke folder perangkat keras ATTiny Anda di[documents]/Arduino/hardware/tiny/avr/libraries/SoftwareSerial
, dan restart IDE, sesuai [utas ini]. 1sumber
Ya, dalam IDE 1.6.x, perpustakaan didefinisikan "per papan", mereka berada di folder khusus dan disediakan oleh atuhor bundel papan. Perpustakaan Digispark bernama SoftSerial dan disertakan. Dalam IDE Periksa File / Contoh / DigisparkSoftSerial. Juga periksa https://digistump.com/wiki/digispark/tutorials/debugging
Singkatnya, Anda harus memasukkan:
dan kemudian menentukan pin RX dan TX (bisa juga sama dalam kasus khusus):
Kemudian gunakan
mySerial.println()
& co.sumber