<?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=8&amp;t=1857&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-06-11T10:44:42+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=1857&amp;mode</id>
<entry>
<author><name><![CDATA[tadzio123]]></name></author>
<updated>2013-06-11T10:44:42+01:00</updated>
<published>2013-06-11T10:44:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=39001#p39001</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=39001#p39001"/>
<title type="html"><![CDATA[Re: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=39001#p39001"><![CDATA[
Minęło trochę czasu, a ja chciałbym wrócić do tematu. Dziękuję za odpowiedzi. Prosiłbym jeszcze o polecenie taniej lutownicy, która pozwoli mi lutować takie precyzyjne rzeczy. Z naciskiem na niską cenę, bo nie spodziewam się używać jej bardzo dużo, a fundusze mocno ograniczone.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1321">tadzio123</a> — 11 cze 2013, o 10:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wireless]]></name></author>
<updated>2013-05-17T19:44:05+01:00</updated>
<published>2013-05-17T19:44:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=37189#p37189</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=37189#p37189"/>
<title type="html"><![CDATA[Re: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=37189#p37189"><![CDATA[
a oto dowód, że Mirek zawsze mówi prawdę  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br /><img src="http://obrazki.elektroda.pl/2844484100_1320057599.jpg" alt="Obrazek" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=380">wireless</a> — 17 maja 2013, o 19:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-05-17T17:57:27+01:00</updated>
<published>2013-05-17T17:57:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=37178#p37178</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=37178#p37178"/>
<title type="html"><![CDATA[Re: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=37178#p37178"><![CDATA[
maritex.pl i goldpin z rastrem 1.27 mm<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 17 maja 2013, o 17:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tadzio123]]></name></author>
<updated>2013-05-17T17:15:51+01:00</updated>
<published>2013-05-17T17:15:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=37173#p37173</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=37173#p37173"/>
<title type="html"><![CDATA[Re: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=37173#p37173"><![CDATA[
Takie mało pytanko mam. <br />Mam zamiar dokonać transmisji przy użyciu podobnego układu jak wyżej omawiany.<br />Zastanawiam sie nad tym jak zgrabnie połaczyć rfm73 do płytki stykowej.<br />Mam wersje rfm ze złączem na goldpinach. Raster 1.27 jak sądze. <br /><br />Potrzebuje taśmy bądź czegoś podobnego, tak żeby wyprowadzić sygnały z rfm do płytki stykowej.<br />Czy mógłby ktoś wskazać mi, gdzie mogę coś takiego kupić w Warszawie, bądź podać link do zakupu przez internet?<br /><br />P.S. lub inną radę, która pozwoli mi podłączyć ten moduł do płytki w schludny sposób.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1321">tadzio123</a> — 17 maja 2013, o 17:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wireless]]></name></author>
<updated>2012-12-02T17:37:15+01:00</updated>
<published>2012-12-02T17:37:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19934#p19934</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19934#p19934"/>
<title type="html"><![CDATA[Re: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19934#p19934"><![CDATA[
no to dobrze, bo za słaby jestem, żeby Ci dalej pomagać  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> <br />masz rację co do tego SPI<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=380">wireless</a> — 2 gru 2012, o 17:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kamilson]]></name></author>
<updated>2012-12-02T17:05:49+01:00</updated>
<published>2012-12-02T17:05:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19933#p19933</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19933#p19933"/>
<title type="html"><![CDATA[Re: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19933#p19933"><![CDATA[
Ale to jest programowe SPI wiec obojetne pod jakie piny się podłączy...<br />Sytuacja wygląda tak, że mój odbiornik już wydrukowałem na płytce a nadajnik na stykowej zrobiłem...<br />I cały czas się tego trzymałem. Ale kiedy już nie miałem pomysłu to postanowiłem zamienić softy... I działa;)<br />Ciekawe w sumie dlaczego nie działa odbiór na płytce stykowej...hm<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=692">kamilson</a> — 2 gru 2012, o 17:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wireless]]></name></author>
<updated>2012-12-02T16:49:08+01:00</updated>
<published>2012-12-02T16:49:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19931#p19931</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19931#p19931"/>
<title type="html"><![CDATA[Re: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19931#p19931"><![CDATA[
[syntax=c]<br />// konfiguracja połączeń RFM70 ************************************<br />// soft SPI<br />#define CE   (1&lt;&lt;PB3)<br />#define CSN  (1&lt;&lt;PB4)<br />#define MOSI (1&lt;&lt;PB5)<br />#define MISO (1&lt;&lt;PB6)<br />#define SCK  (1&lt;&lt;PB7)<br />[/syntax]<br /><br />tak mam podłączony rfm70 na atmega88 (na 8 chyba jest tak samo)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=380">wireless</a> — 2 gru 2012, o 16:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kamilson]]></name></author>
<updated>2012-12-02T16:15:32+01:00</updated>
<published>2012-12-02T16:15:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19929#p19929</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19929#p19929"/>
<title type="html"><![CDATA[Re: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19929#p19929"><![CDATA[
Mam przejściówke rs232/usb, i tak jak wireless polecił skleciłem taki oto kod:<br />Nadajnik:[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;string.h&gt;<br /><br />#include &quot;rfm70/rfm70.h&quot;<br /><br />int main(void) {<br />uint8_t tmp;<br />DDRB |= (1&lt;&lt;PB0);<br />PORTB |= (1&lt;&lt;PB0);<br />RFM70_Init();<br />sei();<br />while(1) {<br />tmp = Send_Packet( W_TX_PAYLOAD_NOACK_CMD, &quot;nadajnik&quot;, 8);<br />if(!tmp)PORTB ^= (1&lt;&lt;PB0);<br />_delay_ms(40);<br />}<br />return 0;<br />}<br />[/syntax]<br />Dla odbiornika:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;string.h&gt;<br /><br />#include &quot;rfm70/rfm70.h&quot;<br /><br />int main(void) {<br /><br />unsigned char rx_tmp[20];<br />uint8_tlen;<br />DDRB |= (1&lt;&lt;PB0);<br />PORTB |= (1&lt;&lt;PB0);<br />RFM70_Init();<br />sei();<br />while(1) {<br />len = Receive_Packet(rx_tmp);<br />if (len == 8) {<br />        PORTB ^= (1&lt;&lt;PB0);<br />        _delay_ms(40);<br />}<br />}<br />}<br />[/syntax]<br /><br />W rfm70.h mam:<br />[syntax=c]#ifndef RFM70_H_<br />#define RFM70_H_<br /><br /><br />// soft SPI<br />#define CE   (1&lt;&lt;PB1)<br />#define CSN  (1&lt;&lt;PB2)<br />#define MOSI (1&lt;&lt;PB3)<br />#define MISO (1&lt;&lt;PB4)<br />#define SCK  (1&lt;&lt;PB5)<br /><br />#define SPI_DIR DDRB<br />#define SPI_PORT PORTB<br />#define SPI_PINPINB<br /><br />// IRQ tutaj dodałem ta pierwsza definicje oraz zmienilem pozostale, w konsekwencji zmienilem jedna linijke w rfm70.c<br />// pokazalem ponizej ktora<br />#define RF_IRQDDRDDRD<br />#define RF_IRQPINPIND<br />#define IRQ(1&lt;&lt;PD3)// mo�na u�y� INT0, INT1 lub INT2<br />// INT2 - po lekkich zmianach kodu<br /><br />/*!<br /> * RF70_UseIRQ = 1 - u�ywamy przerwa�<br /> * RF70_UseIRQ = 0 - przerwania wy��czone<br /> */<br />#define RF70_UseIRQ 0<br /><br />// konfiguracja po��cze� RFM70 ************************************<br /><br /><br />#if RF70_UseIRQ == 1<br />extern volatile uint8_t rf70_rx_flag;<br />#endif<br /><br />#define MAX_PACKET_LEN  32// max value is 32<br /><br /><br />//************************FSK COMMAND and REGISTER****************************************//<br />// SPI(RFM70) commands<br />#define READ_REG        0x00  // Define read command to register<br />#define WRITE_REG       0x20  // Define write command to register<br />#define RD_RX_PLOAD     0x61  // Define RX payload register address<br />#define WR_TX_PLOAD     0xA0  // Define TX payload register address<br />#define FLUSH_TX        0xE1  // Define flush TX register command<br />#define FLUSH_RX        0xE2  // Define flush RX register command<br />#define REUSE_TX_PL     0xE3  // Define reuse TX payload register command<br />#define W_TX_PAYLOAD_NOACK_CMD0xb0<br />#define W_ACK_PAYLOAD_CMD0xa8<br />#define ACTIVATE_CMD0x50<br />#define R_RX_PL_WID_CMD0x60<br />#define NOP_NOP            0xFF  // Define No Operation, might be used to read status register<br /><br />// SPI(RFM70) registers(addresses)<br />#define CONFIG          0x00  // 'Config' register address<br />#define EN_AA           0x01  // 'Enable Auto Acknowledgment' register address<br />#define EN_RXADDR       0x02  // 'Enabled RX addresses' register address<br />#define SETUP_AW        0x03  // 'Setup address width' register address<br />#define SETUP_RETR      0x04  // 'Setup Auto. Retrans' register address<br />#define RF_CH           0x05  // 'RF channel' register address<br />#define RF_SETUP        0x06  // 'RF setup' register address<br />#define STATUS          0x07  // 'Status' register address<br />#define OBSERVE_TX      0x08  // 'Observe TX' register address<br />#define CD              0x09  // 'Carrier Detect' register address<br />#define RX_ADDR_P0      0x0A  // 'RX address pipe0' register address<br />#define RX_ADDR_P1      0x0B  // 'RX address pipe1' register address<br />#define RX_ADDR_P2      0x0C  // 'RX address pipe2' register address<br />#define RX_ADDR_P3      0x0D  // 'RX address pipe3' register address<br />#define RX_ADDR_P4      0x0E  // 'RX address pipe4' register address<br />#define RX_ADDR_P5      0x0F  // 'RX address pipe5' register address<br />#define TX_ADDR         0x10  // 'TX address' register address<br />#define RX_PW_P0        0x11  // 'RX payload width, pipe0' register address<br />#define RX_PW_P1        0x12  // 'RX payload width, pipe1' register address<br />#define RX_PW_P2        0x13  // 'RX payload width, pipe2' register address<br />#define RX_PW_P3        0x14  // 'RX payload width, pipe3' register address<br />#define RX_PW_P4        0x15  // 'RX payload width, pipe4' register address<br />#define RX_PW_P5        0x16  // 'RX payload width, pipe5' register address<br />#define FIFO_STATUS     0x17  // 'FIFO Status Register' register address<br />#define PAYLOAD_WIDTH   0x1f  // 'payload length of 256 bytes modes register address<br /><br />//interrupt status<br />#define STATUS_RX_DR 0x40<br />#define STATUS_TX_DS 0x20<br />#define STATUS_MAX_RT 0x10<br /><br />#define STATUS_TX_FULL 0x01<br /><br />//FIFO_STATUS<br />#define FIFO_STATUS_TX_REUSE 0x40<br />#define FIFO_STATUS_TX_FULL 0x20<br />#define FIFO_STATUS_TX_EMPTY 0x10<br /><br />#define FIFO_STATUS_RX_FULL 0x02<br />#define FIFO_STATUS_RX_EMPTY 0x01<br /><br /><br />// ----- deklaracje zmiennych<br />extern uint8_t rf70_rx_buf[MAX_PACKET_LEN+1];<br /><br /><br />//------------ definicje funkcji<br />uint8_t SPI_Read_Reg(uint8_t reg);<br />void SPI_Read_Buf(uint8_t reg, uint8_t *pBuf, uint8_t bytes);<br /><br />void SPI_Write_Reg(uint8_t reg, uint8_t value);<br />void SPI_Write_Buf(uint8_t reg, uint8_t *pBuf, uint8_t length);<br />void SPI_Write_Buf_bank(uint8_t reg, uint8_t *pBuf, uint8_t length);<br /><br />void SPI_Bank1_Read_Reg(uint8_t reg, uint8_t *pBuf);<br />void SPI_Bank1_Write_Reg(uint8_t reg, uint8_t *pBuf);<br />void SwitchCFG(char _cfg);<br /><br />void RFM70_Init(void);<br /><br />void SetChannelNum(uint8_t ch);<br /><br />void SwitchToTxMode(void);<br />void SwitchToRxMode(void);<br /><br />uint8_t Send_Packet(uint8_t type, void* pbuf, uint8_t len);<br />uint8_t Receive_Packet(void * pBuf);<br /><br />// funkcja do rejestracji funkcji zwrotnej w zdarzeniu RFM70_RX_EVENT()<br />void register_rfm70_rx_event_callback(void (*callback)(void * pBuf, uint8_t len));<br /><br />// zdarzenie do obs�ugi odebranych pakiet�w<br />void RFM70_RX_EVENT(void);<br /><br />#endif /* RFM70_H_ */[/syntax]<br /><br />No i zmieniłem jedną linijke w rfm70.c, <br />[syntax=c] //! Init soft SPI ********************<br />SPI_DIR |= CE;<br />SPI_DIR |= CSN;<br />SPI_DIR |= SCK;<br />SPI_DIR &amp;= ~MISO;<br />SPI_DIR |= MOSI;<br />RF_IRQDDR &amp;= ~IRQ;   // byłoSPI_DIR &amp;= ~IRQ //swoja drogą to powinno być chyba objete przez #if RF70_UseIRQ == 1<br /><br />SPI_PORT &amp;= ~CE;// CE  = 0;<br />SPI_PORT |= CSN;// CSN = 1;<br />SPI_PORT &amp;= ~SCK;// SCK = 0;<br />SPI_PORT &amp;= ~MOSI;// MOSI = 0;<br />//! Init soft SPI end ****************<br />[/syntax]<br /><br />Nie działa;/<br />Zabieram się za podpinanie rs232 i zobacze co zwracają kolejne funkcje... bo już nie mam innych pomysłów...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=692">kamilson</a> — 2 gru 2012, o 16:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2012-12-01T15:26:51+01:00</updated>
<published>2012-12-01T15:26:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19862#p19862</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19862#p19862"/>
<title type="html"><![CDATA[Re: Odp: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19862#p19862"><![CDATA[
Sam dodam od siebie że przy uruchamianiu RFM 12B użyłem w nadajniku attiny 861, oczywiście też mi na początku nie działało ale źle ustawiłem kanały w plikach .h robiąc dokładnie krok po kroku wg książki mirka ruszyło od strzału. Właśnie testowałem na stringach ładnie się wyświetlały na lcd i pojawiały w terminalu znakowym.<p>Statystyki: Napisane przez Gość — 1 gru 2012, o 15:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-12-01T13:34:51+01:00</updated>
<published>2012-12-01T13:34:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19857#p19857</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19857#p19857"/>
<title type="html"><![CDATA[Re: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19857#p19857"><![CDATA[
Panowie - nie wiem jak was - ale nawet w książce pisałem - że mnie ZAWSZE wkurza jak gdzieś w necie znajduję przykład jakichś tam transmisji (nie ważne jakich) ..... gdzie ludziska z uporem maniaka dla testu wysyłają takie np dane:<br /><br />[syntax=c]<br />uint8_t send[] = {0x04, 0xa7, 0x8e, 0x9a, 0xbc, 0x02, 0x00, 0xaa, 0xdb, 0x93, 0x04, 0xa7, 0x8e, 0x9a, 0xbc, 0x02, 0x00, 0xaa, 0xdb, 0x93, 0x04, 0xa7, 0x8e, 0x9a, 0xbc, 0x02, 0x00, 0xaa, 0xdb, 0x93, 0x04, 0xa7, 0x8e, 0x9a, 0xbc, 0x02, 0x00, 0xaa, 0xdb, 0x93, 0x04, 0xa7, 0x8e, 0x9a, 0xbc, 0x02, 0x00, 0xaa, 0xdb, 0x93, 0x04, 0xa7, 0x8e, 0x9a, 0xbc, 0x02, 0x00, 0xaa, 0xdb, 0x93, 0x04, 0xa7, 0x8e, 0x9a, 0xbc, 0x02, 0x00, 0xaa, 0xdb, 0x93 };[/syntax]<br /><br />do jasnej anielki - i co ? jak później to testujecie sobie czy poprawnie się odebrało co ? no proszę mi powiedzieć jak ?<br /><br />a kolega widzę, że jeszcze &quot;lepiej&quot; wymyślił <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> - nie ma to jak przesłać sobie milion zer, i ciekawe jak potem sprawdzasz czy te milion zer do ciebie przyleciało. Tzn nie chodzi mi już o tą ilość - ale o zera! na ZEUSA! no proszę się zastanowić - ale mi już ręce opadają <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />tylko nie zrozum mnie kolego źle, że ja się teraz tu na ciebie wkurzam czy coś <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> nie nie nie<br /><br />proszę tylko o to abyś zrozumiał ile czasu poświęciłem a to aby pokazać ludziom - tobie też i omówić ŁATWE, podkreślam ŁATWE dla człowieka, łatwe dla oka sposoby aby oceniać szybko czy transmisja jest ok.<br /><br />przecież tych swoich ZER ani nigdzie nie wyświetlisz za bardzo, ani jak ? no nie widzę nawet w tym kodzie jakiegoś sprawdzenia - a ty mi mówisz że nie działa.<br /><br />POMYŚL jeszcze raz proszę, zajrzyj też do książki .... czy nie prościej przesyłać sobie dla pierwszych testów po prostu łańcuchy znakowe ???? STRINGI ???? a to dlatego że można je od razu wyświetlić w całości i zobaczyć - poczuć czy to na terminalu, czy to na LCD itp itd zamiast tworzyć jakieś dodatkowe dziwne procedury sprawdzające czy paczka dziwnych danych binarnych doszła poprawnie, gdzie najczęściej jeszcze popełnia się 100 dodatkowych błędów w takiej procedurze sprawdzającej - czyli wprowadza do układu równań z 10 niewiadomymi jeszcze 100 dodatkowych niewiadomych.<br /><br />kurczę toż po co ja tworzyłem funkcję<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">my_receive_packet()</div><br /><br />no po co ? po to żebyś ty i każdy mógł jak najszybciej sobie właśnie taki string przesłać i zobaczyć, dodatkowo na płycie DVD dołączonej do książki w materiałach video z ćwiczeń masz nawet FILMIK<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />rfm70.avi<br /></div><br /><br />zobacz sobie pod koniec tego filmu - jak pokazuję transmisję pomiędzy terminalami .... i co ? jakieś binarki lecą ? nie !!! piękne stringi.<br /><br />Tylko nie mów proszę że ty tego nie możesz sprawdzić bo np nie masz przejściówki USB/RS232 albo układu MAX232 .... bo jeśli nie masz - to lepiej (bez urazy proszę) ale nawet nie bierz się za ćwiczenia z mikrokontrolerami.<br /><br />przejściówka USB/RS232 albo chociaż na MAX232<br /><br />jest jak:<br /><br /><span style="color: #0040FF"><strong>młotek </strong>dla szewca<br /><strong>nożyczki </strong>dla krawcowej<br />czy <strong>grzebień</strong> dla fryzjera</span><br /><br />proszę bardzo wyżej kolega wireless napisał ci nawet prostą linię:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">Send_Packet( W_TX_PAYLOAD_NOACK_CMD, &quot;nadajnik&quot;, 8)</div><br /><br />i co wysyła ??? jakieś dziwolągowate dane binarne ??? zera ??? nie - łańcuch tekstowy / string = &quot;nadajnik&quot;<br /><br />więc proszę przede wszystkim tak podejść do testowania komunikacji a od razu będzie milion kłopotów mniej dobrze ???<br /><br />i przepraszam, że może się trochę uniosłem - ale to nie na ciebie - tylko wręcz na samego siebie - że jakoś to moje ględzenie w książce niezbyt dobrze trafia do wszystkich - może jednak za słabo naciskałem na omówienie tej transmisji ASCII ...<br /><br />ale obiecuję poprawę - teraz rozpoczynam serię poradników VIDEO  w necie - i tam będę już wszystkich PIŁOWAŁ <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> jeśli chodzi o transmisję ASCII a nie durną w tym przypadku binarkę.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br /><div class="quotetitle">kamilson napisał(a):</div><div class="quotecontent"><br />Będę próbował dziś w wersji z odpytywaniem a jeśli nic z tego nie wyjdzie to pewnie się pofatyguje do sklepu po atmega32..<br /></div><br /><br />poczekaj poczekaj - bo zapomniałem że przecież kolega wireless już sobie poradził z tym zagadnieniem na mniejszych prockach i na szczęście też się tutaj udziela - więc myślę ze skorzystaj też szczególnie z jego porad i uda ci się także na tych prockach , które masz - ale zacznij od ASCII a nie przesyłania sobie stada dzikich zer ok ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ..... proszę<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 1 gru 2012, o 13:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wireless]]></name></author>
<updated>2012-12-01T13:07:24+01:00</updated>
<published>2012-12-01T13:07:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19854#p19854</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19854#p19854"/>
<title type="html"><![CDATA[Re: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19854#p19854"><![CDATA[
[syntax=c]<br />//odbiornik odbiera<br />len1 = Receive_Packet(rx_tmp);<br />if (len1 == 8) // odbieramy &quot;nadajnik&quot;<br />{<br />LED_OFF_NADAJNIK;<br />_delay_ms(100);<br />LED_ON_NADAJNIK;<br />_delay_ms(100);<br />}[/syntax]<br />tak jest w odbiorniku<br />gdzie<br />unsigned char rx_tmp[20];<br />uint8_t len1;<br /><br />w nadajniku wysyłam tak:<br />Send_Packet( W_TX_PAYLOAD_NOACK_CMD, &quot;nadajnik&quot;, 8)<br /><br />i to działa na atmega88<br />skoro nawet ja to uruchomiłem, to musisz to uruchomić na 8L, szkoda forsy i czasu na 32,<br />pokaż rfm70.h<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=380">wireless</a> — 1 gru 2012, o 13:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kamilson]]></name></author>
<updated>2012-12-01T11:46:50+01:00</updated>
<published>2012-12-01T11:46:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19852#p19852</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19852#p19852"/>
<title type="html"><![CDATA[Re: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19852#p19852"><![CDATA[
@mirekk36<br />W sensie tego bufora ps2_frame, jeśli to jest tablica globalna to powinny tam być zera... Jak widać w kodzie, stwierdzam że nie odbiera żadnych danych ponieważ nie zapala się dioda na PB0, a powinna się zapalić gdy procesor wejdzie w przerwanie INT1. Takie pytanie jeszcze... Jeśli ta funkcja Send_Packet zwraca 0 to powinienem mieć pewność że komunikacja z rfm70 jest poprawna?<br /><br />Niestety nie mam na stanie dwóch atmega32 żeby sprawdzić przykładowy program. Będę próbował dziś w wersji z odpytywaniem a jeśli nic z tego nie wyjdzie to pewnie się pofatyguje do sklepu po atmega32.<br /><br />@wireless<br />SPI jest programowe przy 12MHz więc wątpie żeby 8MHz clk było przekroczone...<br /><br />edit:<br />Napisałem coś takiego w dla nadajnika:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;string.h&gt;<br /><br />#include &quot;rfm70_lbr/rfm70.h&quot;<br /><br />uint8_t  buff[33] = &quot;abcdefghijklmnoprstowxyzabcdefgh&quot;;<br /><br />int main(void) {<br />DDRB |= (1&lt;&lt;PB0);<br />PORTB |= (1&lt;&lt;PB0);<br />soft_spi_init();<br />RFM70_Init();<br />sei();<br />while(1) {<br />if(Send_Packet( W_TX_PAYLOAD_NOACK_CMD, buff, 32)){<br />PORTB &amp;= ~(1&lt;&lt;PB0);<br />}<br />_delay_ms(25);<br />}<br />return 0;<br />}<br />[/syntax]<br />I coś takiego dla odbiornika:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;string.h&gt;<br /><br />#include &quot;rfm70_lbr/rfm70.h&quot;<br /><br />uint8_t  ps2_frame[33];<br /><br />int main(void) {<br />DDRB |= (1&lt;&lt;PB0);<br />PORTB &amp;= ~(1&lt;&lt;PB0);<br />soft_spi_init();<br />RFM70_Init();<br />sei();<br />while(1) {<br />if( SPI_Read_Reg(READ_REG|STATUS) &amp; STATUS_RX_DR ){<br />PORTB |= (1&lt;&lt;PB0);<br />}<br />_delay_ms(25);<br />}<br />}<br />[/syntax]<br />Efekt mnie niestety nie zaskoczył... W nadajniku dioda nie gaśnie, tzn że wysyłanie przebiega ponoć prawidłowo...<br />Natomiast w odpiorniku dioda się nie zaświeca więc nie zoastaje odebrana prawidłowa ramka...<br />A i dla pewności wszelkiej zmieniłem zegary w nadajniku i odbiorniku na 4MHz wewnętrzengo oscylatora.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=692">kamilson</a> — 1 gru 2012, o 11:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2012-12-01T01:19:45+01:00</updated>
<published>2012-12-01T01:19:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19835#p19835</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19835#p19835"/>
<title type="html"><![CDATA[Re: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19835#p19835"><![CDATA[
Zawsze trzeba patrzeć na źródła jeszcze <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />.<p>Statystyki: Napisane przez Gość — 1 gru 2012, o 01:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wireless]]></name></author>
<updated>2012-12-01T00:18:42+01:00</updated>
<published>2012-12-01T00:18:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19834#p19834</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19834#p19834"/>
<title type="html"><![CDATA[Re: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19834#p19834"><![CDATA[
<div class="quotetitle">rezasurmar napisał(a):</div><div class="quotecontent"><br />Przeglądał kolega biblioteki rmf70 od Mirka? 48linijka pliku rmf70.c<br /></div><br />no zdążyłem sie poprawić, ale to przez to, że w pierwszym przykladzie na rfm70 Mirek ustawił<br />kanały i wpuścił mnie w kanał  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=380">wireless</a> — 1 gru 2012, o 00:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2012-12-01T00:13:03+01:00</updated>
<published>2012-12-01T00:13:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19833#p19833</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19833#p19833"/>
<title type="html"><![CDATA[Re: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19833#p19833"><![CDATA[
Przeglądał kolega biblioteki rmf70 od Mirka? 48linijka pliku rmf70.c<p>Statystyki: Napisane przez Gość — 1 gru 2012, o 00:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wireless]]></name></author>
<updated>2012-11-30T23:39:31+01:00</updated>
<published>2012-11-30T23:39:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19832#p19832</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19832#p19832"/>
<title type="html"><![CDATA[Re: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19832#p19832"><![CDATA[
nie mogę znaleźć, gdzie ustawiasz kanały w nadajniku i odbiorniku,<br />ale może są w obu rfmach ustawione są te same domyślne i nie w tym tkwi błąd,<br />SPI rfm70 pracuje max na 8MHz, może to przyczyna, szkoda, że się na tym nie znam i zabieram głos  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=380">wireless</a> — 30 lis 2012, o 23:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-11-30T23:14:38+01:00</updated>
<published>2012-11-30T23:14:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19830#p19830</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19830#p19830"/>
<title type="html"><![CDATA[Re: atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19830#p19830"><![CDATA[
a teraz pytania i sugestie.<br /><br />1. wysyłasz niby jakieś tam dziwne ps2_frame[] a co w tej tablicy jest ? zastanowiłeś się  ? bo piszesz że nic nie działa a co to znaczy że nic nie działa ?<br /><br />2. spróbuj na początek odbierać w pollingu a nie na przerwaniach - po co sobie utrudniać życie jeśli jeszcze tego nie robiłeś wcześniej<br /><br />poza tym trudno mi to przeanalizować jak nie mogę na stole odpalić kodu i sprawdzać na żywym organizmie. Jeśli wciąż ci nie będzie wychodziło - to musisz niestety pokusić się o zestawienie tego dokładnie na dwóch prockach tak jak w ćwiczeniach (2x ATmega32) i sprawdzić sobie najpierw kod z DVD z książki żeby mieć w ogóle porównanie - wtedy zawsze łatwiej przerabiać gdy wiadomo czego można się spodziewać<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 lis 2012, o 23:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kamilson]]></name></author>
<updated>2012-11-30T19:42:50+01:00</updated>
<published>2012-11-30T19:42:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19823#p19823</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19823#p19823"/>
<title type="html"><![CDATA[atmega8, rfm70]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1857&amp;p=19823#p19823"><![CDATA[
Witam,<br /><br />Od kilku dni staram się uruchomić rfm70 z atmega8 ale narazie nic nie działa.<br /><br />Bazuje na bibliotekach od Pana Mirka a dokładniej programie służącym do przesyłania dzwięku, posiadam też tą zieloną książke. Ale do rzeczy...<br /><br />Po jednej stronie atmega8 po drugiej stronie atmega8L, używam także programowej obsługi spi (tak jak w bibliotekach na płycie załączonej<br />do książki), używam przerwania INT1 w atmega8, oba układy zasilane z USB z tym, że napiecie jakim zasilam układy to 3,6V(zastosowałem dwie diody impulsowe 1N4148 do obniżenie napięcia z 5V). Jeden układ pracuje z kwarcem 12MHz natomiast drugi z kwarcem 6MHz, różnica w częstotliwości taktowania wydaje mi się, że nie powinna mieć znaczenia. Sprawdziłem milion razy wszystkie połaczenia i wszystko jest dobrze. <br /><br />W bibliotekach nie zmieniałem nic poza tym że, wydzieliłem inicjalizacje spi oraz przerwania INT1. Sprawdziłem i przerwanie się wykonuje po nadejściu zbocza opadającego gdy rfm70 odłaczony. Sprawdziłem także i funkcja Send_Packet zwraca wartość 0 czyli tak jakby zapis danych do bufora rfm70 dochodziła do skutku. Natomiast nic nie dzieje się po drugiej stronie, tzn nie dochodzi do przerwania od INT1 gdy rfm70 podłaczony.<br /><br />Poniżej main.c nadajnika oraz odbiornika.<br />Nadajnik:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;string.h&gt;<br />#include &quot;rfm70_lbr/rfm70.h&quot;<br />uint8_t  ps2_frame[33];// podwojny bufor ramki<br />int main(void) {<br />DDRB |= (1&lt;&lt;PB0);<br />PORTB &amp;= ~(1&lt;&lt;PB0);<br />soft_spi_init();<br />intx_init();<br />RFM70_Init();<br />sei();<br />while(1) {<br />Send_Packet( W_TX_PAYLOAD_NOACK_CMD, ps2_frame, 32);<br />_delay_ms(25);<br />}<br />return 0;<br />}<br />[/syntax]<br />Odbiornik:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;string.h&gt;<br />#include &quot;rfm70_lbr/rfm70.h&quot;<br />void my_receive_packet( void * pBuf, uint8_t len );<br />uint8_t  ps2_frame[33];<br />int main(void) {<br />DDRB |= (1&lt;&lt;PB0);<br />PORTB &amp;= ~(1&lt;&lt;PB0);<br />soft_spi_init();<br />intx_init();<br />sei();<br />register_rfm70_rx_event_callback(my_receive_packet);<br />RFM70_Init();<br />while(1) {<br />RFM70_RX_EVENT();<br />_delay_ms(25);<br />}<br />}<br />// funkcja do analizy odebranych pakietow<br />void my_receive_packet( void * pBuf, uint8_t len ) {<br />memcpy(ps2_frame, pBuf, len);<br />}[/syntax]<br />soft_spi_init.c<br />[syntax=c]void soft_spi_init(void){<br /><br />SPI_DIR |= CE;<br />SPI_DIR |= CSN;<br />SPI_DIR |= SCK;<br />SPI_DIR &amp;= ~MISO;<br />SPI_DIR |= MOSI;<br /><br />SPI_PORT &amp;= ~CE;// CE  = 0;<br />SPI_PORT |= CSN;// CSN = 1;<br />SPI_PORT &amp;= ~SCK;// SCK = 0;<br />SPI_PORT &amp;= ~MOSI;// MOSI = 0;<br />}<br />[/syntax]<br />obsługa przerwania:<br />[syntax=c]void intx_init(void){<br />RF_IRQDDR &amp;= ~IRQ;<br />RF_IRQPORT |= IRQ;<br />GICR |= (1&lt;&lt;INT1);<br />MCUCR |= (1&lt;&lt;ISC11);<br />MCUCR&amp;= ~(1&lt;&lt;ISC10);// reakcja na zbocze opadajace<br />}<br /><br />volatile uint8_t rf70_rx_flag;<br /><br />ISR( INT1_vect ) {<br />register uint8_t value;<br />PORTB ^= (1&lt;&lt;PB0);  //zapal diode gdy nadejdzie zbocze opadajace<br />value = SPI_Read_Reg(READ_REG|STATUS);<br />if( (value &amp; STATUS_RX_DR) ) rf70_rx_flag = 1;<br />}[/syntax]<br /><br /><span style="color: #FF0000">[ przede wszystkim uwaga - proszę na przyszłość umieszczaj kody programów w znacznikach [ syntax = c ] zamiast [ code ], wyedytuj ten post i zobacz jak to jest poprawione teraz ok ? - mirekk36 ]</span><br /><br />Z góry dziekuje wszystkim za odpowiedzi.<br /><br />Pozdrawiam,<br />Kamil<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=692">kamilson</a> — 30 lis 2012, o 19:42</p><hr />
]]></content>
</entry>
</feed>