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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-04-20T18:49:52+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=11412&amp;mode</id>
<entry>
<author><name><![CDATA[Schredis]]></name></author>
<updated>2015-04-20T18:49:52+01:00</updated>
<published>2015-04-20T18:49:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11412&amp;p=127036#p127036</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11412&amp;p=127036#p127036"/>
<title type="html"><![CDATA[Re: PetitFS - pf_mount() zwraca błąd]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11412&amp;p=127036#p127036"><![CDATA[
Osobiście po wielu nocach nad petitem, wydałem 8pln na atmege32 i wsadziłem tam zwykłego petita przy którym wszystkie problemy znikają. Ja co prawda miałem zapis, który jest bardziej problematyczny.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6645">Schredis</a> — 20 kwi 2015, o 18:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atlantis]]></name></author>
<updated>2015-04-17T20:38:54+01:00</updated>
<published>2015-04-17T20:38:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11412&amp;p=126795#p126795</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11412&amp;p=126795#p126795"/>
<title type="html"><![CDATA[PetitFS - pf_mount() zwraca błąd]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11412&amp;p=126795#p126795"><![CDATA[
Próbuję umieścić w jednym ze swoich projektów funkcję generowania komunikatów głosowych. W tym celu chcę wykorzystać odtwarzanie plików *.wav z karty micro SD. Zlutowałem już płytkę, teraz próbuję napisać soft.<br /><br />Biblioteka PetitFS w wersji &quot;pożyczonej&quot; z GreenBooka (drugie wydanie).<br />Kod wygląda następująco:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />#include &quot;MK_USART/mkuart.h&quot;<br />#include &quot;PetitFS/diskio.h&quot;<br />#include &quot;PetitFS/pff.h&quot;<br /><br />#define SCK PB7<br />#define MOSI PB5<br />#define MISO PB6<br />#define CS PB4<br /><br />#define LED_ON PORTC |= (1 &lt;&lt; PC0)<br />#define LED_OFF PORTC &amp;= ~(1 &lt;&lt; PC0)<br /><br />FATFS fs;<br /><br /><br />int main(void)<br />{<br />uint8_t result;<br /><br />DDRA = 0xFF;<br />PORTA = 0x00;<br /><br />DDRC |= (1 &lt;&lt; PC0); //Debug LED<br /><br />// init SPI<br />DDRB |= (1&lt;&lt;CS)|(1&lt;&lt;MOSI)|(1&lt;&lt;SCK)|(1&lt;&lt;CS);<br />PORTB |= (1&lt;&lt;CS);<br />SPCR |= (1&lt;&lt;SPE)|(1&lt;&lt;MSTR);<br />SPSR |= (1&lt;&lt;SPI2X);<br /><br />USART_Init(__UBRR);<br /><br />sei();<br /><br />_delay_ms(50);<br /><br />if ( (result = disk_initialize()) ) {<br />uart_puts_P(PSTR(&quot;ERROR: SD card initialization\r\n&quot;));<br />uart_puts_P(PSTR(&quot;Error number is: &quot;));<br />uart_putint(result, 10);<br />uart_puts_P(PSTR(&quot;\r\n&quot;));<br />}<br />else {<br />uart_puts_P(PSTR(&quot;SD card initialized\r\n&quot;));<br />}<br /><br />if ( (result = pf_mount(&amp;fs)) ) {<br />uart_puts_P(PSTR(&quot;ERROR: FS mount\r\n&quot;));<br />uart_puts_P(PSTR(&quot;Error number is: &quot;));<br />uart_putint(result, 10);<br />uart_puts_P(PSTR(&quot;\r\n&quot;));<br />}<br />else {<br />uart_puts_P(PSTR(&quot;File system mounted\r\n&quot;));<br />}<br /><br /><br /><br />    while(1)<br />    {<br /><br />    }<br />}[/syntax]<br /><br />Na razie chciałem tylko zainicjować kartę i zamontować FS, zanim przejdę dalej.<br />Niestety z niewiadomego mi powodu nie przechodzi funkcje pf_mount() - zwraca ona wartość 7, a więc FR_NO_FILESYSTEM.<br />Karta jest sformatowana pod FAT (próbowałem też FAT32) i jest na niej jeden katalog, a w nim kilka plików.<br />Co może być powodem takiego stanu rzeczy?<br /><br />Od strony sprzętowej wygląda to tak, że MCU (Atmega16) jest zasilany napięciem 3,3V. Połączenia z kartą są wykonane bezpośrednio, a linia CS jest podciągnięta do plusa rezystorem 4,7k. Mikrokontroler jest taktowany zewnętrznym kwarcem 11.0592 MHz.<br />Nie podłączyłem pinu odpowiedzialnego za wykrywanie obecności karty, a więc inicjację i montowanie przeprowadzam na początku. Karta nie będzie nigdy wyjmowana podczas pracy układu.<br /><br />W ramach ciekawostki mogę dodać, że w roli DAC wykorzystywał będę drabinkę rezystorową, a nie PWM.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2174">Atlantis</a> — 17 kwi 2015, o 20:38</p><hr />
]]></content>
</entry>
</feed>