Ces codes ci-dessous sont l'exemple du programme de clignotement de LED pour blackfine bf537 les voyants clignotent de droite à gauche et de bascule arrière. /**/blackfin bf537 LED clignotant
EX_INTERRUPT_HANDLER(Timer0_ISR)
{
// confirm interrupt handling
*pTIMER_STATUS = 0x0001;
// shift old LED pattern by one, left to right
if(sLight_Move_Direction)
{
if((ucActive_LED = ucActive_LED >> 1) <= 0x0020) ucActive_LED = 0x1000;
}
else
{
if((ucActive_LED = ucActive_LED << 1) == 0x0020) ucActive_LED = 0x0020;
}
// write new LED pattern to PORTF LEDs
*pPORTFIO_TOGGLE = ucActive_LED;
/**/
Maintenant, je suis en train de modifier les codes pour accomplir la nouvelle fonction, je veux clignoter de gauche à droite une fois quand je pousse le buttom, donc il y a mes codes ci-dessous: /**/
EX_INTERRUPT_HANDLER(Timer0_ISR)
{
// confirm interrupt handling
*pTIMER_STATUS = 0x0001;
// shift old LED pattern by one, left to right
if(sLight_Move_Direction){
ucActive_LED == 0x0800;
ucActive_LED = ucActive_LED >> 1;
ucActive_LED == 0x0040;
}
// write new LED pattern to PORTF LEDs
*pPORTFIO_TOGGLE = ucActive_LED;
/**/
maintenant, il ne peut pas fonctionner ou jus clignement LED3, Comment puis-je résoudre ce problème?
Merci
Vous utilisez == au lieu de = et vous obtiendrez une "déclaration sans effet" (le tout sera converti en booléen). ucActive_LED = ucActive_LED >> 1; peut être remplacé par ucActive_LED >> 1; –
J'ai essayé mais je ne travaille toujours pas. Y at-il quelque chose de mal avec les codes ou ma pensée? –
Mon erreur, c'est ucActive_LED >> = 1; –