Lecto-grabador de tarjetas MMC, SD, MicroSD con PIC16F877A
| #21 |
| #22 |
|
Kim_of_the_river
|
Yo tb estoy intentando dar formato de texto al asunto, como se puede crear un .txt a partir de valores haxadecimales guardados en sectores? (!?) no se si la SD funciona como un disco duro pero este guarda los datos de forma aleatoria ( no se si estor en lo cierto) .Agradezco vuestra ayuda de antemano y deciros que me motiva muchisimo ver a personas que estan intentando lo mismo que yo.
|
|||||||||||
|
|
||||||||||||
| #23 |
|
Paloky
|
Hola.
Alguien sabe algo sobre las nuevas especificaciones de las tarjetas SD HC (version 2.0). Tengo entendido que no hay compatibilidad con las actuales SD Standard y por tanto, con el bus SPI, solo podremos trabajar con tarjetas de hasta 2Gb. Teneis información sobre como funciona el nuevo host ? Se puede programar las nuevas especificacione con los PIC? Gracias. |
|||||||||||
|
|
||||||||||||
| #24 |
|
enriquito8
|
Hola, Estoy trabajando para lograr la comunicacion de la tarjeta SD con un PIC18F2550 pero hasta ahora me estoy iniciando en la programacion en C, Aunno logro que la tarjeta me de respuesta alguna.aca dejo mi codigo no se que pueda ser el problema.
void main (void) { TRISA = 0X20; TRISB = 0X01; TRISC= 0X00; SSPSTAT = 0X00; SSPCON1 = 0X32; PORTC=0X00; PORTB=0X00; // TRISBbits.TRISB1 = 0; //SE CONF. PIN7 PORTB COMO SALIDA . // TRISAbits.TRISA5 = 1; // TRISCbits.TRISC7 = 0; //Enviando ciclos de reloj para sincronismo for(i=0;i<10;i++) { SPI_WRITE(0xFF); } PORTAbits.RA4 = 0; //CMD0 while(RXDATO!=1){ SPI_WRITE(0x40); SPI_WRITE(0x00); SPI_WRITE(0x00); SPI_WRITE(0x00); SPI_WRITE(0x00); SPI_WRITE(0x95); for(i=0;i<64;i++) { SPI_WRITE(0xFF); if(SSPSTATbits.BF==1){ RXDATO=SSPBUF; if(RXDATO==0x01) { PORTBbits.RB7=1; Delay10KTCYx (250); PORTBbits.RB7=0; Delay10KTCYx (250); PORTBbits.RB7=1; Delay10KTCYx (250); PORTBbits.RB7=0; Delay10KTCYx (250); RXDATO=1; break; } } } } PORTAbits.RA4 = 1; SPI_WRITE(0XFF); Delay10KTCYx (250); //CMD1 PORTAbits.RA4 = 0; while(RXDATO!=0x02){ SPI_WRITE(0x41); SPI_WRITE(0x00); SPI_WRITE(0x00); SPI_WRITE(0x00); SPI_WRITE(0x00); SPI_WRITE(0xFF); for(i=0;i<64;i++) { SPI_WRITE(0xFF); if(SSPSTATbits.BF==1){ RXDATO=SSPBUF; if(RXDATO==0x00) { PORTBbits.RB7=1; Delay10KTCYx (250); PORTBbits.RB7=0; Delay10KTCYx (250); PORTBbits.RB7=1; Delay10KTCYx (250); PORTBbits.RB7=0; Delay10KTCYx (250); RXDATO=0x02; break; } } } } PORTAbits.RA4 = 1; SPI_WRITE(0XFF); Delay10KTCYx (250); |
|||||||||||
|
|
||||||||||||
| #25 |
|
Kim_of_the_river
|
Que compilador usas?
|
|||||||||||
|
|
||||||||||||
| #26 |
|
enriquito8
|
La version Estudiantil del C18 de Microchip junto al Mplab, porque lo dices?.En el momento de compilar no tengo problemas, tengo sospechas en el manejo de los voltajes de las señales que salen y entran al micro.con respecto a las señales que salen del micro hacia la tarjeta(SCK,SDO,CS), usando divisores de voltajes hecho con resistencias bajo de 5v a 3v (el voltaje de trabajo de la tarjeta).pero no se si la señal que viene de la tarjeta al Micro(al SDI)debo aumentarla de 3V a 5V, para que el PIC la reconozca.Muchachos Muchas Gracias por Su Atencion
|
|||||||||||
|
|
||||||||||||
| #27 |
|
hawpic
|
Hola a todos. Me alegra ver que no soy el unico que tiene esta faena por delante. Lo que yo necesito es comunicar mi µ (en principio un pic 16F890) primero con una eeprom externa y despues con una tarjeta multimedia. Aun estoy pensando como hacerlo, mirando protocolos y esas cosas. En principio iba a programar el µ en ensamblador porque es como he estado trabajando hasta ahora, pero veo que vosotros lo haceis en C. Supongo que es mas sencillo hacerlo en C pero, creeis que es una locura intentarlo en ensamblador? Alguien me puede decir que es mejor para este caso en concreto? Gracias!
|
|||||||||||
|
|
||||||||||||
| #28 |
|
marcosbrusa
|
Hola a todos. Es la primera vez que voy a programar pics 16c711. Tengo el ic prog en el cual esta este pic como opcion de programacion. Pero no se cuales pines se usan en la grabacion, ya que mi idea es hacerlo in circuit. thanks
|
|||||||||||
|
|
||||||||||||
| #29 |
|
marcosbrusa
|
Se que se usan los pines vdd, vss, pgc, pgd y vpp. Pero cuando lo conecto en el socalo para el pic 18f876, respetando la disposicion de los pines no me funciona.
Alguien sabe en que fallo? |
|||||||||||
|
|
||||||||||||
| #30 |
|
enriquito8
|
Hola Muchachos he conseguido comunicarme con la tarjeta pero aun no logro escribirla y pasa algo bastante particular, cuando termino de enviar el bloque no me llega un byte de confirmacion si no nuevamente un byte en cero (0x00), miro en el hexplorer y efectivamente no aparece mi escritura.aqui parte del codigo.Gracias Por La Atencion
//CMD 16 //PORTAbits.RA4 = 0; // while(RXDATO!=0x00){ // SPI_WRITE(0x50); // SPI_WRITE(0x00); SPI_WRITE(0x00); SPI_WRITE(0x02); SPI_WRITE(0x00); SPI_WRITE(0xFF); for(i=0;i<64;i++) { if(SSPSTATbits.BF==1){ RXDATO=SSPBUF; if(RXDATO==0x00) { break; } } SPI_WRITE(0xFF); } } PORTAbits.RA4 = 1; SPI_WRITE(0XFF); Delay10KTCYx (250); //CMD24 PORTAbits.RA4 = 0; while(RXDATO!=0x05){ while(RXDATO!=0X03){ SPI_WRITE(0x58); SPI_WRITE(0x00); SPI_WRITE(0x00); SPI_WRITE(0x00); SPI_WRITE(0x01); SPI_WRITE(0xFF); for(i=0;i<64;i++) { if(SSPSTATbits.BF==1){ RXDATO=SSPBUF; // RXDATO=0x00; if(RXDATO==0x00) { break; } } SPI_WRITE(0xFF); } for(i=0;i<64;i++) { if(SSPSTATbits.BF==1){ RXDATO=SSPBUF; // RXDATO=0x00; if(RXDATO==0x00) { break; } } SPI_WRITE(0xFF); } for(i=0;i<64;i++) { if(SSPSTATbits.BF==1){ RXDATO=SSPBUF; // RXDATO=0x00; if(RXDATO==0x00) { break; } } SPI_WRITE(0xFF); } } SPI_WRITE(0xFF); SPI_WRITE(0xFF); SPI_WRITE(0xFE); for(i=0;i<512;i++) { SPI_WRITE(0x68); //Datos a Escribir } SPI_WRITE(0xFF); SPI_WRITE(0xFF); for(i=0;i<64;i++) { if(SSPSTATbits.BF==1){ RXDATO=SSPBUF; RXDATO=RXDATO&0X0F; if(RXDATO==0x05) { PORTBbits.RB4=1; Delay10KTCYx (250); PORTBbits.RB4=0; Delay10KTCYx (250); PORTBbits.RB4=1; Delay10KTCYx (250); PORTBbits.RB4=0; Delay10KTCYx (250); break; } } SPI_WRITE(0xFF); } } while(RXDATO!=0xFF) { if(SSPSTATbits.BF==1){ RXDATO=SSPBUF; } SPI_WRITE(0xFF); } PORTAbits.RA4 = 1; SPI_WRITE(0XFF); Delay10KTCYx (250); |
|||||||||||
|
|
||||||||||||
|
| Temas de interés | |
|---|---|
| enviar mensajes de texto sin usar el teclado del celular. | |
| Enviar video en vivo por internet | |
| Enviar comandos por RS232 en visual basic | |
| Enviar comunicacion via RS232 a servidor | |
| Contador de pulsos unido al microcontrolador DLP-245PB | |
| Foros de Electronica |
| ||
Cuestiones Elementales de Electrónica ||
Fuentes de alimentacion ||
Circuitos de radio ||
Diseño de circuitos en general || || Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión || || Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos || |
Site Map
© Foros de Electrónica
Comunidad Internacional de Electrónicos
Powered by phpBB © 2001, 2005 phpBB Group
Acerca de || Política de privacidad
Generada en = 0.12472 segundos, Consultas = 13
© Foros de Electrónica
Comunidad Internacional de Electrónicos
Powered by phpBB © 2001, 2005 phpBB Group
Acerca de || Política de privacidad
Generada en = 0.12472 segundos, Consultas = 13

