MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    Ajuda com Interrupção Externa (TIMER 0) - PIC C Compiler

    doracenzi1
    doracenzi1
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 20/11/2012

    Ajuda com Interrupção Externa (TIMER 0) - PIC C Compiler Empty Ajuda com Interrupção Externa (TIMER 0) - PIC C Compiler

    Mensagem  doracenzi1 21/11/2012, 18:24

    ]Olá pessoal, estou com um problema em um projeto que esta a quase uma semana me atrasando, é o seguinte, eu preciso usar uma interrepção externa para que de tempo em tempo o PIC18F4550 envie a temperaturas lidas, esse bloco da leitura das temperaturas tem que ser em uma interrepção externa para nao atrapalhar no restante da função principal MAIN, o problema é que eu implementei o TIMER 0 como o fabricante do compilador diz, com toda a sintaxe correta(eu acho) e mesmo assim a interrpução nao ocorre, nao enviando os dados. Eu nao consigo mesmo achar o que esta de errado na implementação, por favor se alguem souber onde esta o erro me ajude, me de uma luz. Obrigado desde já. Deixo aqui em baixo o código implementado em C no PIC C compiler.


    #include <18F4550.h>
    #device adc=10
    #int_RTCC

    #FUSES NOWDT //No Watch Dog Timer
    #FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
    #FUSES INTRC_IO //Internal RC Osc, no CLKOUT
    #FUSES NOPROTECT //Code not protected from reading
    #FUSES NOBROWNOUT //No brownout reset
    #FUSES BORV20 //Brownout reset at 2.0V
    #FUSES NOPUT //No Power Up Timer
    #FUSES NOCPD //No EE protection
    #FUSES STVREN //Stack full/underflow will cause reset
    #FUSES NODEBUG //No Debug mode for ICD
    #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
    #FUSES NOWRT //Program memory not write protected
    #FUSES NOWRTD //Data EEPROM not write protected
    #FUSES IESO //Internal External Switch Over mode enabled
    #FUSES FCMEN //Fail-safe clock monitor enabled
    #FUSES PBADEN //PORTB pins are configured as analog input channels on RESET
    #FUSES NOWRTC //configuration not registers write protected
    #FUSES NOWRTB //Boot block not write protected
    #FUSES NOEBTR //Memory not protected from table reads
    #FUSES NOEBTRB //Boot block not protected from table reads
    #FUSES NOCPB //No Boot Block code protection
    #FUSES MCLR //Master Clear pin enabled
    #FUSES LPT1OSC //Timer1 configured for low-power operation
    #FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
    #FUSES PLL12 //Divide By 12(48MHz oscillator input)
    #FUSES CPUDIV4 //System Clock by 4
    #FUSES USBDIV //USB clock source comes from PLL divide by 2
    #FUSES VREGEN //USB voltage regulator enabled
    #FUSES ICPRT //ICPRT enabled

    #use delay(crystal=8000000)
    #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=Cool

    #DEFINE AN pin_D3
    #DEFINE BN pin_D4
    #DEFINE AP pin_D5
    #DEFINE BP pin_D6
    #DEFINE delay1 500


    int b = 0;
    char aux[4];
    int i = 0;
    float valor = 0;
    float diferenca = 0;
    int flag = 0;
    int aux1 = 0;
    int aux2 = 0;
    int16 valor_anal1 = 0, valor_temp1 = 0, valor_anal2 = 0, valor_temp2 = 0, valor_anal3 = 0, valor_temp3 = 0, valor_anal4 = 0, valor_temp4 = 0;

    void RTCC_isr(void)
    {
    //Sensores de temperatura
    set_adc_channel(0); // Canal do ADC 0
    delay_ms(1);
    valor_anal1 = read_adc(); // Lê o LM35 1
    valor_temp1 = (valor_anal1 * 0.00488) * 100; // Converte em graus celsius

    set_adc_channel(1); // Canal do ADC 1
    delay_ms(1);
    valor_anal2 = read_adc(); // Lê o LM35 2
    valor_temp2 = (valor_anal2 * 0.00488) * 100; // Converte em graus celsius

    set_adc_channel(2); // Canal do ADC 2
    delay_ms(1);
    valor_anal3 = read_adc(); // Lê o LM35 3
    valor_temp3 = (valor_anal3 * 0.00488) * 100; // Converte em graus celsius

    set_adc_channel(3); // Canal do ADC 3
    delay_ms(1);
    valor_anal4 = read_adc(); // Lê o LM35 4
    valor_temp4 = (valor_anal4 * 0.00488) * 100; // Converte em graus celsius

    //Envia para a porta serial a Temperatura lida do LM35
    printf("A%2.1fB%2.1fC%2.1fD%2.1f\n", (float)valor_temp1, (float)valor_temp2, (float)valor_temp3, (float)valor_temp4);

    }


    void main()
    {

    setup_adc_ports(AN0_TO_AN3);
    setup_adc(ADC_CLOCK_DIV_2);
    setup_psp(PSP_DISABLED);
    setup_spi(0);;
    setup_wdt(WDT_OFF);
    setup_timer_1(T1_DISABLED);
    setup_timer_2(T2_DISABLED,0,1);
    setup_ccp1(CCP_OFF);
    setup_comparator(NC_NC_NC_NC);
    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);
    enable_interrupts(INT_RTCC);
    enable_interrupts(GLOBAL);
    setup_oscillator(OSC_8MHZ|OSC_INTRC|OSC_31250|OSC_PLL_OFF);
    set_tris_a(0b11111111);


    while(true)
    {
    /*Captura do pacote enviado pela interface*/
    if (kbhit())
    {
    aux[0] = 0;
    aux[1] = 0;
    aux[2] = 0;
    aux[3] = 0;
    aux[4] = 0;
    aux[0] = getc(); //inicio do quadro
    aux[1] = getc();
    aux[2] = getc();
    aux[3] = getc();
    aux[4] = getc();

    putc(aux[0]);
    putc(aux[1]);
    putc(aux[2]);
    putc(aux[3]);
    putc(aux[4]);

    }
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Ajuda com Interrupção Externa (TIMER 0) - PIC C Compiler Empty Re: Ajuda com Interrupção Externa (TIMER 0) - PIC C Compiler

    Mensagem  criquio 21/11/2012, 18:52

    Aonde entra o Access na história?

    OBS: Favor não criar mais de um tópico com o mesmo assunto. Quando não tiver certeza do local adequado, poste no que lhe parecer mais lógico. Caso necessário, a moderação o mudará de sala.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Ajuda com Interrupção Externa (TIMER 0) - PIC C Compiler Empty Re: Ajuda com Interrupção Externa (TIMER 0) - PIC C Compiler

    Mensagem  criquio 22/11/2012, 18:55

    A pergunta que fiz acima foi para saber se está trabalhando com o Access em conjunto com outro programa ou se não diz respeito ao Access, pois o fórum trata exclusivamente de assuntos que tenham relação com o Access.

    Caso já tenha resolvido, favor clicar no botão Resolvido.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    doracenzi1
    doracenzi1
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 20/11/2012

    Ajuda com Interrupção Externa (TIMER 0) - PIC C Compiler Empty Re: Ajuda com Interrupção Externa (TIMER 0) - PIC C Compiler

    Mensagem  doracenzi1 22/11/2012, 19:10

    Trata de um trabalho em conjunto com o Access

    Conteúdo patrocinado


    Ajuda com Interrupção Externa (TIMER 0) - PIC C Compiler Empty Re: Ajuda com Interrupção Externa (TIMER 0) - PIC C Compiler

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 23:34