Autor Tema: Cursillo en C18 para PICS DESDE CERO  (Leído 300075 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado dardo

  • PIC10
  • *
  • Mensajes: 5
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #195 en: 19 de Agosto de 2008, 18:10:55 »
Gente, quiero plantear un par de dudas que tengo con el ADC del 18f4550.

Primero que nada, me gustaria saber cual es el tiempo de conversion o como se selecciona, ya que he visto que hay un par de variables que se pueden modificar en la funcion OpenADC().
Por ejemplo yo ahora estoy trabajando con un cristal de 20MHz pero estoy usando FOSC = HS y CPUDIV = OSC4_PLL6 asi que si no me equivoco la velocidad del micro es 5Mhz. Teniendo esto en mente, para el conversor estoy usando:

OpenADC(ADC_FOSC_2 & ADC_RIGHT_JUST & ADC_0_TAD, ADC_CH0 & ADC_INT_OFF, 14);

y me funciona, pero no se que estoy haciendo! por ejemplo, ADC_Right_Just, se que es justificar a la derecha, y ADC_INT_OFF es que no uso el ADC interruptivo, y el 14 es para tener solamente AD_0 como entrada analogica, pero ADC_FoSC_32, ADC_0_TAD y sobre todo ADC_CH0 no se que significan, y no es que no se sepa que configuran, eso lo lei en el manual, pero no entendi que son.

La duda va orientada mas bien a que, en este momento estoy usando un solo canal del ADC para variar el periodo de la PWM con un Pote y me esta andando perfecto, pero voy a precisar muestrear 5 entradas analogicas mas, y no se como configurarlo para eso. Querria poder saber la velocidad de muestreo y si puede ser configurada cosa que calculo que si.
Otra duda, es que he visto en algunos ejemplos que usan un Delay entre el SetChanADC() y el ConvertADC queno se para que es, yo se lo pongo o no, y mi PWM varia igual!

Si alguien se anima a responderme estas duditas le estare eternamente agradecido!
Salu2

Desconectado hackmanice

  • PIC10
  • *
  • Mensajes: 5
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #196 en: 21 de Septiembre de 2008, 21:49:47 »
HOLA MICRO CADAVER

BUENO ES LA PRIMERA VEZ QUE ENTRO AL FORO Y QUIERO SEGUIR CON LA TEMATICA QUE ES MUY INTERESANTE, ME PODRIAS INFORMAR QUE VERSION DE PROTEUS UTILIZAS POR QUE NO ME ABREN LOS EJEMPLOS EN LA VERSION 6.7 SP3.

Gracias.

Espero respuesta

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #197 en: 22 de Septiembre de 2008, 00:17:10 »
hola, primero te teng oq pedir que leas las reglas del foro pues una de ella trata sobre no escribir en mayusculas, son las reglas del foro.

sobre la version del proteus esta hecho en la version 7.1 y si no te abre es porque no son compatibles las versiones 6.xx con las 7.xxx lo que te queda es adquirir cualqueir version del 7.xxx o la ultima que va por la 7.2 .

a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado hackmanice

  • PIC10
  • *
  • Mensajes: 5
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #198 en: 22 de Septiembre de 2008, 01:18:53 »
hola micro cadaver

gracias por tu respuesta ahora estoy bajando la version 8.9 sabes si es compatible con los ejemplos que escribiste?

Gracias

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #199 en: 22 de Septiembre de 2008, 01:41:46 »
hola, espero hayas leido la parte de las reglas del foro en que no se debe escribir cosas que aludan pirateria, supongo q estaras bajando la version free o demo, pero... seguro q es la version 8.9 del proteus?? tengo entendido q la version 7.3 esta en proyecto recien asi que para q salga la 8.9... supongo q falta muuuucho  :mrgreen:
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado hackmanice

  • PIC10
  • *
  • Mensajes: 5
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #200 en: 22 de Septiembre de 2008, 14:41:12 »
micro gracias por tu ayuda oye de casualidad no tienes un programa para 18f455o de lcd y teclado que solo muestre las teclas que uno oprime, es que lo quiero simular en proteus.

Gracias.

Desconectado MordorInc

  • PIC10
  • *
  • Mensajes: 5
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #201 en: 30 de Octubre de 2008, 16:24:14 »
/*
Hola a todos,
les comento mi problema, estoy aprendiendo a trabajar con el MPLAB
C18 y a usar las librerias, estoy trabajando con el PIC18F4520 a 40Mhz.

tengo el siguiente programa(segun un ejemplo de
http://www.todopic.com.ar/foros/index.php?topic=17017.msg119773#msg119773)
pero no me funciona, estoy trabajando con Hypertrerminal pero no manda
ni recibe nada el PIC, hyperterminal funciona bien ya hice las pruebas
pero no veo que estoy haciendo mal...
cualqier ayuda es bienvenida
Luis
anexo mi programa
*/
Código: [Seleccionar]
#include <p18f4520.h>
#include <delays.h>
#include <usart.h>

/* Para saber como configurar los Fusibles se debe mirar
en MPLAB -> HELP -> TOPICS -> Configuration Settings ->
y buscar el microcontrolador en nuestro caso es el 18F4520 */

#pragma config OSC = HSPLL, FCMEN = OFF, IESO = OFF                       // CONFIG1H
#pragma config PWRT = OFF, BOREN = SBORDIS, BORV = 3                      // CONFIG2L
#pragma config WDT = OFF, WDTPS = 32768                                   // CONFIG2H
#pragma config MCLRE = ON, LPT1OSC = OFF, PBADEN = OFF, CCP2MX = PORTC    // CONFIG3H
#pragma config STVREN = ON, LVP = OFF, XINST = OFF, DEBUG = ON            // CONFIG4L
#pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF                 // CONFIG5L
#pragma config CPB = OFF, CPD = OFF                                       // CONFIG5H
#pragma config WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF             // CONFIG6L
#pragma config WRTB = OFF, WRTC = OFF, WRTD = OFF                         // CONFIG6H
#pragma config EBTR0 = OFF, EBTR1 = OFF, EBTR2 = OFF, EBTR3 = OFF         // CONFIG7L
#pragma config EBTRB = OFF                                                // CONFIG7H
//************************************************************

unsigned char recepcion;

void main(void)
{
TRISA = 0X00;
TRISB = 0X00;
TRISD = 0X00;
PORTA = 0X00;
PORTB = 0X00;
PORTD = 0X00;

/*********************************************************************
*/
Nop();
// configuramos el EUSART para 9600 baudios
/*
/* USART_TX_INT_OFF = Interrupcion de Tx apagada
/* USART_RX_INT_OFF = Interrupcion de Rx apagada
/* USART_ASYNCH_MODE = se trabajara en modo asincrono
/* USART_EIGHT_BIT = se trabajara con 8 bits
/* USART_CONT_RX = la transmision sera continua
/* USART_BRGH_HIGH = transmision y recepcion a alta velocidad
*/
OpenUSART(  USART_TX_INT_OFF &
            USART_RX_INT_OFF &
            USART_ASYNCH_MODE &
            USART_EIGHT_BIT &
            USART_SINGLE_RX &
            USART_BRGH_HIGH,
            1040); //1040 para 40mhz y 9600baudios  - Manual del PIC18F4520 - DS39631D-page 208
//BAUDCONbits.BRG16=1;
baudUSART (BAUD_IDLE_CLK_HIGH &
BAUD_16_BIT_RATE &
BAUD_WAKEUP_ON &
BAUD_AUTO_OFF);
Nop();
for (;;)
{
while(!DataRdyUSART());
recepcion = ReadUSART();


while(BusyUSART());
putcUSART('1');

}

while(1);



}

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #202 en: 30 de Octubre de 2008, 18:34:26 »
hola MordorInc

porque y como estas usando esta linea?

#pragma config OSC = HSPLL


saludos  :-/
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado MordorInc

  • PIC10
  • *
  • Mensajes: 5
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #203 en: 30 de Octubre de 2008, 20:46:16 »
Gracias por responder.
te comento tengo un Xtal externo de 10Mhz y la idea es usar el PLL y trabajar 1 40Mhz..
consideras que ese puede ser el error?
ya le hice unos cambios y ahora recibe en el PC pero tiene errores al principio.
Código: [Seleccionar]
OpenUSART(  USART_TX_INT_OFF &
            USART_RX_INT_OFF &
            USART_ASYNCH_MODE &
            USART_EIGHT_BIT &
            USART_SINGLE_RX &
            USART_BRGH_LOW,
            63); //64 - 1040 pa 40mhz y 9600baudios USART_SINGLE_RX por USART_CONT_RX
//BAUDCONbits.BRG16=1;
/*
baudUSART (BAUD_IDLE_CLK_HIGH &
BAUD_16_BIT_RATE &
BAUD_WAKEUP_ON &
BAUD_AUTO_OFF);
*/
le baje de USART_BRGH_HIGH a USART_BRGH_LOW
cambiandole el valor a 64.-
a 9600 a veces funciona y otras no...
Tambien quite la parte de baudUSART
cual es la diferencia de usar ambas... segun lo que entiendo deberia usarse HIGH por la frecuencia que manejo... pero me funciona mejor con LOW.
sigo dandole...
al final aportare la solucion... ;)
si la encuentro

