以下の2つのステートメントは、タイミング/実行によってどのように異なりますか。私はAT91CSAM7x512デバイスに取り組んでいます。以下の割り当てスタイルを変更することで、厄介なバグを解決することができました。
IAR Embedded WorkbenchVer4.41Aを使用しています。これは、コンパイラ指令またはその他の理由で発生していますか?
AT91C_BASE_PIOA->PIO_PER |= (((unsigned int)1<<12) | ((unsigned int)1<<13));
AT91C_BASE_PIOA->PIO_ODR |= (((unsigned int)1<<12) | ((unsigned int)1<<13));
AT91C_BASE_PIOA->PIO_IFER |= (((unsigned int)1<<12) | ((unsigned int)1<<13));
MARK1.occurrence = 0;
MARK2.occurrence = 0;
AT91C_BASE_PIOA->PIO_PER |= (unsigned int)1<<12) ;
AT91C_BASE_PIOA->PIO_ODR |= (unsigned int)1<<12) ;
AT91C_BASE_PIOA->PIO_IFER |= (unsigned int)1<<12) ;
MARK1.occurrence = 0;
AT91C_BASE_PIOA->PIO_PER |= (unsigned int)1<<13) ;
AT91C_BASE_PIOA->PIO_ODR |= (unsigned int)1<<13) ;
AT91C_BASE_PIOA->PIO_IFER |= (unsigned int)1<<13) ;
MARK2.occurrence = 0;
これは、スタックが@命令で処理される方法と関係がありますか?私はプロセッサに比較的慣れていないので、これについて支援が必要です。