これは私が理解しようとしているものです.MC9S08AW60を持っています. 2 つのタイマーがあり、タイマーからの目盛りを設定または確認しようとしています。つまり、オーバーフロー フラグがいつ変更されるかを確認したいだけです。コードの基本設計は次のとおりです。
PTFDD = 0xFF;
int j,ch_nbr;
// LED mask values:
#define mLED0    0x01
#define mLED1    0x02
#define mLED2    0x04
#define mLED3    0x08
#define mLED4    0x10
#define mLED5    0x20
#define mLED6    0x40
#define mLED7    0x80
void main()
{
  While(j>0){
  ch_nbr++;
  if (ch_nbr == 8)  ch_nbr = 0;
  if (ch_nbr == 0)  PTFD = mLED0;  // Turn LED0 on, other LEDs off
  if (ch_nbr == 1)  PTFD = mLED1;  // Turn LED1 on, other LEDs off
  if (ch_nbr == 2)  PTFD = mLED2;  // Turn LED2 on, other LEDs off
  if (ch_nbr == 3)  PTFD = mLED3;  // Turn LED3 on, other LEDs off
  if (ch_nbr == 4)  PTFD = mLED4;  // Turn LED4 on, other LEDs off
  if (ch_nbr == 5)  PTFD = mLED5;  // Turn LED5 on, other LEDs off
  if (ch_nbr == 6)  PTFD = mLED6;  // Turn LED6 on, other LEDs off
  if (ch_nbr == 7)  PTFD = mLED7;  // Turn LED7 on, other LEDs off
  Mydelay();
   }
   } 
 void Mydelay(int *j)
{
 if (TPM1SC_TOF == 0) j=0;
 else j=1;
 return j;
 }
アイデアは、値「j」をチェックし、同時に LED が点灯するかどうかを決定することです! このコードは機能しません。C プログラミングを使用してからしばらく経ちました。私は少し不安定で、助けが必要です。きちんとした説明がいいでしょう。MCU のデータシートについては、次のリンクを検討してください: http://cache.freescale.com/files/microcontrollers/doc/data_sheet/MC9S08AW60.pdf
既存の Mydelay の代わりに次の関数を置き換えることはできますか:
int Mydelay(int& j)
{
 if(TPM1SC_TOF == 0) j=0;
 else j=1;
 return j;
}
void main()
{
  PTFDD = 0xFF;
int j,ch_nbr;
// LED mask values:
#define mLED0    0x01
#define mLED1    0x02
#define mLED2    0x04
#define mLED3    0x08
#define mLED4    0x10
#define mLED5    0x20
#define mLED6    0x40
#define mLED7    0x80   
  While(j==1)
 {
  ch_nbr++;
  if (ch_nbr == 8)  ch_nbr = 0;
  if (ch_nbr == 0)  PTFD = mLED0;  // Turn LED0 on, other LEDs off
  if (ch_nbr == 1)  PTFD = mLED1;  // Turn LED1 on, other LEDs off
  if (ch_nbr == 2)  PTFD = mLED2;  // Turn LED2 on, other LEDs off
  if (ch_nbr == 3)  PTFD = mLED3;  // Turn LED3 on, other LEDs off
  if (ch_nbr == 4)  PTFD = mLED4;  // Turn LED4 on, other LEDs off
  if (ch_nbr == 5)  PTFD = mLED5;  // Turn LED5 on, other LEDs off
  if (ch_nbr == 6)  PTFD = mLED6;  // Turn LED6 on, other LEDs off
  if (ch_nbr == 7)  PTFD = mLED7;  // Turn LED7 on, other LEDs off
 }
 Mydelay();
}