Página 1 de 1

Algorítimo para contar 16 bits

MensagemEnviado: 17 Set 2018 14:17
por vtrx
Qual seria o algoritmo para endereçar 16 bits utilizando dois Ports de um Micro?
Endereçar paralelamente 16 bits(A0...AX).
Posso incrementar uma variável e ir dando saída num port,quando 'estourar'(port de 8 bits) o que faço para continuar com o outro port junto?
Seria para endereçar um RAM 6116 e depois uma memória de 16 bits de endereçamento.

Re: Algorítimo para contar 16 bits

MensagemEnviado: 17 Set 2018 15:13
por Red Neck Guy
Depende da arquitetura alvo, se for um mcu que tenha o Port e os tesgitradores de 16 ou mais da pra fazer direto.
Se for num mcu de 8 vbits, cria uma variável de 16, faz todas as operações nela e externa a parte alta e baixa pros porta. Que inclusive podem ser pinos de N de M ports.

Re: Algorítimo para contar 16 bits

MensagemEnviado: 17 Set 2018 15:17
por vtrx
O micro seria o STM32F103.

Re: Algorítimo para contar 16 bits

MensagemEnviado: 17 Set 2018 15:19
por cfreund
Código: Selecionar todos
uint16_t address;
...
addr++;

port_a = addr;
port_b = addr >> 8;

Re: Algorítimo para contar 16 bits

MensagemEnviado: 17 Set 2018 15:21
por cfreund
vtrx escreveu:O micro seria o STM32F103.


Esse é um micro 32 bits...

E tem 3 portas de 16 bits. (Não 8 como vc imaginou)

Re: Algorítimo para contar 16 bits

MensagemEnviado: 17 Set 2018 15:31
por vtrx
cfreund escreveu:
vtrx escreveu:O micro seria o STM32F103.


Esse é um micro 32 bits...

E tem 3 portas de 16 bits. (Não 8 como vc imaginou)

Sim,não imaginei 8 bits,queria usar 8 bits de um pois usando todos o port,tanto o A,B,etc,mato muitos periféricos do micro...

Re: Algorítimo para contar 16 bits

MensagemEnviado: 17 Set 2018 17:04
por cfreund
Então:

Código: Selecionar todos
uint16_t addr;

port_a = (port_a & 0xFF00) | (addr & 0x00FF):
port_b = (port_b & 0xFF00) | (addr >> 8) & 0x00FF;


Vantagem de usar um só port, é o DMA.