1

以下の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;

これは、スタックが@命令で処理される方法と関係がありますか?私はプロセッサに比較的慣れていないので、これについて支援が必要です。

4

0 に答える 0