PIC problema C leitura porto ASM vs.C

K

kotshe

Guest
Hey;Eu usei o programa pela ASM e agora eu prefiro c, e algo que eu não conseguia entender errado comigo:

Como eu lido porta em linguagem C,

por asm eu faço:

MOVWF portd

e eu tenho portd resultado em regitser w

mas ci fez:

picreadresult = portd, e todos os repente, eu não a ter os valores de entrada correto, onde está o problema poderia ser,

muito obrigado

 
Oi.Em assembley mover o w registar-se para portd, então se você quiser fazer a mesma coisa, mas em c você tem para fazer isso:

= Picreadresult portd, não picreadresult = portd, desta forma você está se movendo para portd picreadresult.
assembley em:

MOVF picreadresult, w
MOVWF Portd.

 
oi;

isso não é o que eu quis dizer, talvez eu didnt explicar a minha auto bem
vamos dar exemplo:

if (PORTDbits.RD5! = 0)
(
LATDbits.LATD2 = 1; / u / d alta
)
Isso deve funcionar quando você aplica a lógica de 1 a RD5, RD2 tem que estar, assumindo o que eu tenho a correta configuração I / O trisd = 0b11111000, mas isso não é surpresa o trabalho, porém se eu mudar a condição de outro pino em outra porta "Se (PORTBbits.RB5! = 0)" o seu trabalho bem, e apenas para seu RD5 sua portd para todos, de modo a que me referi a ficha de onde eu não poderia algo fino que ajuda para resolver este problema e talvez eu perdi uma configuração importante que eu deveria ter que fazer enquanto eu estou usando portd como TTL.

 
Oi

Desculpe pelo outro post, a minha lol .... Inglês.

A inicialização portd está correto, eu nunca tive problemas com portd tentar desativar o modo de PSP, mas acho que este não é o problema, se o problema persistir tente substituir por outros pic ou colocar todos os pinos portd como entrada, você já substituí-lo? ?

 
Hey,

Eu acho que existem vários compiladores C PIC em que os códigos serão bastante diferentes uns dos outros.
Por exemplo, o CCS C e C Hi-tech é muito diferente.oi-tech é mais perto de montagem, CCS é um pouco mais fácil de entender (Thay tem um bom manual para começar bem).

Então eu acho que a pergunta deveria ser mais específico .... lol

 
bem obrigado pela resposta, eu descobri que os pinos mesmo isso não é trabalho como entrada que não estão trabalhando como de saída, onde eu tenho certeza que eu usava antes, seria condição para pic micro que vários pinos de ida, e não qualquer trabalho mais ou seu tipo de configuração que eu deveria estar ciente.Talvez eu tenha mudado los por engano o que tornaria esta pinos não funciona.e se houver ido, porque o que esta coisa??

Obrigado

 
Verifique se o pino não é usado como entrada analógica para o conversor A / D.Alguns pinos devem ser estabelecidos para o modo analógico ou digital e analógico são definidos como na restauração.
Verifique se os pinos não são utilizados para uma comparação, mais uma vez que têm de ser configurados para digital I / O.

 

Welcome to EDABoard.com

Sponsor

Back
Top