quinta-feira, 6 de agosto de 2009

Usando o código do IO Wizard.

Bom, se você seguiu todos os passos do post anterior, você deve ter em mãos, ou no local em que escolheu salvar os arquivos, 3 arquivos:

config.c - Este vamos usar

config.h - Este não vamos usar

sfr_R8C1Aconfig.h - Este já temos no nosso projeto, é o mesmo que o sfr_r81b.h

O config.h basicamente tem o protótipo de algumas funções e interrupções, nada que não possa ser reescrito no ktp.c, ou mesmo criar um ktp.h. Para manter as coisas simples, vou reescrever tudo no ktp.c. O outro arquivo que vamos solenemente ignorar é o que contém os special function registers (sfr para os intimos), pois já temos um no nosso projeto.

Vamos as modificações no ktp.c. Primeiro os includes, que no nosso caso é só um! No arquivo, antes do main escreva:

#include "sfr_r81b.h"

Pronto, agora como você pode ver, temos o main mas não o protótipo dele, logo, escreva antes do #include o famoso void main(void); uma outra função que vamos precisar de protótipo é a init, então já coloca o protótipo dela, juntando tudo fica assim:

void main(void);
void init(void);
#include "sfr_r81b.h"


Agora é só copiar do arquivo config.c da linha int i=0; para baixo até as funções de interrupção da serial, essas não vamos precisar, e colar no lugar do main no arquivo ktp.c, fácil não? Se tudo correr bem seu arquivo deve ficar assim:


Falta só uma coisa para nossa serial funcionar, primeiro na configuração do IO WIzard ele faz a padrão, ou seja, apenas transmite, então mude o re_u1c1=0 para re_u1c1=1, este é o Receive Enable bit do registrador u1c1, ok?

Também não foi feita a configuração dos IO's a serem utilizados, então temos que colocar logo abaixo desta linha a linha:

u1sel0=1; u1sel1=1;

Que faz a seleção dos pinos do TX e RX da UART1.

É claro que vou colocar esse arquivo no files do grupo, se ainda não entrou, entre!http://groups.google.com.br/group/renesas_brasil

Procure pelo arquivo mod1.zip, descompacte no workspace que você já tem, substituindo o ktp.c existente e teste.

Até a próxima.

Nenhum comentário:

Postar um comentário