Drk_alien Postat Decembrie 25, 2012 Partajează Postat Decembrie 25, 2012 Salutare.... Am inceput sa imi fac licenta si am ajuns la partea in care vreau sa creez un fisier txt pe un card sd. Folosesc un Mcu PIC16F877a si un modul dinacesta: , in care folosesc un card de 16 mb Panasonic . Ca si compilator folosesc MicroC pro v5.4.0 . Am nevoie de un cod cat mai simplu ca sa initializez cardul, sa scriu si sa citesc date. Am gasit in help-ul programului un exemplu, dar e pt pic 18f4525 , deci nu se impaca librariile. Ma poate ajuta cineva care a folosit un astfel de modul?....va multumesc. Link spre comentariu
nooob64 Postat Decembrie 26, 2012 Partajează Postat Decembrie 26, 2012 Din pacate pic16f877a nu va face fata la cantitatea de memorie ceruta de aceste librarii, plus este si lent. Incearca altceva gen PIC18f4520. Link spre comentariu
deejay2k1 Postat Decembrie 26, 2012 Partajează Postat Decembrie 26, 2012 Cineva a facut un mini-player pt fisiere audio de pe sd cu PIC12F1840 Te poti inspira din partea de SD a proiectului sau http://dmitry.co/index.php?p=./04.Thoug ... o%20Player Link spre comentariu
Drk_alien Postat Ianuarie 3, 2013 Autor Partajează Postat Ianuarie 3, 2013 Bun, mi-am cumparat un pic18f4550 si l-am montat pe aceeasi placa de dezvoltare avand in vedere ca are aceeasi configuratie de pini cu 877a.Am schimbat in proiect modelul pic-ului si am recompilat programul.Din pacate nu se intampla nimik .Am testat pic-ul si se pare ca merge daca ii fac un simplu test pe porti, dar nu merge daca incerc sa afisez ceva pe display-ul de nokia 5510 .O alta problema ar fi ca uneori imi da eroare de scriere la adresa 0X0000. L-am cuparat fiindca doresc sa folosesc modulul pt card de mai sus, dar mai intai doream sa testez programul pe care deja il am.Daca schimb microcontrollerul si il pun inapoi pe 877a si recompilez, merge.Intrebarea mea este...care ar fi problema pt care nu merge?...configurarea bitilor?Sunt configurati asa: 0C000 1E1F 8300 0081 C00F E00F 400F.(18f4550) 2fcf. (877a) Link spre comentariu
Drk_alien Postat Ianuarie 4, 2013 Autor Partajează Postat Ianuarie 4, 2013 Nicio idee? ...deja incepe sa devina frustranta treaba Link spre comentariu
pegas Postat Ianuarie 5, 2013 Partajează Postat Ianuarie 5, 2013 :-)noi oamenii nu prea putem citi direct hexa... ce inseamna cuvintele alea de configurare?a...si cum adica au aceiasi pini ? :-))))))))))))))rtfm Link spre comentariu
Drk_alien Postat Ianuarie 7, 2013 Autor Partajează Postat Ianuarie 7, 2013 Cand am zis ca aceeasi pini m-am referit la aceeasi configuratie a pinilor...pe babeste: al treilea pin de pe partea stanga e A4 si la un MCU si la celalalt.Apoi la configuratia cuvantului de biti ma refeream la aceasta poza.Eu cred ca am explicat destul de bine....e posibil sa fi citit tu printre randuri.Sper sa imi dai un raspuns daca il ai.Mersi. Link spre comentariu
Liviu M Postat Ianuarie 7, 2013 Partajează Postat Ianuarie 7, 2013 Din cate stiu eu, nu e suficient ce ai facut. Mai sunt si alti parametri care se configureaza diferit (alti registrii pentru controlul porturilor analogice, de exemplu). Link spre comentariu
Vizitator dxdata Postat Ianuarie 7, 2013 Partajează Postat Ianuarie 7, 2013 as vrea sa inteleg ceva , dar .... nu ma luati in seama deabia am cumparat un pic16Fxxxxx. Link spre comentariu
Drk_alien Postat Ianuarie 7, 2013 Autor Partajează Postat Ianuarie 7, 2013 Stai ca nu inteleg.E posibil sa spui tu ceva bine...dar ideea e ca, chiar daca as face o alta placa de dezvoltare tot asa as configura pinii.Pt ca se potrivesc.Cand am recompilat programul, in setare am specificat modelul noului microcontroller...deci nu vad de ce nu ar merge.E posibil configuratia cuvantului de biti...dar daca e asta problema...cum o rezolv?Pentru ca pana acum am testat pe 877a si cand vad ca acesta are neajunsuri...am trecut pe 4550 .Chiar asa de dificila sa fie trecerea? Link spre comentariu
Drk_alien Postat Ianuarie 7, 2013 Autor Partajează Postat Ianuarie 7, 2013 as vrea sa inteleg ceva , dar .... nu ma luati in seama deabia am cumparat un pic16Fxxxxx.Imi pare rau...dar nu inteleg ce vrei sa zici... Link spre comentariu
Liviu M Postat Ianuarie 7, 2013 Partajează Postat Ianuarie 7, 2013 Descarca si tu data-sheeturile ambelor si compara, de exemplu, ADCON1. Cum porturile, cand e cazul, sunt configurate la reset ca analog, configurarea pentru 877 nu se potriveste la 4550.Si cred ca sunt mai multe locuri care trebuie adaptate - iei codul la mana si, pentru porturile folosite compari data-sheeturile si modifici unde e cazul.Si ca sa fie treaba mai interesanta, poti folosi directivele #if defined /#endif ca sa mearga cu ambele tipuri de procesoare. Link spre comentariu
Drk_alien Postat Ianuarie 7, 2013 Autor Partajează Postat Ianuarie 7, 2013 Ok. O sa ma uit cu mai multa atentie.Revin cu un raspuns.Mersi. Link spre comentariu
Drk_alien Postat Martie 3, 2013 Autor Partajează Postat Martie 3, 2013 Salutare, AM revenit cu problema mea. . Am rezolvat-o si m-am lovit de alta. Cum am rezolvat-o? Simplu...am folosit Latch. Adica in loc de sbit sce at RB7_bit; am sbit sce at LATB7_bit;. Bun pana aici. Acum am incercat sa scriu un fisier txt pe un card sd Panasonic de 16 mb.Dar nu reusesc nicicum. Am urmat exemplul de aici http://www.mikroe.com/download/eng/documents/compilers/mikrobasic/pro/pic/help/mmc_library.htm , chiar daca am folosit codul interg nu reusesc nicicum, am simplificat codul si am ramas cu codul de mai jos, tot nu merge. // MMC module connectionssbit Mmc_Chip_Select at LATC0_bit; // for writing to output pin always use latch (PIC18 family)sbit Mmc_Chip_Select_Direction at TRISC0_bit;// eof MMC module connectionsconst LINE_LEN = 43;char err_txt[20] = "FAT16 not found";char file_contents[LINE_LEN] = "XX MMC/SD FAT16 library by Anton Rieckertn";char filename[14] = "MIKRO00x.TXT"; // File namesunsigned short loop, loop2;unsigned long i, size;char Buffer[512];// Creates new file and writes some data to itvoid M_Create_New_File() { filename[7] = 'A'; Mmc_Fat_Set_File_Date(2010, 4, 19, 9, 0, 0); // Set file date & time info Mmc_Fat_Assign(&filename, 0xA0); // Find existing file or create a new one Mmc_Fat_Rewrite(); // To clear file and start with new data for(loop = 1; loop <= 99; loop++) { UART1_Write('.'); file_contents[0] = loop / 10 + 48; file_contents[1] = loop % 10 + 48; Mmc_Fat_Write(file_contents, LINE_LEN-1); // write data to the assigned file }}// Main. Uncomment the function(s) to test the desired operation(s)void main() { ADCON1 |= 0x0F; // Configure AN pins as digital CMCON |= 7; // Turn off comparators UART1_Init(19200); Delay_ms(10); SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV64, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_LOW_2_HIGH); if (Mmc_Fat_Init() == 0) { // reinitialize spi at higher speed SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV4, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_LOW_2_HIGH); //--- Test routines. Uncomment them one-by-one to test certain features M_Create_New_File(); }}M-as bucura daca cineva si-ar face un pic de timp sa se uite putin peste chestia asta si poate primesc niste sfaturi care ma pot ajuta...legaturile cu modulul cumparat de pe ebay de care am zis in primul post le-am facut asa: ( acum folosesc pic 18F 4550). Link spre comentariu
Liviu M Postat Martie 3, 2013 Partajează Postat Martie 3, 2013 Mai controleaza pinii, ca eu cred ca nu ai conectat bine cardul la pic.Pinii SPI sunt RC7, RB0 & RB1.Daca te uiti in SPI library support la mikroc, o sa vezi ca mentioneaza portul SPI hard al PICului. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum