LA $t1, TRISE
LI $t2, 0x0000
SW $t2, 0($t1)
LA $t1, TRISD
LI $t2, 0xFFFF
SW $t2, 0($t1)
LI $t8, 0b0000000001
LA $t1, PORTE
LA $t2, PORTD
LI $t7, 0x2000
Loop:
SW $t8, 0($t1)
SLL $t8,$t8,1
JAL determinedelay
NOP
SW $t8, 0($t1)
SLL $t8,$t8,1
JAL determinedelay
NOP
SW $t8, 0($t1)
SLL $t8,$t8,1
JAL determinedelay
NOP
SW $t8, 0($t1)
SLL $t8,$t8,1
SW $t8, 0($t1)
SLL $t8,$t8,1
SW $t8, 0($t1)
SLL $t8,$t8,1
SW $t8, 0($t1)
SLL $t8,$t8,1
SW $t8, 0($t1)
SRL $t8,$t8,1
SW $t8, 0($t1)
SRL $t8,$t8,1
SW $t8, 0($t1)
SRL $t8,$t8,1
SW $t8, 0($t1)
SRL $t8,$t8,1
SW $t8, 0($t1)
SRL $t8,$t8,1
SW $t8, 0($t1)
SRL $t8,$t8,1
SW $t8, 0($t1)
SRL $t8,$t8,1
SW $t8, 0($t1)
SRL $t8,$t8,1
SW $t8, 0($t1)
JAL Loop
NOP
determinedelay:
LI $t7, 0x2000
LW $t4,0($t2)
SRL $t4,$t4,8
mydelay:
ADDI $t7,$t7,-1
BGEZ $t7, mydelay
NOP
JR $ra
NOP
Ce code est censé allumer une LED, passer à gauche, tourner sur un autre, passer à gauche, arriver à l'extrémité gauche de la bande, répétez le même processus aller bien, et ainsi de suite dans une boucle sans fin.MIPS et PIC32 LED Clignoteur
Je crois que ma partie du code le fait correctement, mais j'ai des problèmes avec le délai. En fin de compte, le délai complet devra s'appuyer sur les entrées de commutation, mais je suis actuellement en train d'essayer de le faire fonctionner avec un délai de jeu cohérent. Lorsque je lance le programme, rien ne se passe sur le matériel.