FAT16 za 8051

P

pratish86

Guest
Rabim program za datotečni sistem FAT16 morebiti (v jeziku c) za MMC kartico (512 MB) z cygnal 8051 f040 ... cn ne 1 pls pomoč mi .. je THR ne tak kodeks lahko dostopne?

 
FAT16/32 datotečni sistem voznikVir datoteke
http://hubbard.engr.scu.edu/embedded/avr/avrlib/docs/html/fat_8c.html
Glava datoteke
http://hubbard.engr.scu.edu/embedded/avr/avrlib/docs/html/fat_8h.html

Pisano je za AVR, vendar lahko pristanišča 8051 enostavno

 
hej Hvala ...vendar bfore delaš THT i thnk i treba HAV idejo o programiranju MMC uporabo SPI vmesnik lahko dajo u sm povezav whch bom dala vzorec programi za pisanje n obravnavi podatkov o mmc?

 
Multimedia Card Pinout

http://www.interfacebus.com/Multi_Media_Card_Pinout_MMC.htmlPrenosni MP3 Player

http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2000/peterdan/final.htm

 
hey pls check dis program sem našel svoje .. ne .. wrking pravilno tudi, da samo prenosi 1 char .. wht če sem že za prenos strune .. m cygnal ide z uporabo programske opreme./ / Uporabe SPI_Transfer funkcijo za pošiljanje in prejemanje informacij/ / Preko SPI p [ins.
Kot informacije poslane, napredek/ / Program je poslala preko UART, ki jih je treba spremljati.

//------------------------------------------------ -----------------------------/ / Vključuje//------------------------------------------------ -----------------------------
# vključujejo <c8051f040.h> / / SFR izjave# vključujejo <stdio.h> / / standard I / O

sbit MOSI = P0 ^ 0; / / Out Master / Slave V (output)sbit Mišo P0 ^ = 1; / / V Master / Slave Out (input)sbit SCK = P0 ^ 2; / / Serial Clock (output)sbit NSS = P0 ^ 3; / / Slave Izberite (izhod na čipu izberite)

//------------------------------------------------ -----------------------------/ / 16-bitni SFR Opredelitve//------------------------------------------------ -----------------------------
sfr16 RP = 0x82; / /

data kazalecsfr16 TMR2RL = 0xca; / / Timer2 ponovne vrednostsfr16 TMR2 = 0xcc; / / Timer2 countersfr16 PCA0CP1 = 0xe9; / / PCA0 Modul 1 Slikaj / Primerjajsfr16 PCA0CP2 = 0xeb; / / PCA0 Modul 2 Slikaj / Primerjajsfr16 PCA0 = 0xf9; / / PCA0 countersfr16 PCA0CP0 = 0xfb; / / PCA0 Modul 0 Slikaj / Primerjaj
//------------------------------------------------ -----------------------------/ / Global konstant//------------------------------------------------ -----------------------------
# define SYSCLK 24500000 / / SYSCLK frekvence v Hz# define BAUDRATE 115200 / / Baud stopnja UART v bps
//------------------------------------------------ -----------------------------/ / Funkcija prototipov//------------------------------------------------ -----------------------------
PORT_Init neveljaven (ničen); / / Port / I konfiguracijaSYSCLK_Init neveljaven (ničen); / / SYSCLK InitializationUART0_Init neveljaven (ničen); / / UART0 Initialization
extern char SPI_Transfer (char); / / SPI Prenos rutinskih
char SPI_Transfer (char SPI_byte)(nepotpisani char SPI_count; / / števec za SPI transakcija
za (SPI_count = 8; SPI_count> 0; SPI_count -) / /

enojni bajt SPI zanka(MOSI = SPI_byte & 0x80; / / dana trenutne odhodne bit na MOSISPI_byte = SPI_byte <<1; / / prehod v naslednji bit MSB
SCK = 0x01; / / nastavite SCK visoko
SPI_byte | = Mišo; / / zajemanje trenutnih bit na Mišo
SCK = 0x00; / / nastavite SCK nizko)
vrnitev (SPI_byte);
) / / END SPI_Transfer
//------------------------------------------------ -----------------------------/ / Global SPREMENLJIVKE//------------------------------------------------ -----------------------------

//------------------------------------------------ -----------------------------/ / Glavni potprogram//------------------------------------------------ -----------------------------
neveljaven glavne (ničen) (
nepotpisani char test_counter, SPI_return; / / uporabiti za preskus SPI rutinsko
/ / Disable Watchdog časovnikPCA0MD & = ~ 0x40; / / WDTE = 0 (jasno varuh časovnik/ / Omogoči)
SYSCLK_Init (); / / inicializirati oscilatorPORT_Init (); / / inicializirati pristanišč in GPIOUART0_Init (); / / inicializirati UART0EA = 1; / / omogočajo globalne prekinja
medtem ko (1)(za (test_counter = 0; test_counter <= 0xFF; test_counter )(
NSS = 0x00; / /

select SPI Slave naprave
SPI_return = SPI_Transfer (test_counter); / / pošiljanje / prejemanje SPI bajt
NSS = 0x01; / / odznači SPI Slave naprave
printf ( "\ nSPI Out = 0x% 02X, SPI V = 0x% 02X", (nepodpisanih) test_counter,(nepodpisanih) SPI_return);/ / Pošiljanje podatkov, da SPI UART/ / Za namene preverjanja)))
//------------------------------------------------ -----------------------------/ / Initialization potprograme//------------------------------------------------ -----------------------------
//------------------------------------------------ -----------------------------/ / PORT_Init//------------------------------------------------ -----------------------------/ // / Nastavitev prečko in GPIO pristaniščih./ / P0.0 - UART TX (push-pull)/ / P0.1 - UART RX/ / P0.2 - MOSI (push-pull)/ / P0.3 - Mišo/ / P0.4 - SCK (push-pull)/ / P0.5 - NSS (push-pull)/ / P0.6 --/ / P0.7 --/ /PORT_Init neveljaven (ničen)(XBR0 = 0x0F; / / skip SPI kočići v Krosbar stikaloXBR1 = 0x03; / / UART0 TX in RX zatiči omogočenXBR2 = 0x40; / / Enable prečko in šibkih pull-upsP0MDOUT | = 0x1D; / / omogoči TX0, MOSI, SCK in NSS, kot/ / Push-pull outputs)
//------------------------------------------------ -----------------------------/ / SYSCLK_Init//------------------------------------------------ -----------------------------/ // / To rutinsko initializes sistema ura za uporabo notranjega 24,5 MHz clock/ / Kot ura vira./ /SYSCLK_Init neveljaven (ničen)(
OSCICN = 0x07; / /

select notranji oscilator kot SYSCLK/ / Vir)
//------------------------------------------------ -----------------------------/ / UART0_Init//------------------------------------------------ -----------------------------/ // / Nastavitev UART0 uporabo Timer1, za <BAUDRATE> in 8-N-1./ /UART0_Init neveljaven (ničen)(SCON0 = 0x10; / / SCON0: 8-bitno spremenljivko bitna hitrost/ / Stopnja STOP bit je prezrta/ / RX omogočen/ / Deveti bitov so ničel/ / Jasno RI0 in TI0 bitovif (SYSCLK/BAUDRATE/2/256 <1)(TH1 = - (SYSCLK/BAUDRATE/2);CKCON & = ~ 0x13;CKCON | = 0x10; / / T1M = 1; SCA1: 0 = xx)drugje, če (SYSCLK/BAUDRATE/2/256 <4)(TH1 = - (SYSCLK/BAUDRATE/2/4);CKCON & = ~ 0x13;CKCON | = 0x01; / / T1M = 0; SCA1: 0 = 01)drugje, če (SYSCLK/BAUDRATE/2/256 <12)(TH1 = - (SYSCLK/BAUDRATE/2/12);CKCON & = ~ 0x13; / / T1M = 0; SCA1: 0 = 00)še(TH1 = - (SYSCLK/BAUDRATE/2/4<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Hladen" border="0" />;CKCON & = ~ 0x13;CKCON | = 0x02; / / T1M = 0; SCA1: 0 = 10)
TL1 = 0xff; / / nastavite Timer1 za prelivno takojTMOD | = 0x20; / / TMOD: časovnik 1 8-bitni autoreloadTMOD & = ~ 0xD0; / / NačinTR1 = 1; / / START Timer1TI0 = 1; / / Navedite TX0 pripravljen)
 
pratish86 wrote:

Rabim program za datotečni sistem FAT16 morebiti (v jeziku c) za MMC kartico (512 MB) z cygnal 8051 f040 ... cn ne 1 pls pomoč mi .. je THR ne tak kodeks lahko dostopne?
 

Welcome to EDABoard.com

Sponsor

Back
Top