Autor Tema: Port D con 18f45k80 no funcionan como salidas RD4 a RD7  (Leído 4546 veces)

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

Desconectado GusTor

  • PIC10
  • *
  • Mensajes: 10
Port D con 18f45k80 no funcionan como salidas RD4 a RD7
« en: 01 de Abril de 2022, 10:47:42 »
Hola a todos, alguien me podria indicar si lo resolvio para que funcionen como salidas los pines RD4 a RD7 en el pic 18f45k80, ya probe de todo, quizas se me pasa algun FUSE, estoy usando CCS, lo estoy usando en 64MHz y lo utilizo en placas que ya utilizaban el 18F4620, tambien ya probe escribir cada pin con output_high(...) y escribir directo cada pin del port, los otros pines si me funcionan. Gracias de antemano por alguna data

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Port D con 18f45k80 no funcionan como salidas RD4 a RD7
« Respuesta #1 en: 01 de Abril de 2022, 10:56:19 »
Hola a todos, alguien me podria indicar si lo resolvio para que funcionen como salidas los pines RD4 a RD7 en el pic 18f45k80, ya probe de todo, quizas se me pasa algun FUSE, estoy usando CCS, lo estoy usando en 64MHz y lo utilizo en placas que ya utilizaban el 18F4620, tambien ya probe escribir cada pin con output_high(...) y escribir directo cada pin del port, los otros pines si me funcionan. Gracias de antemano por alguna data

Una pregunta ¿Qué es lo que estás tratando de activar o controlar con los terminales RD4 y RD7?
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado GusTor

  • PIC10
  • *
  • Mensajes: 10
Re:Port D con 18f45k80 no funcionan como salidas RD4 a RD7
« Respuesta #2 en: 01 de Abril de 2022, 13:35:07 »
Esos pines los utilizo para un lcd de caracteres,necesito como salida todo el port D, para probar le puse una R de 1K y en el osciloscopio aparecen pulsos de algunos microsegundos, no lo llegue a capturar, pareciera como si tienen otra funcion por defecto, me lei la hoja de datos 18f66k80, pero no encontre nada...Una cosa a tener en cuenta, el pin RB2 tampoco me funcionaba como salida y puse el Fuse CANC y ahi si me anduvo y me dejo de andar RC7, con lo cual intui que la utiliza para la recepcion cel CAN, pero necesito que casi todos los pines sean salida y no lo logro

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Port D con 18f45k80 no funcionan como salidas RD4 a RD7
« Respuesta #3 en: 01 de Abril de 2022, 13:42:46 »
Esos pines los utilizo para un lcd de caracteres,necesito como salida todo el port D, para probar le puse una R de 1K y en el osciloscopio aparecen pulsos de algunos microsegundos, no lo llegue a capturar, pareciera como si tienen otra funcion por defecto, me lei la hoja de datos 18f66k80, pero no encontre nada...Una cosa a tener en cuenta, el pin RB2 tampoco me funcionaba como salida y puse el Fuse CANC y ahi si me anduvo y me dejo de andar RC7, con lo cual intui que la utiliza para la recepcion cel CAN, pero necesito que casi todos los pines sean salida y no lo logro

Hice la pregunta, porque parece que el puerto D no puede suministrar o recibir (siendo salida) mucha corriente. tal vez sea ese tu problema.


Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado GusTor

  • PIC10
  • *
  • Mensajes: 10
Re:Port D con 18f45k80 no funcionan como salidas RD4 a RD7
« Respuesta #4 en: 01 de Abril de 2022, 13:46:39 »
Igualmente estoy midiendo las salidas sin carga, con el osciloscopio,genere una cuadrada en el portd y mido cada pin sin carga, funcionan los pines RD0 a RD3 pero nada en RD4 a RD7

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Port D con 18f45k80 no funcionan como salidas RD4 a RD7
« Respuesta #5 en: 01 de Abril de 2022, 13:48:06 »
Igualmente estoy midiendo las salidas sin carga, con el osciloscopio,genere una cuadrada en el portd y mido cada pin sin carga, funcionan los pines RD0 a RD3 pero nada en RD4 a RD7

Deberías compartir la configuración de los terminales para determinar si algo te falta o algo está demás.
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado GusTor

  • PIC10
  • *
  • Mensajes: 10
Re:Port D con 18f45k80 no funcionan como salidas RD4 a RD7
« Respuesta #6 en: 01 de Abril de 2022, 14:11:57 »
Si ok, ahi va:

 set_tris_b(0);
    set_tris_d(0);
   //lcd
   output_low(lcd_rs_tris);
   output_low(lcd_e_tris);
   output_low(D0_tris);
    output_low(D1_tris);
    output_low(D2_tris);
    output_low(D3_tris);
    output_low(D4_tris);
    output_low(D5_tris);
    output_low(D6_tris);
    output_low(D7_tris);


y declarados como bits en un h :

#bit D0 = portd.0
#define D0_tris PIN_D0
#bit D1 = portd.1
#define D1_tris PIN_D1
#bit D2 = portd.2
#define D2_tris PIN_D2
#bit D3 = portd.3
#define D3_tris PIN_D3
#bit D4 = portd.4
#define D4_tris PIN_D4
#bit D5 = portd.5
#define D5_tris PIN_D5
#bit D6 = portd.6
#define D6_tris PIN_D6
#bit D7 = portd.7
#define D7_tris PIN_D7

nuevamente aclaro que los demas pines me funcionan bien solo RD4, RD5 RD6 y RD7 no me funcionan como salida, ayer estuvetodo el dia probando, despues retomo a seguir buscando en el datasheet, pero si a alguno le paso, me sirve que me tiren algun dato

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Port D con 18f45k80 no funcionan como salidas RD4 a RD7
« Respuesta #7 en: 01 de Abril de 2022, 14:22:09 »
Si ok, ahi va:

 set_tris_b(0);
    set_tris_d(0);
   //lcd
   output_low(lcd_rs_tris);
   output_low(lcd_e_tris);
   output_low(D0_tris);
    output_low(D1_tris);
    output_low(D2_tris);
    output_low(D3_tris);
    output_low(D4_tris);
    output_low(D5_tris);
    output_low(D6_tris);
    output_low(D7_tris);


y declarados como bits en un h :

#bit D0 = portd.0
#define D0_tris PIN_D0
#bit D1 = portd.1
#define D1_tris PIN_D1
#bit D2 = portd.2
#define D2_tris PIN_D2
#bit D3 = portd.3
#define D3_tris PIN_D3
#bit D4 = portd.4
#define D4_tris PIN_D4
#bit D5 = portd.5
#define D5_tris PIN_D5
#bit D6 = portd.6
#define D6_tris PIN_D6
#bit D7 = portd.7
#define D7_tris PIN_D7

nuevamente aclaro que los demas pines me funcionan bien solo RD4, RD5 RD6 y RD7 no me funcionan como salida, ayer estuvetodo el dia probando, despues retomo a seguir buscando en el datasheet, pero si a alguno le paso, me sirve que me tiren algun dato

Creo que debes ocupar LAT para utilizar un puerto como salida. PORT se utiliza para entradas.
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Port D con 18f45k80 no funcionan como salidas RD4 a RD7
« Respuesta #8 en: 01 de Abril de 2022, 14:23:06 »
Si ok, ahi va:

 set_tris_b(0);
    set_tris_d(0);
   //lcd
   output_low(lcd_rs_tris);
   output_low(lcd_e_tris);
   output_low(D0_tris);
    output_low(D1_tris);
    output_low(D2_tris);
    output_low(D3_tris);
    output_low(D4_tris);
    output_low(D5_tris);
    output_low(D6_tris);
    output_low(D7_tris);


y declarados como bits en un h :

#bit D0 = portd.0
#define D0_tris PIN_D0
#bit D1 = portd.1
#define D1_tris PIN_D1
#bit D2 = portd.2
#define D2_tris PIN_D2
#bit D3 = portd.3
#define D3_tris PIN_D3
#bit D4 = portd.4
#define D4_tris PIN_D4
#bit D5 = portd.5
#define D5_tris PIN_D5
#bit D6 = portd.6
#define D6_tris PIN_D6
#bit D7 = portd.7
#define D7_tris PIN_D7

nuevamente aclaro que los demas pines me funcionan bien solo RD4, RD5 RD6 y RD7 no me funcionan como salida, ayer estuvetodo el dia probando, despues retomo a seguir buscando en el datasheet, pero si a alguno le paso, me sirve que me tiren algun dato

Creo que debes ocupar LAT para utilizar un puerto como salida. PORT se utiliza para entradas.

Es decir algo así:

Código: C
  1. #bit D7 = latd.7
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado GusTor

  • PIC10
  • *
  • Mensajes: 10
Re:Port D con 18f45k80 no funcionan como salidas RD4 a RD7
« Respuesta #9 en: 01 de Abril de 2022, 14:31:23 »
Ayer lo probe y nada, por eso creo que es de los Fuses, alguna funcion por defecto de esos pines

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Port D con 18f45k80 no funcionan como salidas RD4 a RD7
« Respuesta #10 en: 01 de Abril de 2022, 14:34:45 »
Ayer lo probe y nada, por eso creo que es de los Fuses, alguna funcion por defecto de esos pines

me imagino que también estás desactivando las entradas como analógicas y comparadores que puedan poseer los terminales que tienes problemas ¿verdad?
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado GusTor

  • PIC10
  • *
  • Mensajes: 10
Re:Port D con 18f45k80 no funcionan como salidas RD4 a RD7
« Respuesta #11 en: 01 de Abril de 2022, 14:51:33 »
Le puse esto     

 setup_adc_ports(NO_ANALOGS);

pero de comparadores no vi, lo que si quise usar la funcion para apagar la transmision pero me dio error, lo saque de 18f45k80.h
////////////////////////////////////////////////////////////////// UART
// UART Prototypes:
_bif void setup_uart(int32 baud);
_bif void setup_uart(int32 baud, int8 stream);
_bif void setup_uart(int32 baud, int8 stream, int32 clock);
_bif void set_uart_speed(int32 baud);
_bif void set_uart_speed(int32 baud, int8 stream);
_bif void set_uart_speed(int32 baud, int8 stream, int32 clock);
// Constants used in setup_uart() are:
// FALSE - Turn UART off
// TRUE  - Turn UART on
#define UART_ADDRESS           2
#define UART_DATA              4
#define UART_AUTODETECT        8
#define UART_AUTODETECT_NOWAIT 9
#define UART_WAKEUP_ON_RDA     10
#define UART_SEND_BREAK        13
En teoria si le paso un false o cero a la funcion deberia apagar la transmision, pero me dio error cuando la llamo, despues voy a ver el bit de que registro la apaga, en los fuses no encontre nada

Ahora busco de los comparadores a ver si encuentro algo

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3549
Re:Port D con 18f45k80 no funcionan como salidas RD4 a RD7
« Respuesta #12 en: 01 de Abril de 2022, 14:58:39 »
A mi también me ha pasado, tienes que usar los reg. LAT.
Yo los defino a mano (#Byte LATD dirección) tanto el Byte como sus bit asociados, y lo mismo hago con sus respectivos registros ANSEL.

Bueno yo uso el PIC18F46k22 que imagino que será igual.
Saludos desde Granada, España.

Desconectado GusTor

  • PIC10
  • *
  • Mensajes: 10
Re:Port D con 18f45k80 no funcionan como salidas RD4 a RD7
« Respuesta #13 en: 01 de Abril de 2022, 15:33:32 »
Acabo de probar esto:

           #byte LatD = 0xf8c esto lo defino en el h

            bit_set(LatD,4);
            bit_set(LatD,5);
            bit_set(LatD,6);
            bit_set(LatD,7);

Desconectado GusTor

  • PIC10
  • *
  • Mensajes: 10
Re:Port D con 18f45k80 no funcionan como salidas RD4 a RD7
« Respuesta #14 en: 01 de Abril de 2022, 15:37:16 »
Acabo de probar esto:

           #byte LatD = 0xf8c esto lo defino en el h

            bit_set(LatD,4);
            bit_set(LatD,5);
            bit_set(LatD,6);
            bit_set(LatD,7);

Me falto poner que no funciono