Bonjour à tous,
Voilà, je suis en train de créer en software la gestion du bus série.
Je dois envoyer une suite de 32 bits.
Pour ce, j'ai créé 4 variables comme suit :
CBLOCK 0x20
serial_data : 4
ENDC
Et c'est là que je cherche à optimiser mon code.
La solution la plus intuitive est de faire comme suit :
BTFSC serial_data, 0
BSF SDat
BSF SClk
BCF SClk
BCF SDat
BTFSC serial_data, 1
BSF SDat
BSF SClk
BCF SClk
BCF SDat
BTFSC serial_data, 2
BSF SDat
BSF SClk
BCF SClk
[...]
BTFSC serial_data+1, 0
BSF SDat
BSF SClk
BCF SClk
BCF SDat
BTFSC serial_data+1, 1
BSF SDat
BSF SClk
BCF SClk
etc ...
Auriez-vous une solution utilisant une autre variable, de manière à faire ce qu'on aurait fait en C par exemple
for(i=0;i<4;i++) {
for(j=0; j<8; j++) {
BTFSC serial_data+i, j
...
}
}
Merci
-----