Ini sangat membingungkan, tetapi Anda tidak perlu khawatir tentang hal itu. Pertama, pikirkan UART yang merupakan istilah umum, tetapi pikirkan satu yang menghasilkan protokol dengan bit mulai, satu atau dua bit stop, 7 atau 8 bit data, dan terkadang paritas yang genap atau ganjil; itu dapat bervariasi dari sana yang membuatnya jauh lebih buruk.
UART berada pada level TTL, apa pun artinya. Dulu 5 V dan sekarang 3,3 V, 1,8 V atau apa pun; mungkin TTL adalah istilah yang salah. MAKA Anda memiliki / memiliki RS-232, RS-422, dll. Ini adalah standar TEGANGAN DAN PIN, bukan standar protokol. Tidak benar mencampur istilah dan mengatakan RS-232 ketika Anda maksud semacam UART.
Kembali pada hari UART Anda berada di motherboard Anda dan Anda menginginkan semacam konektor ke dunia luar dengan tingkat tegangan yang pada saat itu masuk akal dan semacam pinout / kabel standar. Jadi standar 25 dan 9 pin yang populer sering ditemukan untuk berbagai periferal, dan di dunia PC Wintel ini disebut port komunikasi atau kadang-kadang port serial.
Tentu, port yang membawa data serial dapat dan disebut port serial, SPI, I²C, MDIO, UART, HDLC, SDLC, dll., Dan mungkin bahkan USB dan SCSI; Anda bisa menjadi gila dengan ini. Biasanya port serial berarti beberapa pin yang bisa Anda dapatkan di UART.
Dunia Unix / Linux mengatakan tty
bukannya com
/ serial
/ uart
, tetapi itu adalah hal yang sama.
Sekarang ada IMPLEMENTASI. Anda dapat membeli beberapa chip UART dengan beberapa antarmuka di atasnya (ya, Anda dapat memiliki SPI UART, yang serial di kedua ujungnya, atau I²C UART atau bus khusus atau USB, dll.). Bahkan di masa lalu, UART memiliki beberapa bus di satu sisi yang akhirnya berkomunikasi melalui CPU. Hari ini kami memiliki FTDI dan vendor lain yang membuat solusi USB UART yang bagus, tidak membuatnya berbeda beberapa lapisan antarmuka antara perangkat lunak dan UART dan kemudian sisi lain dari UART memiliki beberapa antarmuka, baik itu TTL / level chip atau RS-232C atau RS-422, dll.
Arduino awal Anda sering menggunakan papan USB-to-UART FTDI yang juga memberikan daya ke Arduino. Beberapa memiliki kekuatan USB dan serial / UART pada papan Arduino itu sendiri dan kemudian yang terhubung di papan ke UART pada chip AVR (kesepakatan yang sama beberapa prosesor dengan beberapa lapisan bus untuk memungkinkan perangkat lunak untuk berkomunikasi dengan UART yang memiliki beberapa antarmuka di sisi lain itu, dalam hal ini pin di tepi AVR, pada level tegangan chip, TTL).
Karena fungsi UART tidak berubah dalam beberapa dekade, mengapa terminologi perangkat lunak atau bahkan aplikasi perangkat lunak berubah pada tingkat aplikasi? Tulis aplikasi Linux / Unix TTY 10-15 tahun yang lalu terhadap chip UART pada motherboard Anda, dan ada kemungkinan ia masih berfungsi hari ini dengan level USB to TTL atau level USB to RS-232C atau RS-422 atau pin apa pun / definisi level. Hal yang sama berlaku untuk Windows, dan saya memiliki kode yang lama yang masih berfungsi pada keduanya. Di dunia Windows, istilah COM digunakan.
Saya belum pernah menggunakan kotak pasir Arduino dalam beberapa saat dan jika demikian akan di Linux, tapi saya tidak akan terkejut jika program yang Jawa, jika saya ingat benar, adalah generik dan menggunakan nama sistem jadi ttyS2
pada Linux dan COM2 di windows.
Membaca kembali pertanyaan Anda ini dapat melangkah lebih jauh, mengambil keuntungan dari jumlah perangkat lunak yang sudah ada yang menggunakan panggilan API ini. Sekali lagi selama beberapa dekade, tidak ada alasan mengapa Anda tidak dapat membuat porta virtual dalam perangkat lunak yang membawa data dua arah ini ke hampir semua hal yang dapat Anda pikirkan. UART ke Ethernet adalah yang sangat umum, dan di ruang server di mana server masih sangat banyak menggunakan port COM / TTY / RS-232, Anda dapat memiliki server terminal yang memiliki sejumlah antarmuka yang dapat Anda sambungkan ke sejumlah server, kemudian Ethernet di sisi lain, maka jika Anda memilih untuk tidak telnet, Anda dapat menginstal driver port COM virtual.
Maka aplikasi Anda di komputer Anda berpikir itu berbicara ke port COM, tetapi pada kenyataannya bahwa aliran byte melompat ke Ethernet kemudian memukul server terminal, MAKA, ke UART ke tingkat RS-232C (tetapi tidak harus pinout) kabel ke server dan kembali dengan cara yang sama.
Terkadang tidak ada alasan untuk benar-benar membuatnya menjadi UART nyata, untuk alasan apa pun memvirtualisasikan port COM sehingga perangkat lunak yang ditulis untuk panggilan API tersebut masih dapat berfungsi. Anda mungkin dapat berpikir tentang perangkat lunak perbankan kuno yang masih kita gunakan yang memiliki terminal bisu ke antarmuka UART yang mungkin kembali pada hari itu bawaan atau masuk ke modem untuk akhirnya server. Anda dapat membuatnya agar perangkat lunak tetap berfungsi, melalui berbagai jumlah emulasi termasuk port COM virtual yang saat ini kemungkinan besar hanya menurunkan Ethernet ke server sebagai aliran serial (misalnya TCP / IP).