Hallo miteinander
Bin etwas mit dem SPI-Bus am spielen, habe jedoch nur ein 3.3 V LCD
welches ich mit meinem Arduino UNO noch nicht betreiben kann.
Wollte dennoch mal schauen, ob ich SPI richtig einstellen kann.
Da ich kein Oszilloskop zur Hand habe möchte ich den Interrupt vom
Arduino nutzen, um zu schauen ob wenigstens die Anzahl der gesendeten
1er Bits richtig sind.
Nun zur ersten Frage. Warum zähle ich am MOSI-Pin keine ansteigenden
Flanken, während am MISO-Pin 50 steigende Flanken pro Loop gezählt
werden? SCL gibt wie erwartet 8 steigende Flanken aus.
Zweite Frage: Wäre es möglich den MOSI direkt mit dem MISO zu verbinden
um wenigstens einen Device vorzutäuschen?
Vielen Dank für Hinweise ;-) Und Gruss,
Freak
1 | #include <SPI.h>
|
2 |
|
3 | #define intPin 0
|
4 | #define ssPin 10
|
5 |
|
6 | volatile int shoot=0;
|
7 |
|
8 | void setup(){
|
9 | Serial.begin(9600);
|
10 | pinMode(ssPin, OUTPUT);
|
11 | digitalWrite(ssPin, HIGH);
|
12 | SPI.begin();
|
13 | SPI.setDataMode(1);
|
14 | SPI.setClockDivider(SPI_CLOCK_DIV128);
|
15 | SPI.setBitOrder(MSBFIRST);
|
16 | attachInterrupt(intPin,fun,RISING);
|
17 | }
|
18 |
|
19 | void loop(){
|
20 | digitalWrite(ssPin,LOW);
|
21 | SPI.transfer(0xF0);
|
22 | digitalWrite(ssPin,HIGH);
|
23 | delay(1000);
|
24 | Serial.println(shoot);
|
25 | shoot = 0;
|
26 | }
|
27 |
|
28 | void fun(){
|
29 | shoot += 1;
|
30 | }
|