Página 1 de 1

Problema cabeludo

MensagemEnviado: 30 Jun 2019 10:23
por vtrx
Imaginem,de repente mina interface Joystic/Teclado ficou louca quando leio os pinos E0,E1 do 18f4550.
Ja usai 3 Cis,ja revisei o programa e nada,le aleatoriamente estes pinos,só estes.
Ja desabilitei tudo e nada relacionado ao PORTe e nada,só falta programar usando C18 para ver se le estas portas direito,ja que o código original é CCS.
Se tiver que reescrever para C18,prefiro jogar tudo no lixo que recomeçar algo tão longo como foi o original...
Como pode retirar o CI funcionando de uma placa,colocar na outra e ficar doido.
Será possivel estes 18F4550 danificarem no mesmo lugar??

Re: Problema cabeludo

MensagemEnviado: 30 Jun 2019 11:25
por tcpipchip
parece software que bugou por alguma atualizacao do software or arquivo corrompido ?

Re: Problema cabeludo

MensagemEnviado: 30 Jun 2019 11:39
por vtrx
tcpipchip escreveu:parece software que bugou por alguma atualizacao do software or arquivo corrompido ?


Só falta a tarde eu testar com algo feito no C18 que só verifica a leitura deste port.
Fiz um teste com o Soft alterando a ordem de leitura usando E0 e E1,e o problema persiste.
Acho que não é o Soft pois eu usei um trecho de rotina que le o pino A0,que funciona normal,e troquei por E0 e o problema apareceu.
Comprei os 18F4550 no Mercado livre,e uso o PICkit 2 v2.61.
Poderia ser estática,má qualidade ou o gravador??

Re: Problema cabeludo

MensagemEnviado: 30 Jun 2019 13:07
por eletroinf
Nas vezes que eu me deparei com isso sempre era bug meu :roll:

Na última vez, eu tinha uma rotina de recepção de dados pela serial do STM32 que usava em vários casos.
Em uma aplicação eu precisei utilizar uns 20 m de cabo e a rotina começou a dar problema.
Depois de perder alguns cabelos eu descobri que o pino de RX da serial estava configurado como... saída! Aí, nos casos em que os cabos eram curtos o circuito do TX conseguia mudar o estado do RX mesmo configurado como saída. Quando eu aumentei o comprimento do cabo, isso já não funcionava mais e aí começaram os problemas.
Bole um fluxograma de revisão do código, veja as funções alternativas dos pinos, pull-up, pull-down, fuses...

Re: Problema cabeludo

MensagemEnviado: 01 Jul 2019 13:52
por vtrx
Fiz um teste aqui na firma(horas vagas)e a interface sem estar conectada,apenas com os terminais da placa funcionou como esperado.
Eu usei o gravador TL866CS para gravar.
Uso resistores de 4.7k (rede resistiva)nos ports que precisam,será que o valor não esta ok?
Será que o gravador fez diferença?
Será que a fiação está interferindo?
Só vou saber quando voltar em casa á noite...

Re: Problema cabeludo

MensagemEnviado: 01 Jul 2019 15:41
por pamv
O gravador não deve fazer diferença, né? Ele checa se gravou correto no final

Re: Problema cabeludo

MensagemEnviado: 02 Jul 2019 12:07
por vtrx
Achei o problema!
Uma 'ilha' do soquete sem o cobre de contato com o PIC.
Agora me expliquem o porque de um pino do PIC ficar sem referencia (5v),pino setado como entrada,interferir no pino adjacente?
PORTe como entrada,na verdade todos os PORTs disponível do 18F4550 setados como entrada,recebendo 5v via rede de resistores(4K7),o pino E0 ficou sem os 5v,o resto ficou Ok,esperando uma chave aterrar o pino para leitura.Quando aterrava,via chave,o pino E1,ele indicava que E0 e E1 foram acionados ao mesmo tempo.
Como isso pode acontecer se só E0 estava sem tensão?
Religando o pino ao pino do soquete,tudo funcionou normalmente.
Segue foto:

Re: Problema cabeludo

MensagemEnviado: 02 Jul 2019 12:41
por vtrx
Dizem que uma 'tragédia' é composta de vários fatores ao mesmo tempo...,é verdade mesmo.
No meu caso foram vários fatores que me enganaram.
1-Tinha feito uma atualização do Firmware para acrescentar mais umas Features.
2-Minha giga teste usa um soquete torneado e ja faz tempo que o utilizo.
3-Depois da atualização,retirei o CI,regravei e retornei o CI na giga,depois disso os 'problemas' começaram.
4-Achei que era o Software,retirei o CI novamente,regravei a versão original do Soft e retornei o CI na giga.
5-Como continuou o problema,achei que o PIC tinha 'pifado',usei outros dois que tinha e nada...
6-Começei a desconfiar da fiação ou chaves,e nada..
7-Usei uma placa nova,mas como não tinha outro soquete no momento,USEI O MESMO...
8-Usei um multímetro,para checar as tensões e fiz a 'cagada' de medir o pino do CI encostando a ponta de prova no pino do CI JUNTO com o pino do soquete,e a tensão estava 'OK'.
9-Achei que era o compilador (CCS)...
Finalmente comprei um soquete novo,não torneado,e usei outra placa nova,e tudo OK,daí comecei a vasculhar a parte 'certa' do problema...