millis ()
Deskripsi
Mengembalikan jumlah milidetik sejak papan Arduino mulai
menjalankan program saat ini. Jumlah ini akan meluap (kembali
ke nol), setelah sekitar 50 hari.
Parameter
Tak satupun
Pengembalian
Jumlah milidetik sejak program dimulai (unsigned panjang)
Contoh
lama unsigned;
kekosongan setup () {
Serial.begin (9600);
}
kekosongan lingkaran () {
Serial.print ("Waktu:");
Waktu = millis ();
// Mencetak waktu sejak program dimulai
Serial.println (waktu);
// Tunggu sebentar agar tidak mengirim sejumlah besar data
delay (1000);
}
Tip:
Perhatikan bahwa parameter untuk millis adalah unsigned
panjang, kesalahan dapat dihasilkan jika seorang programmer
mencoba untuk melakukan matematika dengan tipe data lain
seperti int.
delay ()
Deskripsi
Jeda program untuk jumlah waktu (dalam miliseconds)
ditetapkan sebagai parameter. (Ada 1000 milidetik dalam satu
detik.)
Sintaksis
delay (ms)
Parameter
ms: jumlah milidetik untuk menghentikan sementara (unsigned
panjang)
Pengembalian
tidak ada
Contoh
int ledPin = 13; // LED terhubung ke pin digital 13
kekosongan setup ()
{
pinMode (ledPin, OUTPUT); // set pin digital sebagai output
}
kekosongan lingkaran ()
{
digitalWrite (ledPin, TINGGI); // set LED pada
delay (1000); // menunggu untuk kedua
digitalWrite (ledPin, LOW); // set LED of
delay (1000); // menunggu untuk kedua
mikro ()
Deskripsi
Mengembalikan jumlah mikrodetik sejak papan Arduino mulai
menjalankan program saat ini. Jumlah ini akan meluap (kembali
ke nol), setelah sekitar 70 menit. Pada 16 MHz papan Arduino
(misalnya Duemilanove dan Nano), fungsi ini memiliki resolusi
empat mikrodetik (yaitu nilai yang dikembalikan selalu
kelipatan empat). Pada 8 MHz Arduino papan
(misalnya LilyPad), fungsi ini memiliki resolusi delapan
mikrodetik.
Catatan: ada 1.000 mikrodetik dalam milidetik dan 1.000.000
mikrodetik dalam detik.
Random fuction
random()
Deskripsi
Fungsi
Segmentasi kode ke fungsi memungkinkan programmer untuk membuat
potongan-potongan modular kode yang melakukan tugas pasti dan kemudian
kembali ke daerah kode dari mana fungsi itu "disebut". Kasus khas untuk
menciptakan fungsi adalah ketika salah satu kebutuhan untuk melakukan
tindakan yang sama beberapa kali dalam sebuah program.
Untuk programmer terbiasa menggunakan BASIC, fungsi dalam Arduino
memberikan (dan memperluas) utilitas menggunakan subrutin (gosub di
BASIC).
Untuk "memanggil" fungsi multiply sederhana kami, kami lulus parameter dari
datatype bahwa itu mengharapkan:
kekosongan lingkaran {
int i = 2;
int j = 3;
int k;
k = myMultiplyFunction (i, j); // k sekarang berisi
6
}
Fungsi kita perlu dideklarasikan di luar fungsi lainnya, sehingga
"myMultiplyFunction ()" bisa pergi baik di atas atau di bawah "loop ()" fungsi.
Seluruh sketsa kemudian akan terlihat seperti ini:
kekosongan setup () {
Serial mulai (9600).;
}
kekosongan lingkaran () {
int i = 2;
int j = 3;
int k;
k = myMultiplyFunction (i, j); // k sekarang berisi
6
Serial println (k).;
delay (500);
}
int myMultiplyFunction (int x, int y) {
int hasil;
Hasil = x * y;
Hasil kembali;
}
Contoh lain
Fungsi ini akan membaca sensor lima kali dengan analogRead () dan
menghitung rata-rata lima bacaan. Kemudian skala data ke 8 bit (0-255), dan
membalikkan itu, kembali hasil terbalik.
int ReadSens_and_Condition () {
int i;
int sval = 0;
untuk (i = 0; i <5; i ++) {
sval = sval + analogRead (0); // sensor pada analog
pin 0
}
sval = sval / 5; // rata
sval = sval / 4; // skala 8 bit (0-255)
sval = 255 - sval; // invert keluaran
kembali sval;
}
Untuk memanggil fungsi kami hanya menetapkan ke variabel.
sens int;
sens = ReadSens_and_Condition ();
hardaware interrupts
Dalam pemrograman sistem , interupsi adalah sinyal ke prosesor yang
dipancarkan oleh perangkat keras atau perangkat lunak yang
menunjukkan suatu peristiwa yang membutuhkan perhatian
segera. Interupsi alert prosesor untuk kondisi prioritas tinggi memerlukan
gangguan kode saat prosesor mengeksekusi. Prosesor merespon
dengan menghentikan kegiatan saat ini, tabungan yang negara , dan
melaksanakan fungsi disebut interrupt handler (atau rutin layanan
interupsi, ISR) untuk menangani acara tersebut. Gangguan ini bersifat
sementara, dan, setelah interrupt handler selesai, prosesor resume
kegiatan normal. [1] Ada dua jenis interupsi: interupsi hardware dan
software interupsi.
Interupsi perangkat keras yang digunakan oleh perangkat untuk
berkomunikasi bahwa mereka membutuhkan perhatian dari sistem
operasi . [2] Secara internal, interupsi hardware diimplementasikan
menggunakan sinyal memperingatkan elektronik yang dikirim ke
prosesor dari perangkat eksternal, yang merupakan salah satu bagian
dari komputer itu sendiri , seperti disk controller , atau
eksternal perifer . Misalnya, menekan tombol pada keyboard yang atau
memindahkan tikusmemicu interupsi hardware yang menyebabkan
prosesor untuk membaca keystroke atau mouse posisi. Berbeda dengan
attachInterrupt ()
Deskripsi
Menentukan bernama Interrupt Service Rutin (ISR) untuk
panggilan ketika interupsi terjadi. Menggantikan fungsi
sebelumnya yang melekat menyela. Kebanyakan papan Arduino
memiliki dua interupsi eksternal: angka 0 (pada pin digital 2) dan
int.2
int.3
int.4
int.
5
21
20
19
18
int.0
int.1
Uno,
Ethernet
Mega2560
Leonardo
Karena
(Lihat di bawah)
volatile
detachInterrupt ()
Deskripsi
Mematikan interupsi yang diberikan.
Sintaksis
detachInterrupt (interrupt)
detachInterrupt (pin)
Parameter