Desconectado raraavis

  • PIC10
  • *
  • Mensajes: 47
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #204 en: 03 de Noviembre de 2008, 16:20:17 »
Hola amigos, acá les dejo el código para leer y escribir la eeprom interna de los pic.

Saludos

Código: [Seleccionar]
void write_eeprom(unsigned int, unsigned char);
unsigned char read_eeprom(unsigned int);

void write_eeprom(unsigned int eeprom_addr, unsigned char eeprom_data)
{
EECON1bits.EEPGD = 0; /* Ensure EEPGD is clear for EEDATA access */
EECON1bits.CFGS=0; /* Select Data EEPROM */
EECON1bits.WREN = 1; /* Ensure WREN is set to enable EEDATA writes */
    EEADR = eeprom_addr;
EEDATA = eeprom_data; /* Set EEDATA to the value to write */
EECON2 = 0x55; /* Write 0x55 to EECON2 */
EECON2 = 0xaa; /* Write 0xAA to EECON2 */
EECON1bits.WR = 1; /* Initiate write cycle by setting the WR bit */
while (!PIR2bits.EEIF); /* Wait for the EEIF flag to be set */
PIR2bits.EEIF = 0; /* Clear the EEIF flag */
EECON1bits.WREN = 0; /* Ensure WREN is set to enable EEDATA writes */
}

