Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 13:08


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 14 paź 2020, o 17:04 
Offline
Nowy

Dołączył(a): 30 gru 2017
Posty: 18
Pomógł: 0

Witam,

Od kilku dni próbuję zrobić komunikację na SPI między AVR i Arduino. Wysyłanie pojedynczych znaków czy cyfr nie robi większego problemu. Natomiast nie mogę poradzić sobie z wysyłaniem kilku zmiennych które są obliczane w AVR i następnie mają być wysłane przez SPI do Arduino i tam na ich podstawie ma się wykonywać dalszy kod. Zrobiłem trochę ułomny kod którym wysyłam "#" i na jego podstawie odczytuję że jest to początek zmiennej 1, następnie wysyłam cyfry na monitor i wyświetla je poprawnie. Nie wiem tylko jak wpisać te liczby do zmiennej.

Tutaj kod Arduino:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Tutaj kod na AVR:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Byłbym wdzięczny za pomoc bo już kończą mi się pomysły a nie mogę znaleźć nic co by mi pomogło.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 paź 2020, o 19:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2015
Posty: 183
Pomógł: 10

A czy nie lepiej zrobić to na przerwaniu od SPI? W momencie kiedy nadejdą dane z Mastera do Slave wywołana zostanie procedura obsługi przerwania. W funkcji tej zostaną przypisane dane do zmiennej i gotowe.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 paź 2020, o 21:33 
Offline
Nowy

Dołączył(a): 30 gru 2017
Posty: 18
Pomógł: 0

Próbowałem odbierać dane na przerwaniu ale nie chciało to chyba działać do końca pewnie robiłem coś źle. A na jakiej zasadzie przypisywać dane do różnych zmiennych ? Masz jakiś pomysł ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 paź 2020, o 07:26 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 230
Pomógł: 26

Dane które przychodzą powinieneś pakować do bufora. Gdy przyjdzie znak końca ramki wtedy można podjąć decyzję do jakiej zmiennej przepisać zawartość bufora. (funkcja odwrotna do itoa czyli atoi). Cały proces jest opisany przez Mirka w tematach dotyczących buforów cyklicznych. Poszperaj. Co prawda dotyczyło to UARTA ale co za różnica czy to UART czy SPI. Obsługa bufora w przerwaniu będzie taka sama.

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 paź 2020, o 10:32 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

Najpierw to warto zacząć od Bluebooka ....

https://atnel.pl/mikrokontrolery-avr-jezyk-c.html

a później kilka poradników wideo




_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 paź 2020, o 11:25 
Offline
Nowy

Dołączył(a): 30 gru 2017
Posty: 18
Pomógł: 0

[quote="mirekk36"]Najpierw to warto zacząć od Bluebooka ....

https://atnel.pl/mikrokontrolery-avr-jezyk-c.html

a później kilka poradników wideo

Tak bluebook właśnie włożyli do Paczkomatu :D po pracy będę go odbierał. Co do filmów oglądałem ale dawno temu i nie pamiętam co gdzie jest.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 paź 2020, o 11:36 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

Raqu napisał(a):
i nie pamiętam co gdzie jest.

Jak się wejdzie na czyjś kanał na YT to w szukajka wyszukuje po nazwach filmy z tego kanału zdaje się - tak można sobie pomagać jak coś

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lis 2020, o 18:35 
Offline
Nowy

Dołączył(a): 30 gru 2017
Posty: 18
Pomógł: 0

Zrobiłem komunikację pomiędzy AVR a Arduino i działa, kod może prostacki ale jest. Mam jedynie problem z wysyłaniem danych między kilkoma urządzeniami. Mianowicie komunikacja działa pomiędzy:
1. Arduino - AVR
2. Arduino - LCD - karta SD

Ale gdy do LCD karty SD i Arduino podpinam AVR, wyświetlacz nie wyświetla nic brak wysyłania na terminal czegokolwiek.


Kod Arduino.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Kod AVR

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 14 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO