Autor Tema: Problema no controle pino a pino com Hi-Tech  (Leído 1255 veces)

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

Desconectado MAUTV

  • PIC10
  • *
  • Mensajes: 15
Problema no controle pino a pino com Hi-Tech
« en: 12 de Abril de 2012, 16:15:08 »
Olá! Estou migrando para o compilador Hi-Tech, entretanto estou encontrando algumas dificuldades quanto o acionamento de pinos individuais como por exemplo.
Código: [Seleccionar]
#include <htc.h>
__CONFIG(FOSC_INTRCIO & WDTE_OFF & MCLRE_OFF & BOREN_OFF & CP_OFF & CPD_OFF);
#define _XTAL_FREQ 4000000

main()
{
    GPIO = 0X00;
    TRISIO = 0X00;

    while(1)
    {
         GP0 = 1;
         __delay_ms(300);
         GP0 = 0;
         __delay_ms(300);
 
     }
}

Desta forma tudo funciona perfeitamente, entretanto quando compilo este não funciona como esperado:

Código: [Seleccionar]
#include <htc.h>
__CONFIG(FOSC_INTRCIO & WDTE_OFF & MCLRE_OFF & BOREN_OFF & CP_OFF & CPD_OFF);
#define _XTAL_FREQ 4000000

main()
{
    GPIO = 0X00;
    TRISIO = 0X00;

    while(1)
    {
         GP0 = 1;
         GP1 = 1;
         GP2 = 1;
         GP4 = 1;
         __delay_ms(300);
        GP0 = 0;
        GP1 = 0;
        GP2 = 0;
        GP4 = 0;
         __delay_ms(300);
     }
}

Neste, apenas os pinos GP2 e GP4 funcionam. Este software esta escrito para o PIC12F629, mas este erro ocorre tambem quando programo o PIC16F877A em qualquer porta entretanto com outras falhas. (PORTA, PORTB, PORTC......)

Aguardo a ajuda para solucionar este problema.

Muito obrigado.

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Problema no controle pino a pino com Hi-Tech
« Respuesta #1 en: 12 de Abril de 2012, 19:27:19 »
  Debes deshabilitar los comparadores. Pon "CMCON = 7" justo antes de configurar el puerto.

Código: C
  1. #include <htc.h>
  2. __CONFIG(FOSC_INTRCIO & WDTE_OFF & MCLRE_OFF & BOREN_OFF & CP_OFF & CPD_OFF);
  3. #define _XTAL_FREQ 4000000
  4.  
  5. main()
  6. {
  7.  
  8.     CMCON = 7;
  9.     GPIO = 0X00;
  10.     TRISIO = 0X00;
  11.  
  12.     while(1)
  13.     {
  14.          GP0 = 1;
  15.          GP1 = 1;
  16.          GP2 = 1;
  17.          GP4 = 1;
  18.          __delay_ms(300);
  19.         GP0 = 0;
  20.         GP1 = 0;
  21.         GP2 = 0;
  22.         GP4 = 0;
  23.          __delay_ms(300);
  24.      }
  25. }
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado MAUTV

  • PIC10
  • *
  • Mensajes: 15
Re: Problema no controle pino a pino com Hi-Tech
« Respuesta #2 en: 13 de Abril de 2012, 00:50:17 »
Nossa, muito obrigado pela ajuda!

Foi certeiro.  ((:-))


 

anything