6
« dnia: 01 Kwietnia 2020, 15:47:57 »
Uruchamialiśmy to na exe 190831 i działało tak jak kolega wyżej napisał. Uruchomiłem dzisiaj na najnowszym exe od @TMJ i dioda cały czas miga po włączeniu Maszyny. Użyłem ramki jak wyżej. Kod teraz wygląda tak:
volatile uint8_t zPC[48] = {0}; // standardowe bajty przekazywane do kodu Arduino
volatile uint8_t doPC[16] = {0}; // standardowe bajty przyjmowane z kodu Arduino
int cleanbuf;
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(500000); //nawiązanie komunikacji z prędkością 500000b/s
Serial.setTimeout(10);
while(!Serial){}; //czekanie do nawiązania komunikacji z komputerem
}
void loop() {
for(byte i=0; i<31; i++){ //pętla umożliwiająca wysłanie 31 bajtów danych
while(!Serial.available()){}; //czekamy na odebranie bajtu danych
zPC[i] = Serial.read(); //zapis danych do naszej tablicy
if(i < 16){ //zabezpiecznie, żeby nie wysłać za dużo danych do komputera
Serial.flush(); //sprawczanie czy już wysłano wcześniejsze dane (czekanie na wysłanie danych)
Serial.write(doPC[i]); // wysłanie danych do komputera
}
}
digitalWrite(12, (bitRead(zPC[6], 1))); //ustawienie wyjścia 12 według stanu bitu 1 w bajcie 6 w TablicaZPC (kontrolka jazdy na oporach)
delay(10);
}