Академический Документы
Профессиональный Документы
Культура Документы
Disciplina:
Professor: Carlos Eduardo Carvalho
Turma: Data:
Aluno:
Tutorial Básico CodeWarrior
A interface do CodeWarrior:
Abrindo o CodeWarrior IDE, você verá a tela da figura 1.
Podemos ver que a diretiva #include continua presente, mas dessa vez em azul. Da mesma
forma que os comentários. Na verdade, todas as regras de sintaxe da linguagem C continuam a mesma
e deverão ser respeitadas na programação dos microcontroladores.
Estas duas linhas estão incluindo dois arquivos. O arquivo hidef.h e o arquivo derivative.h.
Este último pode ser encontrado na pasta Includes.
#include <MC9S08QG8.h>
Este arquivo é muito importante e ele auxilia muito na programação. Ele é a biblioteca de
definições de todos os registradores e bits do microcontrolador.
Todos os registradores do HCS08 (e de todos os microcontroladores do mundo!) estão
armazenados em endereços na memória. Quando programamos e precisamos utilizar um desses
registradores, teríamos que indicar o endereço correspondente ao registrador. Mas como temos essa
biblioteca, podemos chamar o registrador por um nome, o que facilita muito na hora de lembrar tudo
que precisa ser feito no programa.
Vamos olhar melhor esta biblioteca. Ainda na pasta includes, abra o arquivo MC9S08QG8.h.
Você deve ver uma tela igual a da figura 8.
EnableInterrupts;
Esta macro serve para habilitar as interrupções gerais ou globais. Você entenderá melhor
quando estudar as interrupções.
Depois disso, temos o loop infinito (for(;;)). Que legal, ele já foi escrito pra nós !! Alguém
sabia que nós iríamos usar... Perceba que tanto o loop infinito quanto o main, começam e terminam
com chaves ({ })
Dentro do loop infinito, temos uma função chamada :
__RESET_WATCHDOG();
else{
PTBD_PTBD6 = 0; //Apaga o led
}
int i;
Depuração:
Clique no botão Debug que está marcado na figura 15. Ele tem até o desenho de um bichinho...
Figura 15 – Botão Debug.
Este botão irá abrir outro software chamado de True – Time Simulator & Real – Time Debugger . Se
tudo estiver certo, você deverá ver uma tela igual a da figura 16.
if (PTAD_PTAD2 == 1){
e depois pula diretamente para o
} else{