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



Teraz jest 5 lip 2026, o 11:22


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 23 kwi 2017, o 21:37 
Offline
Nowy

Dołączył(a): 23 kwi 2017
Posty: 3
Pomógł: 0

Witam forumowiczow,
Mam malutki problem z implementacja protokolu komunikacji radia ze zmieniarka....
Ale od poczatku:
Znam interwaly impulsow generalnie caly protokol jest opisany.
Cytuj:
There are three different bit identifiers

Start bit: It consists of a 9ms high phase followed by a 4.5ms low phase.
0-Bit: A bit with a value of 0, is represented by an equal-long high and low phase. The length is in each case 0.55 ms. The bit thus has a total length of 1.1 ms.
1 bit: A bit with a value of 1, represents a 0.55 ms long high pulse followed by a 1.7 ms low phase. The total length is therefore 2.25 ms.

A command consists of 4 bytes, whereby in my interpretation the LSB (least significant bit) of each byte is sent first.

1st byte: always CA hex.
2nd byte: always 34 hex.
3. Byte: The command which is evaluated.
4. Byte: Again the command with inverted bit.

The bit sequence "01010011 00101100 01111000 10000111" can be seen in the figure above. This corresponds to the hexadecimal representation "CA 34 1e e1". In this case, the radio has indicated that the next track should be played.




Posiadam rowniez kod napisany na Atmega8 ale niestety jest nie kompatybilny z Atmega328 albo ja cos robie zle ...

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



Generalnie nie potrzebuje poprawienia spi wysylki i odbierania bo to juz mam i dziala poprawnie bardzie martwi mnie ISR(INT0_vect) oraz deklaracje rejestrow/Timerow.
Moja wiedza na temat C w AVR jest slaba ale ciagle czytam i sie szkole ale na tym poleglem nie potrafie tego sportowac, lub napisac od zera.

Przepraszam za brak pl znaczkow.
Dziekuje za kazda informacje, naprowadzenie na wlasciwy trop.
Pozdrawiam
Piotr
P.S.
Panie Mirku dzieki za Eclipsa



Ostatnio edytowano 23 kwi 2017, o 22:53 przez Moriusz, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 kwi 2017, o 22:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Tak wyczerpująco opisałeś problem, że zaraz zawiesi się serwer od odpowiedzi ;)
Nie robiłem nic na ATm328, ale w iom328p.h nie ma takich makr:
DDRB |= (1<<PB5) | (1<<PB7)| (1<<DDB4);
...no chyba że kompilator wie.
Edytuj kod na postać "C" a nie "kod jako kod" - źle się czyta.
Jeśli ECLIPSE to wywal to nieszczęsne:
#define F_CPU 8000000UL

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 kwi 2017, o 22:50 
Offline
Nowy

Dołączył(a): 23 kwi 2017
Posty: 3
Pomógł: 0

jak mowilem jest to tylko kod z atm8 i nie do konca dzialajacy zauwazony problem z deklaracja spi chodzi mi bardziej o vektory
Edit kod zmieniony



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 kwi 2017, o 23:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 lip 2013
Posty: 208
Lokalizacja: Kielce
Pomógł: 15

Tak na szybko analiza tylko wklejonego kawałka kodu:

To co kol. Kicajek napisał plus:

1. W atmedze328p nie ma rejestru GICR - jest EIMSK
2. Nie ma MCUCR - jest EICRA



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: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO