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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-04-03T19:39:54+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=18015&amp;mode</id>
<entry>
<author><name><![CDATA[henryxxl]]></name></author>
<updated>2017-04-03T19:39:54+01:00</updated>
<published>2017-04-03T19:39:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=186274#p186274</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=186274#p186274"/>
<title type="html"><![CDATA[Re: Odczyt Sd]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=186274#p186274"><![CDATA[
W jaki sposób wstawić numer w funkcję send_at z YB?<br />taki sposób nie działa bo nie wysyłka znaku &quot; przed i po numerze. w jaki sposób można go dodać?<br />[syntax=c]send_at( _at_cmgs,NULL, kontakty&#91;0&#93;, 10000 );[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=639">henryxxl</a> — 3 kwi 2017, o 19:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[henryxxl]]></name></author>
<updated>2017-04-03T15:13:26+01:00</updated>
<published>2017-04-03T15:13:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=186255#p186255</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=186255#p186255"/>
<title type="html"><![CDATA[Re: Odczyt Sd]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=186255#p186255"><![CDATA[
Chodzi mi tylko o odczyt a zapisuje kontakty na komputerze <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=639">henryxxl</a> — 3 kwi 2017, o 15:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[henryxxl]]></name></author>
<updated>2017-04-02T19:53:32+01:00</updated>
<published>2017-04-02T19:53:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=186218#p186218</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=186218#p186218"/>
<title type="html"><![CDATA[Re: Odczyt Sd]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=186218#p186218"><![CDATA[
Chcę zrobić na karcie sd zapis numerów kontaktów ale nie bardzo działa mój kod. Dostaję błedne odczyty jak po raz drugi odczytuję karte. Może ktoś posiada inne rozwiązanie? Proszę o odpowiedź poniważ ostatnio zauważyłem że nie bardzo chcą tu ludzie pomogac.<br />plik txt<br />[syntax=c]123456789<br />987654321<br />000000000<br />111111111<br />222222222<br />333333333<br />444444444<br />555555555<br />666666666<br />777777777<br />888888888<br />999999999<br />aaaaaaaaa<br />bbbbbbbbb<br />ccccccccc<br />ddddddddd<br />eeeeeeeee<br />fffffffff<br />ggggggggg<br />hhhhhhhhh<br />iiiiiiiii<br />jjjjjjjjj<br />kkkkkkkkk<br />ooooooooo<br />ppppppppp<br />rrrrrrrrr<br />sssssssss<br />ttttttttt<br />uuuuuuuuu<br />wwwwwwwww<br />zzzzzzzzz<br />qqqqqqqqq<br />yyyyyyyyy[/syntax]<br />program:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;PetitFS/diskio.h&quot;<br />#include &quot;PetitFS/pff.h&quot;<br /><br />#include &quot;LCD/lcd44780.h&quot;<br /><br />char file_name&#91;&#93; = &quot;numery.txt&quot;;<br />char bufor&#91;100&#93;;<br /><br />/*-----------------------------------------------------------------------*/<br />/* Main                                                                  */<br />int main(void) {<br />DDRA |= (1 &lt;&lt; PA7);<br />PORTA |= (1 &lt;&lt; PA7); /* podświetlenie wyświetlacza LCD */<br /><br />BYTE res;<br />WORD s1;<br /><br />FATFS fs; /* File system object */<br />//DIR dir;/* Directory object */<br />//FILINFO fno;/* File information */<br /><br />#define SCK PB7<br />#define MISO PB6<br />#define MOSI PB5<br />#define CS PB4<br />DDRB |= (1 &lt;&lt; CS) | (1 &lt;&lt; MOSI) | (1 &lt;&lt; SCK) | (1 &lt;&lt; CS);<br />PORTB |= (1 &lt;&lt; CS) | (1 &lt;&lt; MISO);<br />SPCR |= (1 &lt;&lt; SPE) | (1 &lt;&lt; MSTR);<br /><br />lcd_init();<br /><br />lcd_str(&quot;odczyt: test.txt&quot;);<br />lcd_locate(1, 0);<br /><br />_delay_ms(100);<br /><br />uint8_t i = 255;  // zmienna odpowiedzialna za timeout<br />// dokonujemy wielokrotnej próby inicjalizacji karty<br />while (i-- &amp;&amp; (res = disk_initialize()))<br />;<br /><br />if (res == FR_OK) {<br />res = pf_mount(&amp;fs);<br />if (res == FR_OK) {<br />res = pf_open(file_name);<br />uint16_t i = 0;<br />if (res == FR_OK) {<br /><br />do {<br />res = pf_read(bufor, sizeof(bufor), &amp;s1);<br /><br />pf_lseek(100);<br />i++;<br />lcd_locate(1, 1);<br />lcd_int(i);<br />char korektor&#91;&#93; = &quot;\n&quot;;  //  \n<br />char * schowek;<br />schowek = strtok(bufor, korektor);<br /><br />while (schowek != NULL) {<br /><br />lcd_locate(0, 0);<br />lcd_str(schowek);<br />_delay_ms(200);<br />_delay_ms(200);<br />_delay_ms(200);<br />_delay_ms(200);<br />_delay_ms(200);<br />_delay_ms(200);<br />schowek = strtok(NULL, korektor);<br /><br />}<br /><br />} while (!(s1 &lt; 100));<br /><br />if (res == FR_OK) {<br />bufor&#91;s1 + 1&#93; = 0;<br />//lcd_str(bufor);<br /><br />//_delay_ms(3000);<br /><br /><br />s1 = 4;<br />//res = pf_write(bufor, sizeof(bufor), &amp;s1);<br />write_close();<br /><br />pf_mount(NULL);<br /><br />} else<br />lcd_str(&quot;read error&quot;);<br /><br />} else<br />lcd_str(&quot;opern file error&quot;);<br />} else<br />lcd_str(&quot;mount error&quot;);<br />} else<br />lcd_str(&quot;disk init error&quot;);<br /><br />while (1)<br />;<br /><br />}[/syntax]<br />edit<br />Napisałem w taki sposób program:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;PetitFS/diskio.h&quot;<br />#include &quot;PetitFS/pff.h&quot;<br /><br />#include &quot;LCD/lcd44780.h&quot;<br /><br />char file_name&#91;&#93; = &quot;numery.txt&quot;;<br />char bufor&#91;512&#93;;<br />char *kontakty&#91;70&#93;;<br />/*-----------------------------------------------------------------------*/<br />/* Main                                                                  */<br />int main(void) {<br />DDRA |= (1 &lt;&lt; PA7);<br />PORTA |= (1 &lt;&lt; PA7); /* podświetlenie wyświetlacza LCD */<br /><br />BYTE res;<br />WORD s1;<br /><br />FATFS fs; /* File system object */<br />//DIR dir;/* Directory object */<br />//FILINFO fno;/* File information */<br /><br />#define SCK PB7<br />#define MISO PB6<br />#define MOSI PB5<br />#define CS PB4<br />DDRB |= (1 &lt;&lt; CS) | (1 &lt;&lt; MOSI) | (1 &lt;&lt; SCK) | (1 &lt;&lt; CS);<br />PORTB |= (1 &lt;&lt; CS) | (1 &lt;&lt; MISO);<br />SPCR |= (1 &lt;&lt; SPE) | (1 &lt;&lt; MSTR);<br /><br />lcd_init();<br /><br />lcd_str(&quot;odczyt: test.txt&quot;);<br />lcd_locate(1, 0);<br /><br />_delay_ms(100);<br /><br />uint8_t i = 255;  // zmienna odpowiedzialna za timeout<br />// dokonujemy wielokrotnej próby inicjalizacji karty<br />while (i-- &amp;&amp; (res = disk_initialize()))<br />;<br /><br />if (res == FR_OK) {<br />res = pf_mount(&amp;fs);<br />if (res == FR_OK) {<br />res = pf_open(file_name);<br />uint16_t i = 0;<br />if (res == FR_OK) {<br /><br /><br />res = pf_read(bufor, sizeof(bufor), &amp;s1);<br />lcd_locate(1,1);<br /><br /><br />char korektor&#91;&#93; = &quot;\n&quot;;  //  \n<br />char * schowek;<br />schowek = strtok(bufor, korektor);<br />uint8_t ilosc_numerow=1;<br />kontakty&#91;0&#93;=schowek;<br />while (schowek != NULL )<br />{<br /><br />lcd_locate(0,0);<br />lcd_str( schowek);<br />kontakty&#91;ilosc_numerow&#93;=schowek;<br /><br />ilosc_numerow++;<br />schowek = strtok(NULL, korektor);<br /><br /><br /><br />}<br /><br />lcd_locate(1,1);<br />lcd_str(kontakty&#91;33&#93;);<br /><br /><br /><br />if (res == FR_OK) {<br />bufor&#91;s1 + 1&#93; = 0;<br />//lcd_str(bufor);<br /><br />//_delay_ms(3000);<br /><br /><br />s1 = 4;<br />//res = pf_write(bufor, sizeof(bufor), &amp;s1);<br />write_close();<br /><br />pf_mount(NULL);<br /><br />} else<br />lcd_str(&quot;read error&quot;);<br /><br />} else<br />lcd_str(&quot;opern file error&quot;);<br />} else<br />lcd_str(&quot;mount error&quot;);<br />} else<br />lcd_str(&quot;disk init error&quot;);<br /><br />while (1)<br />;<br /><br />}[/syntax]<br />Co myślicie o takim rozwiązaniu?<br />Zastanawiam się w jaki sposób mogę powiększyć liczbę kontaktów?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=639">henryxxl</a> — 2 kwi 2017, o 19:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[henryxxl]]></name></author>
<updated>2017-03-31T20:21:55+01:00</updated>
<published>2017-03-31T20:21:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=186092#p186092</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=186092#p186092"/>
<title type="html"><![CDATA[Re: Odczyt Sd]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=186092#p186092"><![CDATA[
dziękuję za pomoc, zabieram się za czytanie;)<br />Czekam także na kolejne pomysły;)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=639">henryxxl</a> — 31 mar 2017, o 20:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mczarny]]></name></author>
<updated>2017-03-30T08:29:36+01:00</updated>
<published>2017-03-30T08:29:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=185918#p185918</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=185918#p185918"/>
<title type="html"><![CDATA[Re: Odczyt Sd]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=185918#p185918"><![CDATA[
W GB w rozdziale o wyświetlaczach TFT P.Mirek wykorzystuje kartę do przechowywania np.fontów i odczyt tych plików.<br />Może tam znajdziesz odpowiedź na swoje pytanie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4651">mczarny</a> — 30 mar 2017, o 08:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[henryxxl]]></name></author>
<updated>2017-03-29T20:49:07+01:00</updated>
<published>2017-03-29T20:49:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=185887#p185887</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=185887#p185887"/>
<title type="html"><![CDATA[Odczyt Sd]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18015&amp;p=185887#p185887"><![CDATA[
Witam.<br />Właśnie uruchomiłem odczyt karty z bluebook ale chcę wykorzystać kartę jako bazę danych otóż chce w pliku zapisywać pewne ustawienia i je odczytywać a pytanie moje brzmi w jaki sposób? Mam pomysł aby zapisywać dane i kończyć je znakiem enter aby oddzielać ustawienia. Poproszę o pomoc w doboru rozwiązania. Mam bb, Gb i Yb może w którymś rozdziale jest coś takiego tylko to przeoczyłem?<br />Oto jak wygląda mój zamysł pliku txt, każda liczba odpowiada za ustawienie.<br />[syntax=c]403<br />44<br />434<br />332<br />217<br />121<br />121[/syntax]<br />Pozdrawiam<br />edit<br />Najprościej wydaje się odczyt danych do bufora a potem dzielenie ich ale to jest rozwiązanie bardzo słabe bo zabraknie mi pamięci w atmega <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=639">henryxxl</a> — 29 mar 2017, o 20:49</p><hr />
]]></content>
</entry>
</feed>