Pages: 1 [2]   Go Down
Author Topic: Arduino ShiftOut tramite porta seriale - Help!  (Read 783 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Sr. Member
****
Karma: 0
Posts: 423
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

up
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ascolta, Se io metto un Serial.write(1) sul monitor seriale dell'Arduino leggo un carattere senza senso, corrispondente al byte di valore 1, non leggo 0b00000001.
Quindi io temo che il tuo programma lato PC non spedisca i dati in formato byte.

Elimina per ora questo problema e modifica il tuo programma così:

Code:
void loop() {
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, 0b10101010); 
  digitalWrite(latchPin, HIGH);
  delay(500);
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, 0b01010101); 
  digitalWrite(latchPin, HIGH);
  delay(500);
}

Ti deve accendere i led alternativamente. Se così funziona, il problema sta nella comunicazione fra PC ed Arduino, altrimenti hai sbagliato i collegamenti dei registri all'Arduino.
Logged


Offline Offline
Sr. Member
****
Karma: 0
Posts: 423
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si così funziona bene smiley-lol
Quindi cosa sbagliavo?
cioè se invio la sequenza tramite seriale, non devo scrivere così?
Code:
shiftOut(dataPin, clockPin, MSBFIRST, Serial.read());
« Last Edit: May 25, 2013, 10:29:40 am by toti94 » Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Probabilmente tu non invii il dato in formato numerico.
Io non conosco PHP per cui non so come ragiona. Se scrivi print(1) sulla seriale esso cosa spedisce? una stringa di valore "1" oppure un byte di valore 1?
Logged


Offline Offline
Sr. Member
****
Karma: 0
Posts: 423
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

si in effetti in php io invio una stringa "0bxxxxxxxx" non invio numeri
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

si in effetti in php io invio una stringa "0bxxxxxxxx" non invio numeri
Sono 2 pagine che te lo sto dicendo....  smiley-sweat smiley-sweat
Logged


0
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5608
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-lol
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

Pages: 1 [2]   Go Up
Jump to: