Página 1 de 1

Modificação biblioteca RS232 Fabio Pereira

MensagemEnviado: 15 Abr 2009 16:39
por denis neves
Olá galera,

Bom... esta pergunta é, em especialmente, para o Fábio Pereira, mas quem puder me ajudar eu agradeço muito.

Vamos ao problema,

eu estou implementando um programa simples com o PIC12F675 onde o mesmo tem que ler um botão e se o botão for apertado envia um caracter (P) pela serial.

Até ai tudo bem, mas como o 12F675 não possui modulo de comunicação RS232 eu estou usando a biblioteca do livro (PIC programação em C do Fabio) que faz a comunicação por software.

O grande problema está sendo em adaptar as configurações de pinagem do exemplo (que está configurado para o PIC16F877) para o PIC12F675.

A parte que eu estou com dificuldades de adaptação está a seguir (16F877).

//definiçao dos pinos de comunicaçao
//para utilizar outros pinos, basta incluir novas definiçoes
//no arquivo do programa onde esta biblioteca for incluida
#bit pino_tx = 0x06.0
#bit pino_rx = 0x06.1
#bit dir_tx = 0x86.0
#bit dir_rx = 0x86.1

Se alguém puder me ajudar eu fico muito grato!!!

Abraços.

MensagemEnviado: 15 Abr 2009 16:47
por ZetaOne
Sou novato tb, mas acho que posso te ajudar.

#bit pino_tx = 0x06.0
#bit pino_rx = 0x06.1
#bit dir_tx = 0x86.0
#bit dir_rx = 0x86.1

O 0x06 significa que é o endereço do PORTB do pic. Portanto ele ta usando o PORTB o Pino 0 para o tx.

O pino_tx é o pino 0 do portb.

No datasheet do microcontrolador tem o endereço das portas.

MensagemEnviado: 15 Abr 2009 16:53
por denis neves
Hummm...

vou dar uma olhada nos datasheets dos PICs.

QQ duvida eu posto aqui !!!

Muito obrigado.

MensagemEnviado: 15 Abr 2009 16:55
por ZetaOne
Melhorando...

Acho que no seu caso ficaria assim:

#bit pino_tx = 0x05.0 //endereço do GPIO pino GP0
#bit pino_rx = 0x05.1 //endereço do GPIO pino GP1
#bit dir_tx = 0x85.0 //endereço TRISIO. Definindo GP0 como saída.
#bit dir_rx = 0x85.1 //endereço TRISIO. Definindo GP1 como entrada.

MensagemEnviado: 15 Abr 2009 16:59
por denis neves
Hãnnnn....

legal, eu acabei de ver no datasheet do PIC e o endereço é esse msm 0x05...legal !!!

vou fazer os testes aqui e qq duvida ou resultado eu posto !!!

Muito obrigado ZetaOne !!!

Abraço.

MensagemEnviado: 17 Abr 2009 14:37
por denis neves
Tudo bem galera ?!?

Bom...deu certo o que eu queria fazer...muito obrigado !!!

Agora surgiu uma outra duvida....

Eu fiz uma rotininha para fazer algumas funções com o PIC e eu gostaria de saber como eu faço para transformar essa rotina em uma biblioteca onde futuramente , quando eu quizer usar, eu chamo ela no meu programa principal.

Alguem poderia me passar uma receitinha de bolo de como eu poderia fazer isso !?!?

Desculpem as perguntas, eu sei que vocês estão cansados de fazer isto, mas é que eu estou começando na àrea de uC e ainda não sei fazer isto !!!

Eu estou usando o PIC 12F675 com compilador CCS !!!

Muito obrigado !!!

MensagemEnviado: 17 Abr 2009 14:49
por tchuky
você deve criar um outro arquivo de codigo fonte que seria a sua bibioteca, ex: calculo.c

dentro desse arquivo vc coloca as suas funcoes ex:

int calcula(int a,int b){
return a+b;
}

...
....

depois vc chama esse arquivo no seu programa principal ex:

#include "calculo.c"

e agora é so chamar os metodos no seu programa.


flw

MensagemEnviado: 17 Abr 2009 15:01
por denis neves
Hummm...legal !!!

vou tentar fazer uma biblioteca com a rotininha que eu tenho aqui aew qq duvida eu posto aqui !!!


Muito obrigado pela resposta !!!

Denis.

MensagemEnviado: 18 Abr 2009 10:37
por _blackmore_
outra coisa ... tu pode ir salvando as rotinas que tu acha necessárias em um arquivo rotinas.h ... e depois no programa tu coloca um #include <rotinas.h> ...
pronto ... tuas rotinas estarão sempre disponíveis sem precisar de mais e mais includes ... vai a gosto do freguês ... entendeu?

abrax!