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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-11-09T19:18:46+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=16775&amp;mode</id>
<entry>
<author><name><![CDATA[jeff160490]]></name></author>
<updated>2016-11-09T19:18:46+01:00</updated>
<published>2016-11-09T19:18:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16775&amp;p=174270#p174270</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16775&amp;p=174270#p174270"/>
<title type="html"><![CDATA[PetitFS problem odczytu pomimo pozytywnego wykonania pf_open]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16775&amp;p=174270#p174270"><![CDATA[
Witam, po długich bojach z petitem udało mi się dobrnąć do funkcji pf_read, która zwraca niestety FR_NOT_OPENED. Funkcje pf_mount oraz pf_open() zwracaja FR_OK.<br />Poniżej kod:<br /><br />[syntax=c]void main()<br />{<br />FATFS fs;          /* Work area (file system object) for the volume */<br />BYTE buff&#91;16&#93;;     /* File read buffer */<br />UINT br;           /* File read count */<br />FRESULT res;       /* Petit FatFs function common result code */<br /><br /><br />DDRC|=(1&lt;&lt;PC2);<br />PORTC|=(1&lt;&lt;PC2);<br /><br />I2S_GENERATOR_INIT();<br />SPI_INIT();<br />//SD_CARD_INIT();<br />//sei();<br />/* Mount the volume */<br /><br />    res=pf_mount(&amp;fs);<br /><br /><br />    res=pf_open(&quot;TEST.TXT&quot;);<br />    if(res==FR_OK)<br />    {<br />    PORTC&amp;=~(1&lt;&lt;PC2);<br />    _delay_ms(2000);<br />    }<br /><br /><br />    res = pf_read(buff, 16, &amp;br);    /* Read data to the buff&#91;&#93; */<br />       if(res==FR_NOT_OPENED )<br />       {<br />       while(1)<br />       {<br />       PORTC&amp;=~(1&lt;&lt;PC2);<br />             _delay_ms(50);<br />             PORTC|=(1&lt;&lt;PC2);<br />           _delay_ms(50);<br />       }<br />       }<br />}[/syntax]<br /><br />Zauważyłem że na końcu funkcji pf_open ustawiana jest flaga otwarcia pliku. Niestety kiedy w funkcji pf_read na samym poczatku sprawdzam stan tej flagi, to nie jest ona równa FA_OPENED co do prowadza do zwrócenia wartości FR_NOT_OPENED przez funkcje pf_open().<br />[syntax=c]...<br /> fs-&gt;flag = FA_OPENED;<br /><br />return FR_OK;<br />}[/syntax]<br /><br />Proszę o wskazówkę <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=10521">jeff160490</a> — 9 lis 2016, o 19:18</p><hr />
]]></content>
</entry>
</feed>