Arduino SPI Selbstgespräch

OP #4887709
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
}
Gast #4887721
>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.

Was für ein Unsinn;)

>Zweite Frage: Wäre es möglich den MOSI direkt mit dem MISO zu verbinden
>um wenigstens einen Device vorzutäuschen?

Ja, dann bekommst du das zurück was du gesendet hast.
OP #4887765
Bin hier in den Bergen und hab nur den Arduino und das LCD einige 
Jumpers und einen 220 ohm Widerstand. Zuhause liegt der Logic Level 
Converter.

Hat jemand eine Antwort auf Frage 1?

Bitte keine Hinweise, wie ich mit Draht oder Bleistift einen 
Spannungsteiler bauen könnte ;-)

hp-freund schrieb:
> Lass den doch einfach mit 3,3V laufen, dann kannst Du ohne Pegelwandler
> dein LCD bedienen. Nur eben langsamer.

Geht leider nicht. Stromversorgung kommt von Laptop und der Logik-Pegel 
des Arduino ist 5V.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.