Página 1 de 3

Erratas do livro Microcontroladores PIC: Programação em C

MensagemEnviado: 16 Out 2006 18:05
por Fábio Pereira
Olá Pessoal,

As erratas atualizadas para as cinco edições do livro estão disponíveis no site da editora Érica: http://www.editoraerica.com.br/erratas/9352_5.exe

Até +

MensagemEnviado: 16 Out 2006 23:44
por xultz
.exe???
Como executo o patch no meu livro?

MensagemEnviado: 17 Out 2006 03:52
por Maurício
:D :D

boa !!!

[]'s

RETI.

MensagemEnviado: 17 Out 2006 08:37
por Fábio Pereira
Huahuahuahua,

É um arquivo .DOC compactado num arquivo self-extract.

Até +

MensagemEnviado: 17 Out 2006 09:58
por xultz
Poxa Fábio, pense que nem todo mundo usa Windows para descompactar via .exe. Se publicar em .zip já facilita bastante. Mas o ideal é publicar em pdf mesmo, que não corre o risco de perder formatação do texto...

MensagemEnviado: 17 Out 2006 10:14
por Fábio Pereira
Bom,

Diga isso a editora ...

Eu envio o arquivo em .DOC .

Até +

MensagemEnviado: 26 Abr 2007 09:00
por hemasc
Página 307 - Inserir após décima quinta linha

tecla.nova=0


acho que faltou o ; (ponto e vírgula), ou seja, então fica assim...


tecla.nova=0;

MensagemEnviado: 27 Abr 2007 12:07
por Lorin
Olhe, até agora de todo o livro este exemplo comigo, foi o que funcionou parcialmente.

A página 307(sem a errata) está assim:

}

main()
{
// O registrador CMCON somente está implementado nas versões "A"
//CMCON = 7; // desabilita comparadores analógicos
ADCON1 = 7; // desabilita entradas analógicas
lcd_ini (); // inicializa display
rs232_inicializa(); // inicializa pinos RS232
while (true)
{
tecla = trata_teclas();
if (tecla.nova)
// caso exista tecla pressionada
{
rs232_transmite (tecla.cod_tecla); // envia a tecla
// apresenta no display LCD
switch (tecla.cod_tecla)
{
// shift + 0 apaga o display
case 80 : lcd_escreve ('\f');
break;
// ... outros comandos podem ser adicionados aqui
default : lcd_escreve (tecla.cod_tecla);
}
}
delay_ms(10); // tempo entre varreduras
}
}

Eu inseri a linha de código tecla.nova=0; (COM O PONTO E VIRGULA) aqui:
.
.
.
// caso exista tecla pressionada
{
tecla.nova=0;
rs232_transmite (tecla.cod_tecla); //envia a tecla
// apresenta no display LCD
.
.
.

Montei o exemplo na protobord com um PIC 16F877A com todas as adptações de soft e hardware(nos pinos) que consegui abranger e visualizar, pois este teclado deste exemplo difere do teclado da Microlab X1 a qual vinha utilizando.
O exemplo não funcionou a contento... e eu deixei de mão um pouco o mesmo.

E aí HEMASC eu aproveito o tópico e pergunto:

1) o seu exemplo deu certo? com o 16f876?

2) o posicionamento da linha tecla.nova=0; é esse aí em cima?

Blz, obrigado pelas respostas...

Tenho uma foto da montagem na minha câmara depois posto aqui.

Sdçs

MensagemEnviado: 27 Abr 2007 12:39
por Lorin
Segue as fotos:

Imagem

Essa é o estado da minha mesa naquele dia...

[img=http://img338.imageshack.us/img338/1028/exemplo1220emc002uk3.jpg]

Esta é a foto da primeira montagem errada pois, na segunda montagem (que funcionou parcialmente e não tirei fotos...) eu mudei os pinos de conecção do 16F877A com o LCD:
Para dados passei a usar os pinos 30 (RD7), 29 (RD6), 28 (RD5) e 27(RD4) do 16f877A e para o enable e rs do LCD passei a usar os pinos RE1 e RE0 do 16f877A, assim ficou a montagem compatível com a rotina MOD_LCD.C da página 314 do livro.

O resultado foi que o LCD apresenta hora o caractere x, ora o y...
E o teclado não obedecia ou respondia algumas teclas...

Obrigado pela atenção!

Sdçs

MensagemEnviado: 27 Abr 2007 12:43
por Lorin
Link correto da segunda foto da montagem na proto:

Imagem

Mas já desmontei tudo...

sdçs

MensagemEnviado: 27 Abr 2007 13:04
por Lorin
Outra foto maior:

Imagem

Desculpem aeh a má postagem das fotos...falta de prática!

Sdçs

MensagemEnviado: 27 Abr 2007 17:27
por Fábio Pereira
Vou verificar com a editora, pois na sexta edição do livro a modificação está correta (inclusive com o ponto e vírgula).

T+

MensagemEnviado: 28 Abr 2007 11:20
por Lorin
Obrigado Fábio pela resposta!

Vou remontar qualquer hora com mais calma este exemplo e tenho certeza que o bicho funciona!

Esse seu livro eu devia ter pego logo a mais tempo. Passei vendo outros e deixei este por último...está meio velhinho, mas muito bom, é e básico para todos os outros seus livros, quem vê ele pega o livro do MSP e Freescale fácil...Eu fiz o contrário entrei pelo mais complexo que foi com o MSP430, estou falando para os que nunca viram a linguagem C como eu.

Agradeço também o toque e a DICA do Renie abaixo:

reniemarquet@uol.com.br diz:
no proto, coloque sempre o cristal grudado no pic, do jeito que vc montou dá problemas pacas
Lourinaldo diz:
È verdade...teve uns errinhos lá, que corrigir na segunda montagem que não tirei a foto...colocar o xtal diretamente nos pinos sem cabeação intermediária não é
reniemarquet@uol.com.br diz:
isso, os cap dele tb
Lourinaldo diz:
Mas na ocasião eu medir com o frequencimento do multimento e tava certinho em 4 Mhz...

Então agora vou fazer assim como o mestre Renie mandou:

Imagem

È a falta de prática com a proto!

Sdçs

MensagemEnviado: 05 Mai 2007 21:39
por hermes
Olá,

Na descrição da função SPI_READ, página 244, aparece

res = spi_data_is_in (dado)

Não seria SPI_READ?

[]'s

OBS: Tenho a primeira edição, comprei em 2003...hehehe...

MensagemEnviado: 07 Mai 2007 07:35
por Fábio Pereira
Olá Hermes,

É isso mesmo ... A sintaxe é res = spi_read (dado) e não res = spi_data_is_in(dado) como está escrito.

Obrigado pela observação. Vou incluir isto na errata do livro.

Obrigado e até +