unsigned char read_eeprom(unsigned int eeprom_addr)
{
    EEADR = eeprom_addr;
EECON1bits.EEPGD = 0; /* Ensure EEPGD is clear for EEDATA access */
EECON1bits.RD = 1; /* Trigger a read by setting the RD bit */
return EEDATA; /* Read the result from EEDATA register */
}
« Última modificación: 06 de Noviembre de 2008, 11:41:57 por raraavis »

Desconectado redep

  • PIC12
  • **
  • Mensajes: 75
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #205 en: 12 de Diciembre de 2008, 08:17:42 »
gracias por lo de la eeprom me ha venido genial

Desconectado mr.brett

  • PIC10
  • *
  • Mensajes: 1
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #206 en: 06 de Febrero de 2009, 04:22:42 »
Hola que tal, solo posteo para agradecer por este curso tan bueno que tienen acá en el foro, está genial!!

Muchas gracias a todos los que cooperaron para el curso.

Saludos.

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #207 en: 18 de Febrero de 2009, 06:02:22 »
Al igual que Mr. Brett, posteo para agradecer a micro_cadaver por el exelente tutorial. Estoy empezando a programar en C18 y me viene como anillo al dedo.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #208 en: 18 de Febrero de 2009, 11:45:01 »
hola León, es un gusto saber que al menos algo que hice le puede servir a demás personas, incluso gente que nunca llegare a conocer en persona.

mi cometido era intentar retomar el tutorial pero por cuestiones de trabajo me he alejado del c18, y estoy programando con el c30 para pic24xxx, pero bueno derepente alguien toma la posta.

saludos  :-/
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado PHLAKO

  • PIC10
  • *
  • Mensajes: 49
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #209 en: 19 de Febrero de 2009, 14:42:07 »
hola León, es un gusto saber que al menos algo que hice le puede servir a demás personas, incluso gente que nunca llegare a conocer en persona.

mi cometido era intentar retomar el tutorial pero por cuestiones de trabajo me he alejado del c18, y estoy programando con el c30 para pic24xxx, pero bueno derepente alguien toma la posta.

saludos  :-/

Bueno, ami me sirvio mucho este tutorial, ahora me es mas entendible leer directamente de los manuales de microchip, muchas gracias a los foreros que han aportado con sus conocimientos :mrgreen: :-/



Una pregunta, micro_cadaver, acaso es muy distinto el C30, con el el C18?  o solo es cuestion ver el hard que trae el PIC24 y aprender el uso de sus librerias, etc. (asi como lo he estado haciendo con el C18)?

saludos
SIEMPRE TE RECORDARE AMADO Y FIEL COMPAÑERO "LOBO"


 

anything