2015-11-12 05:15:13 +08:00
|
|
|
<!--
|
|
|
|
---
|
|
|
|
name: UART
|
2015-11-12 07:34:22 +08:00
|
|
|
description: Pin UART del Raspberry
|
2015-11-12 05:15:13 +08:00
|
|
|
pin:
|
|
|
|
'8':
|
2015-11-12 07:34:22 +08:00
|
|
|
name: TXD / Trasmissione
|
2015-11-12 05:15:13 +08:00
|
|
|
direction: output
|
|
|
|
active: high
|
|
|
|
'10':
|
2015-11-12 07:34:22 +08:00
|
|
|
name: RXD / Ricezione
|
2015-11-12 05:15:13 +08:00
|
|
|
direction: input
|
|
|
|
active: high
|
|
|
|
-->
|
|
|
|
#UART - Universal Asynchronous Receiver/Transmitter
|
|
|
|
|
2015-11-12 07:34:22 +08:00
|
|
|
###I due pin UART in WiringPi sono il 15 e il 16
|
2015-11-12 05:15:13 +08:00
|
|
|
|
2015-11-12 07:34:22 +08:00
|
|
|
UART è una maniera facile e semplice per collegare un Arduino (or un ATmega bootloaded) con il tuo Raspberry. Devi, tuttavia,
|
|
|
|
fare attenzione alla differenza di tensione tra le due periferiche: il Raspberry è a 3.3V, e l'Arduino invece a 5V. Se
|
|
|
|
li colleghi rischi di evocare del magico fumo blu.
|
2015-11-12 05:15:13 +08:00
|
|
|
|
2015-11-12 07:34:22 +08:00
|
|
|
Personalmente preferisco costruire un circuito con un Arduino Bootloaded ATmega 328 su una breadboard con un regolatore di tensione
|
|
|
|
per prendere la linea a 5V del Raspberry e convertirla in 3.3V. L'ATmega 328 sembra piuttosto soddisfatto di funzionare a 3.3V con un
|
|
|
|
cristallo a 16Mhz, e così ottieni un clone di Arduino con una logica a 3.3V.
|
2015-11-12 05:15:13 +08:00
|
|
|
|
2015-11-12 07:34:22 +08:00
|
|
|
Se hai WiringPi2-Python installato, questo esempio in python apre l'UART del Raspberry a 9600baud e ci scrive 'ciao mondo!'
|
2015-11-12 05:15:13 +08:00
|
|
|
|
|
|
|
```python
|
|
|
|
import wiringpi2 as wiringpi
|
|
|
|
wiringpi.wiringPiSetup()
|
|
|
|
serial = wiringpi.serialOpen('/dev/ttyAMA0',9600)
|
2015-11-12 07:34:22 +08:00
|
|
|
wiringpi.serialPuts(serial,'ciao mondo!')
|
2015-11-12 05:15:13 +08:00
|
|
|
```
|