Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
Kollins

C18 ou XC8

Recommended Posts

Olá, Mundo.

Sou usuário Linux (ubuntu 12.04 64 bits) e possuo o MPLab e os compiladores C18 (3.40) e XC8.

No curso de programação que faço, o professor nos aconselhou a utilizar o compilador C18 3.46, no entanto, não encontrei esta versão para Linux.

Desta forma vou começar a praticar no XC8. O que é diferente de um compilador para o outro? Os comando são os mesmos?

Vou deixar aqui um programa que fiz no C18. O que eu não poderia fazer no XC8? Meu maior medo é de não conseguir realizar as atividades devido à esta mudança, mas se eu continuar no C18 não sei se vou conseguir também, já que estou com uma versão inferior.

#include<p18f4431.h>

// CONFIG1H

#pragma config OSC = IRCIO // Oscillator Selection bits (Internal oscillator block, port function on RA6 and port function on RA7)

#pragma config FCMEN = OFF // Fail-Safe Clock Monitor Enable bit (Fail-Safe Clock Monitor disabled)

#pragma config IESO = OFF // Internal External Oscillator Switchover bit (Internal External Switchover mode disabled)

// CONFIG2L

#pragma config PWRTEN = OFF // Power-up Timer Enable bit (PWRT disabled)

#pragma config BOREN = OFF // Brown-out Reset Enable bits (Brown-out Reset disabled)

// BORV = No Setting

// CONFIG2H

#pragma config WDTEN = OFF // Watchdog Timer Enable bit (WDT disabled (control is placed on the SWDTEN bit))

#pragma config WDPS = 32768 // Watchdog Timer Postscale Select bits (1:32768)

#pragma config WINEN = OFF // Watchdog Timer Window Enable bit (WDT window disabled)

// CONFIG3L

#pragma config PWMPIN = OFF // PWM output pins Reset state control (PWM outputs disabled upon Reset (default))

#pragma config LPOL = HIGH // Low-Side Transistors Polarity (PWM0, 2, 4 and 6 are active-high)

#pragma config HPOL = HIGH // High-Side Transistors Polarity (PWM1, 3, 5 and 7 are active-high)

#pragma config T1OSCMX = ON // Timer1 Oscillator MUX (Low-power Timer1 operation when microcontroller is in Sleep mode)

// CONFIG3H

#pragma config FLTAMX = RC1 // FLTA MUX bit (FLTA input is multiplexed with RC1)

#pragma config SSPMX = RC7 // SSP I/O MUX bit (SCK/SCL clocks and SDA/SDI data are multiplexed with RC5 and RC4, respectively. SDO output is multiplexed with RC7.)

#pragma config PWM4MX = RB5 // PWM4 MUX bit (PWM4 output is multiplexed with RB5)

#pragma config EXCLKMX = RC3 // TMR0/T5CKI External clock MUX bit (TMR0/T5CKI external clock input is multiplexed with RC3)

#pragma config MCLRE = OFF // MCLR Pin Enable bit (Disabled)

// CONFIG4L

#pragma config STVREN = ON // Stack Full/Underflow Reset Enable bit (Stack full/underflow will cause Reset)

#pragma config LVP = OFF // Low-Voltage ICSP Enable bit (Low-voltage ICSP disabled)

// CONFIG5L

#pragma config CP0 = OFF // Code Protection bit (Block 0 (000200-000FFFh) not code-protected)

#pragma config CP1 = OFF // Code Protection bit (Block 1 (001000-001FFF) not code-protected)

#pragma config CP2 = OFF // Code Protection bit (Block 2 (002000-002FFFh) not code-protected)

#pragma config CP3 = OFF // Code Protection bit (Block 3 (003000-003FFFh) not code-protected)

// CONFIG5H

#pragma config CPB = OFF // Boot Block Code Protection bit (Boot Block (000000-0001FFh) not code-protected)

#pragma config CPD = OFF // Data EEPROM Code Protection bit (Data EEPROM not code-protected)

// CONFIG6L

#pragma config WRT0 = OFF // Write Protection bit (Block 0 (000200-000FFFh) not write-protected)

#pragma config WRT1 = OFF // Write Protection bit (Block 1 (001000-001FFF) not write-protected)

#pragma config WRT2 = OFF // Write Protection bit (Block 2 (002000-002FFFh) not write-protected)

#pragma config WRT3 = OFF // Write Protection bit (Block 3 (003000-003FFFh) not write-protected)

// CONFIG6H

#pragma config WRTC = OFF // Configuration Register Write Protection bit (Configuration registers (300000-3000FFh) not write-protected)

#pragma config WRTB = OFF // Boot Block Write Protection bit (Boot Block (000000-0001FFh) not write-protected)

#pragma config WRTD = OFF // Data EEPROM Write Protection bit (Data EEPROM not write-protected)

// CONFIG7L

#pragma config EBTR0 = OFF // Table Read Protection bit (Block 0 (000200-000FFFh) not protected from table reads executed in other blocks)

#pragma config EBTR1 = OFF // Table Read Protection bit (Block 1 (001000-001FFF) not protected from table reads executed in other blocks)

#pragma config EBTR2 = OFF // Table Read Protection bit (Block 2 (002000-002FFFh) not protected from table reads executed in other blocks)

#pragma config EBTR3 = OFF // Table Read Protection bit (Block 3 (003000-003FFFh) not protected from table reads executed in other blocks)

// CONFIG7H

#pragma config EBTRB = OFF // Boot Block Table Read Protection bit (Boot Block (000000-0001FFh) not protected from table reads executed in other blocks)

void config_io(){

TRISB=0x02;

TRISC=0x00;

TRISD=0x00;

ANSEL0=0x00;

}

void main(){

OSCCON=0x72;

config_io();

while(1){

if(PORTBbits.RB1==0){

PORTDbits.RD0=0;

PORTCbits.RC3=1;

}

else{

PORTDbits.RD0=1;

PORTCbits.RC3=0;

}

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×