• Sábado 11 de Mayo de 2024, 11:59

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - mariale442

Páginas: [1]
1
Microcontroladores / Dudas
« en: Domingo 24 de Septiembre de 2006, 03:28 »
Hola a todos...

Quisiera disipar una duda que tengo sobre la comunicacion serial del pic con el pc...

  :unsure:  :unsure:  :unsure:

Quisiera saber si para poder establecer la comunicacion del pic al pc se puede realizar sin usar el oscilador interno del pic (solo usando el cristal como oscilador) o si es estrictamente necesario usar el oscilador interno del pic.

la cuestion es que tengo algunas funcionalidades ya hechas y utilizo el cristal como oscilador y funcionan perfectamente.

 :huh:  :huh:  :huh:  :huh:  :huh:  :huh:

2
Programación en C / C18 Y Usart
« en: Martes 12 de Septiembre de 2006, 17:13 »
Hola a todos...

Tengo un pequeño problemilla... Estoy tratando de realizar una rutina donde se quiere comunicar el pic con el pc por el puerto serial en C18... pero que esten habilitadas las interrupciones a nivel de recepcion (rx)... si por lo menos el pic esta realizando alguna actividad... y este recibe algo...  como se manejan las interrupciones si se esta usando el lenguaje C??? el pic deja de hacer lo que esta haciendo para manejar la interrupcion???   :unsure:  :unsure:  :unsure:

en ensamblador hay rutinas para el manjeo de interrupciones... pero no tengo idea que como se manejan las interrupciones si estoy usando C18.  :unsure:

Cualquier ayuda que me puedan ofrecer... se los agradeceria mucho...  ;)

ayudaaaaaa...   :(  :(  :(

3
Programación en C / I2c
« en: Miércoles 6 de Septiembre de 2006, 20:53 »
hola... estoy intentando hacer un programa en donde pueda escribir y leer "abcd" en una memoria eeprom externa. estoy usando el PIC18F4620 y la memoria eeprom que estoy usando es la 24AA256.

en realidad... no se cual es la falla que tiene el programita que yo estoy haciendo... ya que para saber que fue lo que uno escribio en la memoria... hay que leerlo.  :unsure:  :unsure:  :unsure:

debido a esto... no se si el problema es que esta escribiendo basura, leyendo basura, o ninguna de las dos cosas funciona...   :angry:  :angry:  :angry:
ya que cuando leo la memoria imprime "yp" y no "abcd".

aqui les dejo mi codigo:

#include <p18F4620.h>
#include <usart.h>
#include <delays.h>
#include <stdlib.h>
#include <i2c.h>


unsigned char arraywr[] = "abcd";
unsigned char arrayrd[20];


void main (void)
{

TRISC=0b00011000;
TRISB=0b11111111;


OpenI2C(MASTER, SLEW_ON);// Initialize I2C module
SSPADD = 4; //400kHz Baud clock(9) @8MHz

while(1)
{
TRISB = 0;
PORTB = 1;
Delay100TCYx (255);
PORTB = 0;
Delay100TCYx (255);

EEPageWrite(0xA0, 0x70, arraywr);
funcionUSART(arraywr);  // esta es un funcion que imprime por el puerto serial lo                                                                                                                            //que se quiere escribir en memoria, aqui imprime "abcd"...
Delay100TCYx(255);

EEAckPolling(0xA0);
EESequentialRead(0xA0, 0x70, arrayrd, 4);
funcionUSART(arrayrd); // aqui se quiere imprimir lo que leyo de la memoria
/// aqui es donde imprime "yp" y no "abcd"  :blink:  :blink:  :blink:
}
}

Cualquier ayuda que me puedan dar, se los agradeceria  :D  :D  :D

Saludos,  :hola:  :hola:  :hola:

4
Programación en C / Usart En C
« en: Miércoles 30 de Agosto de 2006, 17:01 »
Buen día para todos.

Quiero realizar algo bastante sencillo... quiero que un pic se comunique con el PC de forma serial, mandandole la siguiente secuencia de letras "abcde"... pero he tenido problemas a la hora de realizar la simulacion en proteus y realmente no logro descubrir cual es la causa  :(  :(  :(

estoy usando el PIC18F4620 y las rutinas para lograr la comunicacion las estoy haciendo en C.

la comunicacion serial la estoy haciendo bajo las siguientes condiciones:

- el pic usa una frecuencia de 20MHz
- la comunicacion es con 8 bits (para la data)
- el baud rate es de 9600
- no usa bit de paridad
- todas las interrupciones estan deshabilitadas

este es el codigo:
-------------------------------------------------------------------------------------------------

#include <p18F4620.h>
#include <usart.h>
#include <delays.h>


void main (void)
{
 
char inputstr[1];
int res;

TRISC = 0b10011111;
TRISA = 0B00111111;

 
  // Open the USART configured as 8N1, 9600 baud
  OpenUSART ( USART_TX_INT_OFF &
              USART_RX_INT_OFF &
              USART_ASYNCH_MODE &
              USART_EIGHT_BIT &
              USART_CONT_RX &
              USART_BRGH_LOW, 31);
  while (1){
     

Delay100TCYx(255);
WriteUSART(61);
Delay100TCYx(255);

WriteUSART(59);
Delay100TCYx(255);

WriteUSART(57);
Delay100TCYx(255);

WriteUSART(55);
Delay100TCYx(255);

WriteUSART(53);
Delay100TCYx(255);

//   lo extraño es que para lograr imprimir "abcde" tengo que poner como
//  parametros:  61,59,57,55 y 53...  no se supone que deberia ser 61,62,63,64 y
//  65??? ... o yo me estoy equivocando???  :unsure:  :unsure:  :unsure:
 
};

}

// no se si la causa de este problema es la codificacion o si esta mal el circuito  :unsure:

Gracias de antemano por la ayuda que me puedan ofrecer  ;)

Saludos,  :hola:


PD:  Tambien les voy a mandar un print screen de una corrida en proteus.  para que vean tanto la corrida como el cableado del circuito.

Páginas: [1]