<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=22662&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2019-11-29T21:30:16+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=22662&amp;mode</id>
<entry>
<author><name><![CDATA[Szofer]]></name></author>
<updated>2019-11-29T21:30:16+01:00</updated>
<published>2019-11-29T21:30:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223255#p223255</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223255#p223255"/>
<title type="html"><![CDATA[Re: Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223255#p223255"><![CDATA[
Problem z zasilaniem na 99%, miałem to samo przy modułach ze wzmacniaczem, dodałem kondziolka do pinów zasilania modułu i problem znikł, komunikacja dwustronna ożyła,<br /><br />.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7664">Szofer</a> — 29 lis 2019, o 21:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[motomichu30]]></name></author>
<updated>2019-11-28T22:01:33+01:00</updated>
<published>2019-11-28T22:01:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223230#p223230</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223230#p223230"/>
<title type="html"><![CDATA[Re: Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223230#p223230"><![CDATA[
Cześć. Zamieniałem miejscami moduły i do obu płytek wgrywałem raz kod nadajnika a raz kod odbiornika. Podłączenie na pewno mam dobre bo jeśli ustawię w jednym lub drugim układzie tryb nadawania to po kolei wyświetla iNET1 itd. na końcu wykrzyknik. pin irq mam podłączony do PB2 i ustawione int2, pin ce podłączony do BP3 i tak też ustawione w bibliotece. jest jakaś inna metoda na sprawdzenie modułów ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6133">motomichu30</a> — 28 lis 2019, o 22:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tonygryps]]></name></author>
<updated>2019-11-28T17:46:48+01:00</updated>
<published>2019-11-28T17:46:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223221#p223221</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223221#p223221"/>
<title type="html"><![CDATA[Re: Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223221#p223221"><![CDATA[
Jeśli nic nie zmieniałeś  w kodzie od Mirka to on na 100% działa wiem bo sam go testowałem. Najprawdopodobniej  masz jakiś problem sprzętowy wstaw zdjęcia jak to masz połączone (może moduł uwalony).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12014">tonygryps</a> — 28 lis 2019, o 17:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[motomichu30]]></name></author>
<updated>2019-11-27T21:19:18+01:00</updated>
<published>2019-11-27T21:19:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223206#p223206</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223206#p223206"/>
<title type="html"><![CDATA[Re: Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223206#p223206"><![CDATA[
Witam. Ja również zgłaszam się z prośbą o pomoc w znalezieniu błędu. Mam bibliotekę Mirka do obsługi tych modułów i próbowałem uruchomić program testowy, taki jak w video poradnikach lecz ciągle mam problem, tak mi się wydaje że z odbiornikiem. Nadajnik wyświetla ATNEL później iNET0, iNET1.... a odbiornik nie reaguje. Dodam że po wyświetleniu iNET5 pojawia się ! po czym wnioskuje że problem leży po stronie odbiornika.<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br /><br />//`````````````````````````````````````````````````````````````````````````````````````<br />#define NADAJNIK0// zmiana konfiguracji projektu: 0-Odbiornik, 1-Nadajnik<br /><br />#define USE_LCD1<br /><br />#define USE_KEYS0<br /><br />#define KEY1(1&lt;&lt;PC5)// nrf pwr down<br />#define KEY2(1&lt;&lt;PC4)// nrf pwr up<br />#define KEY_PORTPORTC<br />#define KEY_PINPINC<br /><br />#define LED(1&lt;&lt;PC7)<br />#define LED_DIRDDRC<br />#define LED_PORTPORTC<br />//.....................................................................................<br /><br /><br />#define LED_ONLED_PORT &amp;= ~LED<br />#define LED_OFF LED_PORT |= LED<br /><br />#if USE_LCD == 1<br />#include &quot;LCD/lcd44780.h&quot;<br />#endif<br /><br />#include &quot;MK_NRF24L01/mkNRF.h&quot;<br /><br /><br />const char led_on&#91;&#93; PROGMEM = &quot;LED ON&quot;;<br />const char led_off&#91;&#93; PROGMEM = &quot;LED OFF&quot;;<br /><br /><br />#if NADAJNIK == 1<br />volatile uint8_t Timer1;<br />#endif<br /><br /><br />#if NADAJNIK == 0<br />void parse_nrf_data( char * buf , uint8_t len );<br />#endif<br /><br />#if USE_ERROR_CALLBACK == 1<br />void my_tx_error_info( uint8_t error ) {<br /><br />#if USE_LCD == 1<br />lcd_locate(1,15);<br />if( error ) lcd_str(&quot;!&quot;);// sygnalizacja braku odpowiedzi z odbiornika<br />else lcd_str(&quot; &quot;);<br />#endif<br />}<br />#endif<br /><br /><br />int main (void) {<br /><br />#if USE_LCD == 1<br />DDRA |= (1&lt;&lt;PA7);// podświetlenie LCD<br />PORTA |= (1&lt;&lt;PA7);<br />#endif<br /><br />LED_DIR |= LED;// sygnalizacyjna dioda LED<br />LED_PORT |= LED;<br /><br />#if NADAJNIK == 1<br /><br />#if USE_LCD == 1<br />lcd_init();<br />lcd_str_P( PSTR(&quot;**** NRF Tx ****&quot;) );<br />#endif<br /><br />mknrf_init( PSTR(&quot;ATNEL&quot;) );<br /><br />// można zmienić domyślne nazwy strumieni 1 - 5, np:<br />//mknrf_set_rx_pipe_addr( RX_ADDR_P1, PSTR(&quot;TOLAn&quot;) );<br /><br /><br />#if USE_ERROR_CALLBACK == 1<br />register_nrf_tx_err_callback( my_tx_error_info );<br />#endif<br /><br />#if USE_LCD == 1<br />    //------ wyświetlenie adresów każdego z 6 strumieni (pipes)<br />    char bf&#91;10&#93;;<br />    uint8_t adr = RX_ADDR_P0;<br />    for( uint8_t i=0; i&lt;6; i++ ) {<br />    lcd_locate(1,0);<br />    lcd_str_P( PSTR(&quot;Pipe&quot;) );<br />    lcd_int(i);<br />    lcd_str_P( PSTR(&quot; adr:&quot;) );<br />    lcd_str( mknrf_read_rx_pipe_adr( adr++, bf ) );<br />    _delay_ms(1000);<br />    }<br />#endif<br /><br />#ifdef TCCR0A<br />    //inicjalizacja timera programowego<br />    TCCR0A |= (1&lt;&lt;WGM01);<br />    TCCR0B |= (1&lt;&lt;CS02) | (1&lt;&lt;CS00);<br />#ifdef TIMSK0<br />    TIMSK0 |= (1&lt;&lt;OCIE0A);<br />#else<br />    TIMSK |= (1&lt;&lt;OCIE0A);<br />#endif<br />   OCR0A = F_CPU/1024/100;// 100Hz (10ms)<br />#else<br />    TCCR0 |= (1&lt;&lt;WGM01) | (1&lt;&lt;CS02) | (1&lt;&lt;CS00);<br />    TIMSK |= (1&lt;&lt;OCIE0);<br />   OCR0 = F_CPU/1024/100;// 100Hz (10ms)<br />#endif<br /><br />    sei();<br /><br /><br />while(1) {<br /><br />MKNRF_RX_EVENT();<br /><br />if( !Timer1 ) {<br />Timer1 = 35;<br /><br />static uint8_t sw;<br /><br />if( !sw ) {<br />mknrf_puts_P( led_on );<br />LED_ON;<br />} else {<br />mknrf_puts_P( led_off );<br />LED_OFF;<br />}<br /><br />sw ^= 1;<br />}<br />}<br />#endif<br /><br /><br />#if NADAJNIK == 0<br /><br />#if USE_LCD == 1<br />lcd_init();<br />lcd_str_P( PSTR(&quot;**** NRF Rx ****&quot;) );<br />#endif<br /><br />//inicjalizacja nrfa<br />mknrf_init( PSTR(&quot;ATNEL&quot;) );<br />register_nrf_rx_callback( parse_nrf_data );<br /><br /><br />    sei();<br /><br />    set_rx_mode();// włączenie trybu odbiorczego<br /><br /><br />#if USE_KEYS == 1<br />    KEY_PORT |= KEY1|KEY2;// piny przycisków<br />    _delay_ms(100);<br />#endif<br /><br />while(1) {<br /><br />MKNRF_RX_EVENT();<br /><br />#if USE_KEYS == 1<br />if( !(KEY_PIN &amp; KEY1) ) {// jeśli wciśnięty przycisk na PC5<br />mknrf_pwr_down();// włącz POWER_DOWN dla NRF, zatrzymaj komunikację<br /><br />while(1) {// i wejdź w pętlę nieskończoną<br /><br />if( !(KEY_PIN &amp; KEY2) ) {// a jeśli przyciśnięty przycisk na PC4<br />mknrf_pwr_up();// wybudź NRF'ka z uśpienia<br />//set_rx_mode();// przestaw nrf w tryb odbioru - również wybudzi moduł<br />//mknrf_puts(&quot;test&quot;);// wyślij cokolwiek - również wybudzi moduł<br />break;// i opuść pętlę nieskończoną<br />}<br />}<br />}<br />#endif<br /><br />}<br />#endif<br /><br /><br /><br />}<br /><br />#if NADAJNIK == 0<br />void parse_nrf_data( char * buf, uint8_t len ) {<br /><br />if (!strcmp_P( buf , led_on)) {<br />LED_ON;<br />#if USE_LCD == 1<br />lcd_locate(1,0);<br />lcd_str_P( PSTR(&quot;LED ON          &quot;) );<br />#endif<br />}<br />if (!strcmp_P( buf , led_off)) {<br />LED_OFF;<br />#if USE_LCD == 1<br />lcd_locate(1,0);<br />lcd_str_P( PSTR(&quot;         LED OFF&quot;) );<br />#endif<br />}<br />}<br />#endif<br /><br /><br /><br />#if NADAJNIK == 1<br />#ifdef TIMER0_COMPA_vect<br />#define TM0_VECT TIMER0_COMPA_vect<br />#else<br />#define TM0_VECT TIMER0_COMP_vect<br />#endif<br />ISR( TM0_VECT ) {<br />if( Timer1 ) Timer1--;<br />}<br />#endif[/syntax]<br /><br />Kod nadajnika jest taki sam z tą różnicą że #define NADAJNIK 1<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6133">motomichu30</a> — 27 lis 2019, o 21:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-11-12T19:30:35+01:00</updated>
<published>2019-11-12T19:30:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223019#p223019</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223019#p223019"/>
<title type="html"><![CDATA[Re: Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223019#p223019"><![CDATA[
<div class="quotetitle">tonygryps napisał(a):</div><div class="quotecontent"><br />tylko jak tak napisany kod analizować.<br /></div><br />Nie no to oczywiste - że o wiele bardziej przejrzyście jest jak się posługujemy jakimiś nazwami bitów. Ja tylko podpowiedziałem, że tak samo jak w plikach systemowych są zdefiniowane nazwy typu PD2, PD3 itp... to dokładnie tak samo są zdefiniowane PORD2, PORTD3 ale także DDRD2, DDRD3 itd itd ... Tyle że z tych ostatnich rzadko kto korzysta.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 lis 2019, o 19:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tonygryps]]></name></author>
<updated>2019-11-12T17:12:23+01:00</updated>
<published>2019-11-12T17:12:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223018#p223018</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223018#p223018"/>
<title type="html"><![CDATA[Re: Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223018#p223018"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Panowie nie ma różnicy pomiędzy zapisem<br /><br />Składnia: [ Pobierz ] [ Ukryj ]<br />język c<br /><br />    PORTD |= (1&lt;&lt;PD3);<br /><br />GeSHi<br /><br /><br />a<br /><br />Składnia: [ Pobierz ] [ Ukryj ]<br />język c<br /><br />    PORTD |= (1&lt;&lt;PORTD3);<br /><br />GeSHi<br /><br /><br />a nawet pomiędzy<br /><br />Składnia: [ Pobierz ] [ Ukryj ]<br />język c<br /><br />    PORTD |= (1&lt;&lt;DDRD3);<br /><br />GeSHi<br /></div><br /><br />Nie ma nawet różnicy między [syntax=c]PORTD |= (1&lt;&lt;3);[/syntax]<br />tylko jak tak napisany kod analizować.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12014">tonygryps</a> — 12 lis 2019, o 17:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pimpekswiatelko]]></name></author>
<updated>2019-11-12T12:57:19+01:00</updated>
<published>2019-11-12T12:57:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223014#p223014</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223014#p223014"/>
<title type="html"><![CDATA[Re: Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223014#p223014"><![CDATA[
Dziękuję za odpowiedzi tak jak myśałem, są to tożsame zapisy (PD3 = POTRD3 = 3)  i nie ma to wpływu na działanie programu i rozwiązanie problemu z modułem radiowym. Ale dziękuję za sugestię co do zapisu , będę już zapisywał krócej <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Nadal jednak proszę o dalszą pomoc w nawiązaniu połączenia z modulem NFR24L01, gdyż jak dotąd prawie wszystkie wskazówki dotyczyły właśnie nazewnictwa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21021">pimpekswiatelko</a> — 12 lis 2019, o 12:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-11-12T12:19:06+01:00</updated>
<published>2019-11-12T12:19:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223012#p223012</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223012#p223012"/>
<title type="html"><![CDATA[Re: Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223012#p223012"><![CDATA[
Panowie nie ma różnicy pomiędzy zapisem<br /><br />[syntax=c]PORTD |= (1&lt;&lt;PD3);[/syntax]<br /><br />a<br /><br />[syntax=c]PORTD |= (1&lt;&lt;PORTD3);[/syntax]<br /><br />a nawet pomiędzy<br /><br />[syntax=c]PORTD |= (1&lt;&lt;DDRD3);[/syntax]<br /><br />Po prostu jak ktoś lubi tracić czas na wpisywanie większej ilości znaków czyli PORTD3 zamiast PD3 - no to będzie tracił - bo kto komu zabroni ... ot kwestia nawyków i przyzwyczajeń albo oszczędności czasu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 lis 2019, o 12:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tonygryps]]></name></author>
<updated>2019-11-12T09:28:08+01:00</updated>
<published>2019-11-12T09:28:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223009#p223009</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223009#p223009"/>
<title type="html"><![CDATA[Re: Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223009#p223009"><![CDATA[
Na samej górze projektu  inkludujesz bibliotekę systemową<br />[syntax=c]#include &lt;avr/io.h&gt;[/syntax] jeśli korzystasz z eclipsa wciśnij na klawiaturze klawisz ctrl i kliknij w tą bibliotekę  otworzy ci się wnętrze io.h tam znajdź nazwę swojego procka i analogicznie jak wyżej ctrl i klikasz na nazwę otworzy się plik z wszystkimi nazwami rejestrów i pinów twojego procka . Polecam tą lekturę   <div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Nie rozumiem dlaczego powyższy zapis jest błędny.<br /></div> a taki zapis nic ci nie mówi? <br />[syntax=c]DDRD|=(1&lt;&lt;PD3);[/syntax] ustawiasz w rejestrze kierunku pin procka PD3 jako wyjście (nie stan wysoki ani niski tylko ze to jest wyjście)<br />[syntax=c]PORTD|=(1&lt;&lt;PD3);[/syntax] ustawiasz w rejestrze stanu pin procka PD3 stan wysoki na PD3. znajdź różnicę między twoim zapisem a tym.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12014">tonygryps</a> — 12 lis 2019, o 09:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pimpekswiatelko]]></name></author>
<updated>2019-11-12T00:01:02+01:00</updated>
<published>2019-11-12T00:01:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223006#p223006</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223006#p223006"/>
<title type="html"><![CDATA[Re: Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223006#p223006"><![CDATA[
według noty w rejestrach DDRX : DDX0,DDX1 itd., a w rejestrach PORTX: PORTX0, PORTX1 itd.<br />Czyli powinienem zamienić<br />[syntax=c]DDRD|=(1&lt;&lt;PORTD3);[/syntax]<br />na<br />[syntax=c]DDRD|=(1&lt;&lt;DDD3);[/syntax]<br />?<br />Tylko że w takim wypadku i tu, i tu mamy przesunięcie o 3, wiec nic to nie zmieni<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21021">pimpekswiatelko</a> — 12 lis 2019, o 00:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[micky]]></name></author>
<updated>2019-11-11T23:45:56+01:00</updated>
<published>2019-11-11T23:45:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223005#p223005</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223005#p223005"/>
<title type="html"><![CDATA[Re: Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223005#p223005"><![CDATA[
A jak nazywamy poszczególne bity?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1546">micky</a> — 11 lis 2019, o 23:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pimpekswiatelko]]></name></author>
<updated>2019-11-11T23:35:40+01:00</updated>
<published>2019-11-11T23:35:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223004#p223004</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223004#p223004"/>
<title type="html"><![CDATA[Re: Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223004#p223004"><![CDATA[
Nie rozumiem dlaczego powyższy zapis jest błędny.<br />Moje rozumowanie jest następujące:<br />[syntax=c]DDRD|=(1&lt;&lt;PORTD3);[/syntax]<br />Przesuwam 00000001 o 3 w lewo i wykonuje sumę logiczną powstałej maski z rejestrem DDRD. Ustawiam więc PORTD 3 jako wyjście nie ingerując w resztę bitów rejestru.<br /><br />[syntax=c]PORTD&amp;=~(1&lt;&lt;PORTD3);[/syntax]<br /><br />Przesuwam 00000001 o 3 w lewo i wykonuje negację, następnie robię iloczyn logiczny maski z rejestrem PORTD, ustawiając tym samym stan wyjścia PORTD 3 na niski.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21021">pimpekswiatelko</a> — 11 lis 2019, o 23:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tonygryps]]></name></author>
<updated>2019-11-11T22:53:14+01:00</updated>
<published>2019-11-11T22:53:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223003#p223003</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223003#p223003"/>
<title type="html"><![CDATA[Re: Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223003#p223003"><![CDATA[
Co według Ciebie oznacza ten zapis [syntax=c]SPI_Init();<br />        DDRD|=(1&lt;&lt;PORTD3);<br />        PORTD&amp;=~(1&lt;&lt;PORTD3);[/syntax]<br /><br />Są przecież poradniki Mirka i nie tylko gdzie jest to pięknie wytłumaczone co i jak.<br /><a href="https://www.youtube.com/watch?v=tIS1LX6if3E"  class="postlink">https://www.youtube.com/watch?v=tIS1LX6if3E</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12014">tonygryps</a> — 11 lis 2019, o 22:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pimpekswiatelko]]></name></author>
<updated>2019-11-11T22:28:47+01:00</updated>
<published>2019-11-11T22:28:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223001#p223001</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223001#p223001"/>
<title type="html"><![CDATA[Re: Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=223001#p223001"><![CDATA[
Poprawiłem rejestry i taktowanie ustawiłem w projekcie, niestety dalej nie działa prawidłowo. Zauważyłem, że odpięcie od Atmegi CSN powoduje zaświecenie się po chwili diody na PD3, co by oznaczało, że rejestr zostaje odczytany wtedy poprawnie. Bez tego dioda nie świeci się.<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#define BIT(x) (1 &lt;&lt; (x))<br />#define SETBITS(x,y) ((x) |= (y))<br />#define CLEARBITS(x,y) ((x) &amp;= (~(y)))<br />#define SETBIT(x,y) SETBITS((x), (BIT((y))))<br />#define CLEARBIT(x,y) CLEARBITS((x), (BIT((y))))<br /><br />#define STATUS        0x07<br /><br />#define R_REGISTER    0x00<br />#define NOP           0xFF<br /><br />//polaczenia:<br />//SCK PB7<br />//MOSI PB5<br />//CSN PB4<br />//CE PB1<br /><br /><br /><br />void SPI_Init(void)<br />{<br />DDRB|=(1&lt;&lt;PORTB7)|(1&lt;&lt;PORTB5)|(1&lt;&lt;PORTB4)|(1&lt;&lt;PORTB1);<br />SPCR|=(1&lt;&lt;SPE)|(1&lt;&lt;MSTR)|(1&lt;&lt;SPR1);<br />SETBIT(PORTB, 4);<br />CLEARBIT(PORTB, 1);<br /><br /><br />}<br /><br /><br />char WriteByteSPI(unsigned char cData)<br />{<br />SPDR = cData;<br />while(!(SPSR &amp; (1&lt;&lt;SPIF)));<br />return SPDR;<br /><br />}<br /><br /><br />uint8_t GetReg(uint8_t reg)<br />{<br />_delay_us(10);<br />CLEARBIT(PORTB, 4);<br />_delay_us(10);<br />WriteByteSPI(R_REGISTER + reg);<br />_delay_us(10);<br />reg = WriteByteSPI(NOP);<br />_delay_us(10);<br />SETBIT(PORTB, 4);<br />return reg;<br />}<br /><br /><br /><br /><br /><br />int main(void)<br />{<br />SPI_Init();<br />DDRD|=(1&lt;&lt;PORTD3);<br />PORTD&amp;=~(1&lt;&lt;PORTD3);<br /><br />while(1)<br />{<br />if(GetReg(STATUS)==0x0E)<br />{<br /> PORTD|=(1&lt;&lt;PORTD3);<br />    <br />}<br /><br /><br />}<br /><br />return 0;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21021">pimpekswiatelko</a> — 11 lis 2019, o 22:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miki53]]></name></author>
<updated>2019-11-11T17:54:22+01:00</updated>
<published>2019-11-11T17:54:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=222990#p222990</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=222990#p222990"/>
<title type="html"><![CDATA[Re: Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=222990#p222990"><![CDATA[
Cześć <br /><br />Masz strasznie namieszane z tymi rejestrami PORTD3 czegoś takiego niema <br />przyjrzyj się jak ustawiamy porty<br /><br /> <a href="https://obrazkiforum.atnel.pl/18503/b783981dd8cc4afc6587297743bd835b.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/18503/b783981dd8cc4afc6587297743bd835b.jpg" alt="Obrazek" /></a><br /><br />jak sam widzisz takich portów nawet niema <br />jakie Ty próbujesz ustawić<br /><br />DDRB - to jest rejestr kierunku dla całego portu B <br />a to DDB7 niczego nie oznacza<br /><br />#define SCK DDB7<br />#define MOSI DDB5<br />#define CSN DDB4<br />#define CE DDB1<br /> <br /> <br /> <br />void SPI_Init(void)<br />{<br />        DDRB|=(1&lt;&lt;SCK)|(1&lt;&lt;MOSI)|(1&lt;&lt;CSN)|(1&lt;&lt;CE);<br />        SPCR|=(1&lt;&lt;SPE)|(1&lt;&lt;MSTR);<br />        SETBIT(PORTB, 4);<br />        CLEARBIT(PORTB, 1);<br /><br />Przemyśl ten cały swój kod bo tak on nie ruszy<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18503">miki53</a> — 11 lis 2019, o 17:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tonygryps]]></name></author>
<updated>2019-11-11T16:21:37+01:00</updated>
<published>2019-11-11T16:21:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=222987#p222987</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=222987#p222987"/>
<title type="html"><![CDATA[Re: Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=222987#p222987"><![CDATA[
Witam ja tu widzę kilka problemów<br />1) [syntax=c]#define F_CPU 8000000UL[/syntax] tego nigdy nie robimy w kodzie tylko w ustawieniach projektu <br />2) [syntax=c]#define SCK DDB7<br />#define MOSI DDB5<br />#define CSN DDB4<br />#define CE DDB1[/syntax] co to ma definiować? w atmedze 32 nie ma takich rejestrów.<br />3) brak podstaw zacznij od Blue-booka pooglądaj poradniki <a href="https://www.youtube.com/watch?v=hi_hG4btdK0"  class="postlink">https://www.youtube.com/watch?v=hi_hG4btdK0</a>.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12014">tonygryps</a> — 11 lis 2019, o 16:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pimpekswiatelko]]></name></author>
<updated>2019-11-11T15:31:07+01:00</updated>
<published>2019-11-11T15:31:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=222986#p222986</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=222986#p222986"/>
<title type="html"><![CDATA[Brak komunikacji z modułem NRF24L01]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22662&amp;p=222986#p222986"><![CDATA[
Cześć,<br />mam problem z modułem radiowym NRF24L01, a dokładniej nie mogę nawiązać z nim połączenia po SPI. Próba odczytania rejestru np. STATUS kończy się niepowodzeniem.<br />Program &quot;zatrzymuje się&quot; na funkcji GetReg(). Mikrokontroler to Atmega 32A. Proszę o pomoc w rozwiązaniu mojego problemu.<br />Pozdrawiam.<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;stdio.h&gt;<br />#define F_CPU 8000000UL  <br />#include &lt;util/delay.h&gt;<br /><br />#define BIT(x) (1 &lt;&lt; (x))<br />#define SETBITS(x,y) ((x) |= (y))<br />#define CLEARBITS(x,y) ((x) &amp;= (~(y)))<br />#define SETBIT(x,y) SETBITS((x), (BIT((y))))<br />#define CLEARBIT(x,y) CLEARBITS((x), (BIT((y))))<br /><br />#define STATUS        0x07<br /><br />#define R_REGISTER    0x00<br />#define NOP           0xFF<br /><br /><br />#define SCK DDB7<br />#define MOSI DDB5<br />#define CSN DDB4<br />#define CE DDB1<br /><br /><br /><br />void SPI_Init(void)<br />{<br />DDRB|=(1&lt;&lt;SCK)|(1&lt;&lt;MOSI)|(1&lt;&lt;CSN)|(1&lt;&lt;CE);<br />SPCR|=(1&lt;&lt;SPE)|(1&lt;&lt;MSTR); <br />SETBIT(PORTB, 4);<br />CLEARBIT(PORTB, 1);<br /><br />}<br /><br /><br />char WriteByteSPI(unsigned char cData)<br />{<br />SPDR = cData;<br />while(!(SPSR &amp; (1&lt;&lt;SPIF)));<br />return SPDR;<br /><br />}<br /><br /><br />uint8_t GetReg(uint8_t reg)<br />{<br />_delay_us(10);<br />CLEARBIT(PORTB, 2);<br />_delay_us(10);<br />WriteByteSPI(R_REGISTER + reg);<br />_delay_us(10);<br />reg = WriteByteSPI(NOP);<br />_delay_us(10);<br />SETBIT(PORTB, 2);<br />return reg;<br />}<br /><br /><br /><br /><br /><br />int main(void)<br />{<br />DDRD|=(1&lt;&lt;PORTD3);<br />PORTD&amp;=~(1&lt;&lt;PORTD3);<br /><br /><br />while(1)<br />{<br />if(GetReg(STATUS)==0x0E)<br />{<br /> PORTD|=(1&lt;&lt;PORTD3);<br />    <br /><br />}<br /><br />}<br /><br />return 0;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21021">pimpekswiatelko</a> — 11 lis 2019, o 15:31</p><hr />
]]></content>
</entry>
</feed>