Autor Tema: Problemas dsPIC y puerto B  (Leído 3526 veces)

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

Desconectado zer0007

  • PIC16
  • ***
  • Mensajes: 106
Problemas dsPIC y puerto B
« en: 14 de Junio de 2005, 08:41:00 »
Hola soy nuevo en esto del PIC y estoy teniendo problemas cuando programo este, es decir todo funciona correcto cuando funciona con el icd2 pero cuando lo programo y dejo que funciona el hard solo los bits del puerto B no funcionan, hago algo mal, gracias.

Por cierto mi MPLAB es el 7.11 (he probado el 7.10 y tampoco va)
Estoy usando la version 1.32 del C30

Gracias otra vez y aver si me podeis ayudar.

Desconectado Sispic

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1685
    • winpic800
RE: Problemas dsPIC y puerto B
« Respuesta #1 en: 14 de Junio de 2005, 13:16:00 »
Pues con menudo aparatejo empiezas , aunque yo lo recomiendo .

Quiza el problema sea que el Puerto B del 30F6014 es Analógico / Digital  , y biene por defecto como an.

asi se configura

 ADPCFG=0xffff;   // Dig. portB E/S

suertes

Desconectado zer0007

  • PIC16
  • ***
  • Mensajes: 106
RE: Problemas dsPIC y puerto B
« Respuesta #2 en: 15 de Junio de 2005, 00:52:00 »
Rebotado
Muchas gracias tio, era eso, que curioso que el icd2 lo obviara.

Gracias de nuevo.

Desconectado zer0007

  • PIC16
  • ***
  • Mensajes: 106
RE: Problemas dsPIC y puerto B
« Respuesta #3 en: 15 de Junio de 2005, 01:03:00 »
Antes estuve con NEC, Rockwell (6502), ST6 y algo con el PIC18 pero ya que empezaba pense en acostumbrarme al C30 y pasarme al dsPIC.
Hace dos años y medio que me sedujo Microchip por precio y herramientas y quiero hacer para mi proyecto de fin de carrera un sistema de comunicación bus can

Desconectado zer0007

  • PIC16
  • ***
  • Mensajes: 106
RE: Problemas dsPIC y puerto B
« Respuesta #4 en: 16 de Junio de 2005, 11:20:00 »
Otra pregunta Sispic,  para usar la int0 hay que hacer algo antes a parte de decir que el puerto (RF6) es de entrada ?

A las otras no me hace falta pero en esta solo se da cuenta de la primera interrupcion luego ya no hace caso, y como me he fijado que las otras interrupciones en el diagrama de pins las ponen al principio de la lista de caracteristicas del pin y en cambio esta antes tiene el emuc3, el sck1 y luego la int0 eso a lo mejor puede influir, puede ser ?

P.D. después de la interrupcion pongo su flag a 0 (uso el mismo codigo para otras y me funciona ¿?. Gracias otra vez.

Desconectado Sispic

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1685
    • winpic800
RE: Problemas dsPIC y puerto B
« Respuesta #5 en: 16 de Junio de 2005, 11:47:00 »

Yo siempre intento usar lo menos posible las funciones hechas que traen los compiladires , asi se tiene mas control y se aprende muchisimo a dominar el cacharro .

Codigo:

 
   ConfigINT0(RISING_EDGE_INT /* FALLING_EDGE_INT */ );    // Obcional


   IPC0bits.INT0IP=1; /* nivel de prioridad INT0 */        // obcional

   IEC0bits.INT0IE=1; /* interrupcion INT0 activa */


 /* *********************************************************  */
  void  __attribute__((__interrupt__)) _INT0Interrupt(void)
 /* *********************************************************  */
  {



   IFS0bits.INT0IF = 0;  // borra flag


  }



Naturalmente el pin debe estar configurado como entrada

Tambien te sirven las funciones que trae como estas:

CloseINT0();
ConfigINT0(RISING_EDGE_INT & EXT_INT_PRI_5 & EXT_INT_ENABLE);