I
IceZero
Guest
Je dois faire quelque chose de mal parce que cela ne fonctionne pas comme je m'y attendais. Ce que je suis en train de faire, c'est de passer en 4 octets reçus de l'UART séquentiellement dans un registre de 32 bits. J'ai inclus mon code ci-dessous. Quand j'ai relu le registre 32-bit de l'UART, tous les octets 4-de la 32-bit registre contient le dernier octet reçu de l'UART. Il semble que quand je suis en ajoutant le uart_rx_data_out à uart_rx_opcode dans la dernière étape, c'est d'ajouter de la valeur à ce que tous les bits non seulement les bits 0 à 7 comme je m'attendais. Je vais probablement faire quelque chose de vraiment stupide.
Code:
if (cnt_rx_next == 0) begin / / Charger l'octet disponible en code OP uart_rx_opcode S'enregistrer = 32'h00000000 + uart_rx_data_out; / / incrémenter le compteur = cnt_rx_next cnt_rx_reg + 1; end else if (cnt_rx_next == 1) commencer / / Chargement de l'octet disponible en code OP S'enregistrer uart_rx_opcode = (uart_rx_opcode