AT89S8253 spi problema na porta, ajuda

Y

Yoking

Guest
veja este exemplo de código C51: por que a * ptr ponto parâmetro ponteiro para os dados da ROM, ele funcione corretamente (não há necessidade de deixar: P0 = 0xff)! mas funcionar incorretamente quando o ponto de ponteiro para a memória RAM externa (Penomena: sempre faltando quatro alto bits em um byte), mas se acrescentando que cláusula: P0 = 0xff, ele funciona corretamente! como resolver o proble? causar P0 porto tem sido ocupado por outro usando no meu circuito! Nota: Quando eu usei o spi porta para enviar dados, eu encontrei o mesmo problema: eu tenho que adicionar esta cláusula: P0 = 0xff! esperando ansiosamente por sua ajuda, obrigado! SBIT clk = P1 ^ 7; SBIT dat = P1 ^ 5; mudança void (código unsigned char * ptr) {unsigned char c, temp1; temp1 = ~ * ptr; for (c = 0; c
 
[/b] [/url] em I / O de configuração. Se é algo que você não obtê-lo, retorno (com detalhes sobre o que é montado na porta P0) e vou tentar explicá-lo em conformidade.
 
[Quote = silvio] [quote = jugo] Penomena: sempre perdendo as altas quatro bits em um byte [/quote] Se é algo que você não obtê-lo, retorno (com detalhes sobre o que é montado na porta P0) e eu vou tentar explicá-lo em conformidade. [/quote] Obrigado silvio! 1: os altos quatro bits de um byte são sempre "1" isso é 0xfx (hex) 2: Eu tenho readed este tipo de arquivo PDF mil vezes! Eu não tenho idéia sobre a relação entre a operação e SPI = P1 0xff? você pode explaint (veja o anexo), graças,: |
 
Você pode postar o diagrama de todos? [Quote = jugo] eu não tenho nenhuma idéia sobre a relação entre a operação e SPI = P1 0xff? você pode explaint? [/quote] Por que realizar um bit-bang quando você tem SPI interface de hardware implementado em AT89S8253? No doc acima é claramente afirmado que alguns pinos pode usar funções alternativas (veja configuração de porta P3 que é muito semelhante com a porta P1 do AT89S8253. A fim de permitir o uso dessas funções, um "1" lógica deve ser writen ao pino coresponding . Se o fecho da saída recebeu um "0" na entrada D durante o acesso anterior do porto, então será difícil usá-lo em função alternativa desde uma das entradas da NAND é realizada em "0". É óbvio porque você precisa escrever um "1" antes de usar a função alternativa ou usando a porta, independentemente da gravação anterior a ele.
 

Welcome to EDABoard.com

Sponsor

Back
Top