• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Sterowanie z pliku .hex
#1
Witam
Koledzy chciałbym napisać taki program w który arduino bierze dane z pliku .hex np takiego :

22 4F 0B 48 F3 6E 06 D0 01 E4 0B 40 06 E5 05 E4 83 61 E3 6F 26 4F F6 6E 2B 41 F6 68 F8 4E 00 80 08 3D 01 80 86 2F 01 E8 96 2F A6 2F B6 2F C6 2F E6 2F 16 D1 22 4F 16 DA 0B 41 F3 6E 0B 4A 09 00 14 DC 15 DB C0 64 15 D9 0B 4B 4C 64 0B 49 09 00 0B 4A 09 00 C3 60 8C 04 01 78 0B 4B 4C 64 0B E1 17 38 F8 8F C3 60 0B 49 09 00 0B 4A 09 00 0C D1 10 64 0B 4B 4C 64 93 61 E3 6F 26 4F F6 6E F6 6C F6 6B F6 6A F6 69 2B 41 F6 68 09 00 18 4F 00 80 CC 4F 00 80 00 00 F0 8B 48 4F 00 80 F8 4F 00 80 0C 00 F0 8B 86 2F 00 E8 96 2F A6 2F B6 2F C6 2F D6 2F 02 ED E6 2F 2F D1 22 4F 2F DC 0B 41 F3 6E 01 E4 0B 4C 06 E5 2D DA F4 7F 2D DB 01 E6 06 E7 49 95 B3 64 82 2F D1 1F 0B 4A 82 1F 29 D1 2A D9 0B 41 0C 7F 29 D1 64 E4 82 21 3D 91 12 29 28 D1


i po bajt po bajcie wysyła jeden sygnał na dane wyjście np:
pierwsza jest 2 to na wyjście PD2 wysyła krótki sygnał
druga jest 2 czyli to samo na PD2, kolejny bajt to 4 i daje sygnał na wyjscie PD4, następnie jest F to daje sygnał np. na wyjscie PB5 itd do końca pliku plik .hex może być dość duży na 200kB ,ale to nie ma problemu bo można go podzielić

Ma ktoś jakieś pomysły bo szukam już długo i nie mogę ruszyć z tym wysyłaniem takich danych z góry dzieki
 
Odpowiedź
#2
22 4F czy ty kolego rozszumisz kod szesnastkowy bo to co tłumaczysz na pewno nie będzie dzalac ty nie masz 2 2 4 f tylko 22 4f czyli decymalni to to samo co 22-34 -jak masz mege to tyle portów by było ale z 4f-79 to nawet cotrex niema.
To co tłumaczysz ma sest tylko i wylocznie gdy napiszemy to tak 02 02 04.
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#3
Nie do końca mi o to chodzi, ja nie chcę wysyłać kodu szestnastkowego, chcę aby program widział ten kod jako pojedyncze wartości i każda wartość odpowiadała by jednemu wyjściu i podał impuls na dane przypisane wyjście .
Powiedzmy że nie musi to być kod szestnastowy mogą to być litery np:

HK DF LP RU LK DG BN MH KL
SU RI WO TT SG FJ MN SF GK
AG NJ KL SS WU IO MN ZZ FL

Czyli
H --- impuls na wyj PD0
K--- impuls na wyj PD1
D----impuls na PD2
.
.
itd
 
Odpowiedź
#4
A hex masz na karcie sd rozumie.
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#5
Może być na karcie moge je wklejać do programu obojetnie jak , nie wiem od czego zacząć aby dane były pobierane przez procesor który uruchamiał by odp porty, mam stworzyć bibliotek z tym danymi ?
 
Odpowiedź
#6
Zacznij od przesyłania danych portem szregowym.
Poniższy program pochodzi stąd: http://forbot.pl/blog/artykuly/programow...nne-id3836. Tam też jest dokładnie opisany.
Zamiast przesyłanego tekkstu 'zielona', 'czerwona' wstawisz swoje kody. To tylko przykład, docelowy program można znacznie uprościć.
Kod:
#define zielona 8
#define czerwona 9

String odebraneDane = ""; //Pusty ciąg odebranych danych

void setup() {
 Serial.begin(9600); //Uruchomienie komunikacji
 pinMode(zielona, OUTPUT); //Konfiguracja wyjść
 pinMode(czerwona, OUTPUT);
 
 digitalWrite(zielona, LOW); //Wyłączamy diody
 digitalWrite(czerwona, LOW);
}

void loop() {
 if(Serial.available() > 0) { //Czy Arduino odebrano dane
   //Jeśli tak, to odczytujemy je do znaku końca linii i zapisz w zmiennej odebraneDane
   odebraneDane = Serial.readStringUntil('\n');
   
   if (odebraneDane == "zielona") { //Jeśli odebrano słowo "zielona"
     digitalWrite(zielona, HIGH); //To włączamy diodę zieloną
     delay(1000);
     digitalWrite(zielona, LOW);
   }
   
   if (odebraneDane == "czerwona") { //Jeśli odebrano słowo "czerwona"
     digitalWrite(czerwona, HIGH); //To włączamy diodę czerwoną
     delay(1000);
     digitalWrite(czerwona, LOW);
   }
 }
}
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
 
Odpowiedź
#7
Dzięki wielkie kolego juz jakiś punkt zaczepienia jest😀

Wysłane z mojego SM-G903F przy użyciu Tapatalka
 
Odpowiedź
#8
Kolego nie wiem czy rozumie ty nie masz nic żadnego programu tylko sam pomysł tak.
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#9
Tak nie mam programu to jest tylko część powiedzmy projektu pod tytulem sat4all jak ktoś z tej branży jest to powinien wiedzieć o co mi chodzi

Wysłane z mojego SM-G903F przy użyciu Tapatalka
 
Odpowiedź
#10
Tak teraz kumam ale ty chcesz arduino wykorzysta nie jest to za wolne??
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości