6
« dnia: 02 Lipca 2020, 13:32:13 »
Ramka się chyba zmieniła - na początku są jeszcze 4 bajty 0xEF. Spróbuj zrobić tak:
volatile uint8_t zPC[52] = {0}; // standardowe bajty przekazywane do kodu Arduino
volatile uint8_t doPC[20] = {0xEF, 0xEF, 0xEF, 0xEF, 0}; // standardowe bajty przyjmowane z kodu Arduino
void setup() {
pinMode(12, OUTPUT); //ustawienie pinu 12 (wbudowana w Arduino dioda LED) jako wyjście cyfrowe
digitalWrite(12, LOW); //ustawienie stanu niskiego na pinie 12
Serial.begin(115200); //nawiązanie komunikacji z prędkością 115200b/s
Serial.setTimeout(10);
while(!Serial){}; //czekanie do nawiązania komunikacji z komputerem
}
void loop() {
digitalWrite(12, (bitRead(zPC[8], 1))); //ustawienie wyjścia 12 według stanu bitu 1 w bajcie 4 w TablicaZPC (kontrolka jazdy na oporach)
while (!Serial.available()) {};
Serial.readBytes((char*)zPC, 52);
Serial.write((char*)doPC, 20);
}
Upewnij się też że na Arduino po uruchomieniu symulatora migają diody RX i TX.
(nie mam teraz dostępu do komputera, poprawcie mnie jeśli się mylę)