Por exemplo, se eu configuro o SPI-MASTER para rodar com clk/8 e MSB first e programar:
- Código: Selecionar todos
ldi r16, 0x11
out SPDR, r16
nop
nop
; (...) aqui estão 8*8 - 2 instruções NOP
nop
nop
ldi r16, 0x88
out SPDR, r16
O que deverá ser visto na porta MOSI, independe do SCK?
Gostaria que fosse visto isso (bits amostrados em clk/8):
- Código: Selecionar todos
..., 0,0,0,1,0,0,0,1,1,0,0,0,1,0,0,0, ...
Mas o micro consegue mesmo isto? Ou entre o "...,1,1,..." haverá algum tempo perdido, tal como por exemplo um periodo de oscilação do clock do micro?
E da mesma forma, se eu precisar ler o que foi recebido pela SPI nessa mesma cadência durante esta transmissão, posso fazer seguramente um "in r16, SPDR" em qual ponto?
O objetivo é preparar um low-cost Atmeta para ser responsável por esses streamming de bits (bit-banging) com diversos dispositivos, desde Sensores CMOS, LCDs sem VRAM e protocolos de comunicação variados, por exemplo USB1.1. Qualquer alternativa é bem vinda.
Abs!