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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-04-28T18:58:34+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=30&amp;t=20600&amp;mode</id>
<entry>
<author><name><![CDATA[mczarny]]></name></author>
<updated>2018-04-28T18:58:34+01:00</updated>
<published>2018-04-28T18:58:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20600&amp;p=207246#p207246</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20600&amp;p=207246#p207246"/>
<title type="html"><![CDATA[Re: Karta mikroSD i biblioteka FATFS]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20600&amp;p=207246#p207246"><![CDATA[
<div class="quotetitle">tonygryps napisał(a):</div><div class="quotecontent"><br />Witam znalazłem przyczynę a właściwie to dwie przyczyny i chciałem się podzielić może komuś się przyda.<br />1) to Q1 BC807 to powinien być tranzystor unipolarny z kanałem typu p ja użyłem DMP2305U-7 ponieważ na bipolarnym miałem spadek napięcia na złączu kolektor emiter.<br />2) to nie potrzebnie zastosowałem bufor na linii miso .<br />I tu pytanie dla bardziej zaawansowanych ode mnie dlaczego  tak jest że bez bufora na linii miso działa świetnie a z buforem już nie?<br /></div><br /><br />Trochę to dziwne bo przecież na zestawie ATB jest właśnie tranzystor BC807....<br />Co do punktu drugiego to może masz coś jeszcze podłączone na tej linii?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4651">mczarny</a> — 28 kwi 2018, o 18:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tonygryps]]></name></author>
<updated>2018-04-27T18:01:57+01:00</updated>
<published>2018-04-27T18:01:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20600&amp;p=207216#p207216</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20600&amp;p=207216#p207216"/>
<title type="html"><![CDATA[Re: Karta mikroSD i biblioteka FATFS]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20600&amp;p=207216#p207216"><![CDATA[
Witam znalazłem przyczynę a właściwie to dwie przyczyny i chciałem się podzielić może komuś się przyda.<br />1) to Q1 BC807 to powinien być tranzystor unipolarny z kanałem typu p ja użyłem DMP2305U-7 ponieważ na bipolarnym miałem spadek napięcia na złączu kolektor emiter.<br />2) to nie potrzebnie zastosowałem bufor na linii miso .<br />I tu pytanie dla bardziej zaawansowanych ode mnie dlaczego  tak jest że bez bufora na linii miso działa świetnie a z buforem już nie?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12014">tonygryps</a> — 27 kwi 2018, o 18:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tonygryps]]></name></author>
<updated>2018-04-15T12:51:29+01:00</updated>
<published>2018-04-15T12:51:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20600&amp;p=206808#p206808</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20600&amp;p=206808#p206808"/>
<title type="html"><![CDATA[Re: Karta mikroSD i biblioteka FATFS]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20600&amp;p=206808#p206808"><![CDATA[
na zestawie 1.04b to działa po podłączeni tymi samymi przewodami mojego czytnika nie inicjalizuje się a mój czytnik na bibliotece PetitFS działa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12014">tonygryps</a> — 15 kwi 2018, o 12:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mczarny]]></name></author>
<updated>2018-04-15T12:46:45+01:00</updated>
<published>2018-04-15T12:46:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20600&amp;p=206807#p206807</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20600&amp;p=206807#p206807"/>
<title type="html"><![CDATA[Re: Karta mikroSD i biblioteka FATFS]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20600&amp;p=206807#p206807"><![CDATA[
cześć<br />Jedyne co mi przychodzi do głowy to to, że w bibliotece sprawdzasz obecność karty w slocie i dopiero włączasz jej zasilanie.<br />Jeżeli nie badasz obecności karty w swoim układzie to program dalej nie ruszy bo czeka na włożenie karty. Jak testowałem po raz pierwszy bibliotekę to pominąłem linie sprawdzające obecność karty jak i włączanie zasilania.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4651">mczarny</a> — 15 kwi 2018, o 12:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tonygryps]]></name></author>
<updated>2018-04-15T12:40:40+01:00</updated>
<published>2018-04-15T12:40:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20600&amp;p=206806#p206806</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20600&amp;p=206806#p206806"/>
<title type="html"><![CDATA[Karta mikroSD i biblioteka FATFS]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20600&amp;p=206806#p206806"><![CDATA[
Witam mam taki problem otóż w pewnym  projekcie potrzebuje użyć zapisu na kartę mikro sd i postanowiłem użyć do tego celu biblioteki FATFS napisałem prosty kod testowy i na zestawie 1.04b wszystko działa ale po podpięciu mojego czytnika karta nie chcę się inicjalizować dodam że czytnik sprawdzałem i jest sprawny bo działa przy użyciu  biblioteki PetitFS schemat czytnika nie różni się bardzo od tego w zestawie atb.<br />  <br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;avr/delay.h&gt;<br /><br />#include &quot;FatFS/ff.h&quot;<br />#include &quot;FatFS/diskio.h&quot;<br />#include &quot;FatFS/rtc.h&quot;<br /><br />#include &quot;LCD/lcd44780.h&quot;<br /><br /><br />#define SDP (1&lt;&lt;PB0)<br />#define SD_ON PORTB &amp;= ~SDP<br />#define SD_OFF PORTB |= SDP<br />#define SDP_DIR DDRB<br /><br />#define CD (1&lt;&lt;PB2)<br />#define CD_PIN PINB<br />#define SD_SLOT_EMPTY (CD_PIN &amp; CD)<br /><br /><br />DWORD acc_size;/* Work register for fs command */<br />WORD acc_files, acc_dirs;<br />FILINFO Finfo;<br />#if _USE_LFN<br />char Lfname&#91;_MAX_LFN+1&#93;;<br />#endif<br /><br /><br />//char Line&#91;128&#93;;/* Console input buffer */<br /><br />FATFS Fatfs;/* File system object for each logical drive */<br />//BYTE Buff&#91;256&#93;;/* Working buffer */<br />uint8_t buf&#91;256&#93;;<br /><br />volatile WORD Timer;/* 100Hz increment timer */<br />volatile uint8_t timer;<br /><br /><br /><br />#if _MULTI_PARTITION != 0<br />const PARTITION Drives&#91;&#93; = { {0,0}, {0,1} };<br />#endif<br /><br />/*---------------------------------------------------------*/<br />/* 100Hz timer interrupt generated by OC2                  */<br />/*---------------------------------------------------------*/<br /><br /><br />ISR(TIMER2_COMP_vect)<br />{<br />static uint8_t m;<br />m = timer;<br />if(m) timer = --m;<br />Timer++;/* Performance counter for this module */<br />disk_timerproc();/* Drive timer procedure of low level disk I/O module */<br />}<br /><br /><br /><br />/*---------------------------------------------------------*/<br />/* User Provided Timer Function for FatFs module           */<br />/*---------------------------------------------------------*/<br />/* This is a real time clock service to be called from     */<br />/* FatFs module. Any valid time must be returned even if   */<br />/* the system does not support a real time clock.          */<br />/* This is not required in read-only configuration.        */<br /><br /><br />DWORD get_fattime ()<br />{<br />static RTC rtc;<br /><br /><br />/* Get local time */<br />//rtc_gettime(&amp;rtc);<br />rtc.year = 2010;<br />rtc.month = 10;<br />rtc.mday = 21;<br />rtc.hour = 17;<br />rtc.min = 45;<br />rtc.sec = 0;<br /><br /><br />/* Pack date and time into a DWORD variable */<br />return  ((DWORD)(rtc.year - 1980) &lt;&lt; 25)<br />| ((DWORD)rtc.month &lt;&lt; 21)<br />| ((DWORD)rtc.mday &lt;&lt; 16)<br />| ((DWORD)rtc.hour &lt;&lt; 11)<br />| ((DWORD)rtc.min &lt;&lt; 5)<br />| ((DWORD)rtc.sec &gt;&gt; 1);<br />}<br /><br /><br />/*--------------------------------------------------------------------------*/<br /><br /><br /><br /><br /><br />static<br />void IoInit ()<br />{<br />//PORTA = 0b11111111;// Port A<br /><br />PORTB = 0b11111111; // Port B<br />DDRB  = 0b10000001;<br /><br /><br />TCCR2 |= (1&lt;&lt;WGM21);<br />OCR2 = (F_CPU/1024UL/100UL);<br />TCCR2 |= (1&lt;&lt;CS22)|(1&lt;&lt;CS21)|(1&lt;&lt;CS20);<br />TIMSK |= (1&lt;&lt;OCIE2);<br /><br />//rtc_init();// Initialize RTC<br /><br />sei();<br />}<br /><br />void sd_pwr( uint8_t OnOff ) {<br />if(OnOff) {<br />SD_ON;<br />PORTB |= (1&lt;&lt;PB4);<br />PORTB |= (1&lt;&lt;PB6); // podciągamy wejcie MISO do VCC<br />SPCR |= (1&lt;&lt;SPE)|(1&lt;&lt;MSTR);<br />_delay_ms(150);<br />//disk_initialize(0);<br />} else {<br />SPCR &amp;= ~(1&lt;&lt;SPE);<br />PORTB &amp;= ~((1&lt;&lt;PB7)|(1&lt;&lt;PB6)|(1&lt;&lt;PB5));<br />SD_OFF;<br />_delay_ms(150);<br /><br />}<br />}<br /><br /><br />/*-----------------------------------------------------------------------*/<br />/* Main                                                                  */<br /><br /><br />int main (void)<br />{<br />//DDRA |= (1&lt;&lt;PA7);<br />//PORTA |= (1&lt;&lt;PA7);<br /><br />lcd_init();<br />lcd_LED(1);<br />lcd_str(&quot;start&quot;);<br /><br /><br />UINT s1;//, s2, cnt;<br /><br />RTC rtc;<br /><br />rtc.year = 2010;<br />rtc.month = 10;<br />rtc.mday = 21;<br />rtc.hour = 17;<br />rtc.min = 45;<br />rtc.sec = 0;<br /><br />//FATFS *fs;<br />DIR dir;/* Directory object */<br />FIL file1;//, file2;/* File object */<br /><br /><br />IoInit();<br /><br />#if _USE_LFN<br />Finfo.lfname = Lfname;<br />Finfo.lfsize = sizeof(Lfname);<br />#endif<br /><br /><br />#define SCK PB7<br />#define MISO PB6<br />#define MOSI PB5<br />#define CS PB4<br /><br /><br />DDRB |= (1&lt;&lt;CS)|(1&lt;&lt;MOSI)|(1&lt;&lt;SCK);<br />PORTB |= (1&lt;&lt;CS);<br />PORTB |= (1&lt;&lt;MISO); // podciągamy wejcie MISO do VCC<br /><br />SPCR |= (1&lt;&lt;SPE)|(1&lt;&lt;MSTR);<br /><br />uint8_t j = 0;<br /><br />while(1){<br /><br />sd_pwr(0);// wyłączamy zasilanie karty SD<br />if( SD_SLOT_EMPTY ){<br />//wdt_reset();<br />continue;// jeśli karta niewykryta powrót na początek while(1)<br />}<br />//_delay_ms(1300);<br />sd_pwr(1);<br /><br /><br />_delay_ms(150);<br />lcd_int(disk_initialize(0));<br />_delay_ms(150);<br />lcd_str(&quot; &quot;);<br />lcd_int(f_mount(0, &amp;Fatfs));<br />lcd_str(&quot; &quot;);<br />//lcd_int(f_readdir(&amp;dir, &amp;Finfo));<br />lcd_int(f_opendir(&amp;dir, &quot;&quot;));<br />lcd_str(&quot; &quot;);<br />lcd_int((f_readdir(&amp;dir, &amp;Finfo))&amp;&amp; Finfo.fname&#91;0&#93;);<br />lcd_str(&quot; &quot;);<br />lcd_str(Finfo.fname );<br />lcd_int(f_open(&amp;file1, Finfo.fname, FA_READ));<br />lcd_str(&quot; &quot;);<br />lcd_int(f_lseek(&amp;file1,j++));<br />lcd_str(&quot; &quot;);<br />lcd_int(f_read(&amp;file1,&amp;buf&#91;0&#93;,64 , &amp;s1));<br />lcd_str(&quot; &quot;);<br />_delay_ms(1000);<br />lcd_cls();<br />for(uint8_t i = 0; i&lt;64; i++){<br />lcd_int(buf&#91;i&#93;);<br />lcd_str(&quot; &quot;);<br />_delay_ms(100);<br />}<br /><br /><br />_delay_ms(1300);<br /><br /><br />}<br /><br /><br /><br />}[/syntax]  <br /><br /><a href="https://obrazkiforum.atnel.pl/12014/61b59e5724079a82f5b013f6541c7194.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/12014/61b59e5724079a82f5b013f6541c7194.jpg" alt="Obrazek" /></a><br /><br /><br /><br />może trzeba coś w bibliotece przestawić proszę o jakiekolwiek sugestię co może być nie tak.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12014">tonygryps</a> — 15 kwi 2018, o 12:40</p><hr />
]]></content>
</entry>
</feed>