Autor Tema: Ayuda con canales analogicos del 18f14k50 en ccs  (Leído 2086 veces)

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

Desconectado churrinfunflais

  • PIC12
  • **
  • Mensajes: 68
Ayuda con canales analogicos del 18f14k50 en ccs
« en: 30 de Septiembre de 2011, 15:07:35 »
Hola amigos...

tengo un problemita con los canales analogicos de el PIC 18f14k50 en especial el C2 (AN6) y el ADCON0 , espero que me puedan ayudar, aca les dejo una imagen y el codigo que estoy utilizando.

Código: [Seleccionar]
#include <18F14K50.h>
#device adc=8
#fuses xt, nowdt
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_b7, rcv=pin_b5, bits=8)

int acelerometro() {
    int valor, x, y, z;

    set_adc_channel(11);
    delay_ms(10);
    x = read_adc();

    set_adc_channel(10);
    delay_ms(10);
    y = read_adc();

    set_adc_channel(6);
    delay_ms(10);
    z = read_adc();

    if (z < x && z < y && z < 60) {
        valor = 1;
    } else if (z > x && z > y && z > 160) {
        valor = 2;
    } else if (x < y && x < z && x < 60) {
        valor = 3;
    } else if (x > y && x > z && x > 160) {
        valor = 4;
    } else if (y < x && y < z && y < 60) {
        valor = 5;
    } else if (y > x && y > z && y > 160) {
        valor = 6;
    } else {
        valor = 0;
    }
    return (valor);
}

void main(void) {

    setup_adc_ports(ALL_ANALOG);
    setup_adc(ADC_CLOCK_INTERNAL);
    setup_vref(VREF_OFF);

    int valor = 1;
    int flag = 0;

    while (TRUE) {
        while (valor != 0) {
            if (flag != 0) {
                putc(170);
                delay_ms(10);

                while (TRUE) {
                    valor = acelerometro();

                    if (valor == 0)
                        break;

                    putc(valor);
                    delay_ms(10);
                }

                putc(171);
                delay_ms(10);
            } else {
                flag = 1;
                valor = acelerometro();
            }
        }
        valor = acelerometro();
    }
    putc(valor);
}

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Ayuda con canales analogicos del 18f14k50 en ccs
« Respuesta #1 en: 30 de Septiembre de 2011, 16:40:11 »
Lo que pasa que es pic tiene todos sus canales de AD pero no todos funcionan, desde el A3 son los que funcionan. Entonces debes especificar que desde ahi seran analogicos y lo mismo al selecionar el canal.

Desconectado churrinfunflais

  • PIC12
  • **
  • Mensajes: 68
Re: Ayuda con canales analogicos del 18f14k50 en ccs
« Respuesta #2 en: 03 de Octubre de 2011, 21:02:22 »
no sera un problema de fusibles???


 

anything