malthy
05.08.2010, 01:18
Hallo!
Ich habe folgendes Problem: zwei M8 auf einem Board sollen miteinander kommunizieren. Ein Controller ist nur damit beschäftigt, einige Ports zu pollen. Das ist SEHR zeitkritisch, d.h. ich möchte auf jeden Fall die Wahrscheinlichkeit klein halten, etwas an einem Port zu verpassen (Randbemerkungen: 1. ich weiss, dass Bascom für so eine Aufgabe nicht unbedingt die optimale Sprache ist, ich möchte vorerst trotzdem dabei bleiben, 2. die Hardware-Interupts sind schon verbraucht, es ist die einzige Möglichkeit zu pollen). Der zweite Controller soll sich um ein kleines User-Interface (UI) kümmern, d.h. er stellt Werte auf einem LCD dar, fragt einige Tasten ab und macht UART Kommunikation mit einem PC. Es geht nun natürlich darum, vom erstgenannten M8 Daten in den UI-M8 zu bekommen. Der Punkt ist, dass die Kommunikation auf dem ersten M8 natürlich so wenig Zeit wie möglich verbrauchen soll.
Ich habe mehrere AVRs bisher immer per I2C miteinander Reden lassen, in diesem Falle frage ich mich, ob SPI nicht schneller wäre. Und mit "schneller" meine ich nicht einfach den reinen Bustakt (der ist bei SPI ja in der Tat potentiell schneller) sondern welche Zeit die entsprechenden Bascom Routinen benötigen würden. Kann mir da jemand ein paar Hinweise geben?
Vielen Dank für alle Tipps! Viele Grüße!
Malte
Ich habe folgendes Problem: zwei M8 auf einem Board sollen miteinander kommunizieren. Ein Controller ist nur damit beschäftigt, einige Ports zu pollen. Das ist SEHR zeitkritisch, d.h. ich möchte auf jeden Fall die Wahrscheinlichkeit klein halten, etwas an einem Port zu verpassen (Randbemerkungen: 1. ich weiss, dass Bascom für so eine Aufgabe nicht unbedingt die optimale Sprache ist, ich möchte vorerst trotzdem dabei bleiben, 2. die Hardware-Interupts sind schon verbraucht, es ist die einzige Möglichkeit zu pollen). Der zweite Controller soll sich um ein kleines User-Interface (UI) kümmern, d.h. er stellt Werte auf einem LCD dar, fragt einige Tasten ab und macht UART Kommunikation mit einem PC. Es geht nun natürlich darum, vom erstgenannten M8 Daten in den UI-M8 zu bekommen. Der Punkt ist, dass die Kommunikation auf dem ersten M8 natürlich so wenig Zeit wie möglich verbrauchen soll.
Ich habe mehrere AVRs bisher immer per I2C miteinander Reden lassen, in diesem Falle frage ich mich, ob SPI nicht schneller wäre. Und mit "schneller" meine ich nicht einfach den reinen Bustakt (der ist bei SPI ja in der Tat potentiell schneller) sondern welche Zeit die entsprechenden Bascom Routinen benötigen würden. Kann mir da jemand ein paar Hinweise geben?
Vielen Dank für alle Tipps! Viele Grüße!
Malte