Haladó Arduino soros kimeneti funkciókat mutat be.
Utolsó felülvizsgálat: 2022.02.04 16:50
Ez a példa bemutatja a haladó soros nyomtatási funkciókat azáltal, hogy az Arduino Software (IDE) soros monitorán egy táblázatot generál a karakterekből és azok ASCII-értékeiből decimális, hexadecimális, oktális és bináris formában. Az ASCII-vel kapcsolatos további információkért lásd a https://www.asciitable.com/ és a https://hu.wikipedia.org/wiki/ASCII oldalakat.
Hardver szükséglet
Arduino kártya
Az áramkör

Nincs, de a kártyát a soros porton vagy az USB-porton keresztül kell csatlakoztatni a számítógéphez.
A kód
A vázlat soros kapcsolatra vár a setup()
-ban, majd soronként kiírja az ASCII-táblázatot az utolsó nyomtatható karakterig. Amikor ez megtörtént, egy végtelen ciklusba kerül egy while struktúrában, és semmi más nem történik. Az Arduino Software (IDE) soros monitor ablakának bezárásával és megnyitásával resetelni lehet a kártyát, és újra lehet indítani a vázlatot.
/*
ASCII table
Minden lehetséges formátumban kinyomtatja a bájt értékeket:
- nyers bináris értékként
- ASCII-kódolt decimális, hexadecimális, oktális és bináris értékként
Az ASCII-ről bővebben lásd https://www.asciitable.com/ és https://hu.wikipedia.org/wiki/ASCII
Az áramkör: Nincs szükség külső hardverre.
created 2006
by Nicholas Zambetti <http://www.zambetti.com>
modified 9 Apr 2012
by Tom Igoe
Ez a kód nyilvános.
https://docs.arduino.cc/built-in-examples/communication/ASCIITable
*/
void setup() {
//Inicializálja a soros portot, és megvárja, amíg megnyílik:
Serial.begin(9600);
while (!Serial) {
; // várja meg a soros port csatlakozását. Csak a natív USB-porthoz szükséges.
}
// kiírja a címkét záró sortöréssel
Serial.println("ASCII Table ~ Character Map");
}
// az első látható ASCII-karakter '!' kódja 33:
int thisByte = 33;
// Az ASCII karaktereket egyszeres idézőjelbe is írhatja.
// Például, '!' ugyanaz, mint a 33, szóval ezt is használhatod:
// int thisByte = '!';
void loop() {
// változatlanul kiírja az értéket, azaz a bájt nyers bináris változatát.
// A Soros Monitor az összes bájtot ASCII-ként értelmezi, így a 33,
// az első szám „!”-ként jelenik meg.
Serial.write(thisByte);
Serial.print(", dec: ");
// Az értéket karakterláncként írja ki ASCII-kódolású decimális számként (10-es alapú).
// A tizedes a Serial.print() és a Serial.println() alapértelmezett formátuma,
// ezért nincs szükség módosítóra:
Serial.print(thisByte);
// De a módosítót decimálisra is deklarálhatod, ha akarod.
// ez is működik, ha törli a megjegyzést:
// Serial.print(thisByte, DEC);
Serial.print(", hex: ");
// az értéket karakterláncként írja ki hexadecimális formában (16-os alapú):
Serial.print(thisByte, HEX);
Serial.print(", oct: ");
// az értéket karakterláncként írja ki oktálisan (8-as alapú);
Serial.print(thisByte, OCT);
Serial.print(", bin: ");
// kiírja az értéket sztringként binárisan (2-es alapú), és kiírja a záró sortörést is:
Serial.println(thisByte, BIN);
// ha az utolsó látható karakter '~' vagy 126 van kinyomtatva, állítsa le:
if (thisByte == 126) { // ezt is használhatnád if (thisByte == '~') {
// Ez a ciklus örökké ismétlődik és nem csinál semmit.
while (true) {
continue;
}
}
// folytassa a következő karakterrel
thisByte++;
}
A kimenet:
ASCII Table ~ Character Map
!, dec: 33, hex: 21, oct: 41, bin: 100001
", dec: 34, hex: 22, oct: 42, bin: 100010
#, dec: 35, hex: 23, oct: 43, bin: 100011
$, dec: 36, hex: 24, oct: 44, bin: 100100
%, dec: 37, hex: 25, oct: 45, bin: 100101
&, dec: 38, hex: 26, oct: 46, bin: 100110
', dec: 39, hex: 27, oct: 47, bin: 100111
(, dec: 40, hex: 28, oct: 50, bin: 101000
), dec: 41, hex: 29, oct: 51, bin: 101001
*, dec: 42, hex: 2A, oct: 52, bin: 101010
+, dec: 43, hex: 2B, oct: 53, bin: 101011
,, dec: 44, hex: 2C, oct: 54, bin: 101100
-, dec: 45, hex: 2D, oct: 55, bin: 101101
., dec: 46, hex: 2E, oct: 56, bin: 101110
/, dec: 47, hex: 2F, oct: 57, bin: 101111
0, dec: 48, hex: 30, oct: 60, bin: 110000
1, dec: 49, hex: 31, oct: 61, bin: 110001
2, dec: 50, hex: 32, oct: 62, bin: 110010
3, dec: 51, hex: 33, oct: 63, bin: 110011
4, dec: 52, hex: 34, oct: 64, bin: 110100
5, dec: 53, hex: 35, oct: 65, bin: 110101
6, dec: 54, hex: 36, oct: 66, bin: 110110
7, dec: 55, hex: 37, oct: 67, bin: 110111
8, dec: 56, hex: 38, oct: 70, bin: 111000
9, dec: 57, hex: 39, oct: 71, bin: 111001
:, dec: 58, hex: 3A, oct: 72, bin: 111010
;, dec: 59, hex: 3B, oct: 73, bin: 111011
<, dec: 60, hex: 3C, oct: 74, bin: 111100
=, dec: 61, hex: 3D, oct: 75, bin: 111101
>, dec: 62, hex: 3E, oct: 76, bin: 111110
?, dec: 63, hex: 3F, oct: 77, bin: 111111
@, dec: 64, hex: 40, oct: 100, bin: 1000000
A, dec: 65, hex: 41, oct: 101, bin: 1000001
B, dec: 66, hex: 42, oct: 102, bin: 1000010
C, dec: 67, hex: 43, oct: 103, bin: 1000011
D, dec: 68, hex: 44, oct: 104, bin: 1000100
E, dec: 69, hex: 45, oct: 105, bin: 1000101
...
Tudj meg többet
További alapvető oktatóanyagokat a beépített példák részben talál.
Felfedezheti a nyelvi referenciát is, az Arduino programozási nyelv részletes gyűjteményét.