วันพุธที่ 24 มิถุนายน พ.ศ. 2558

แก้คำสั่งWHILE1แฮงค์ไม่สามารถจำลองได้ในAVRSTUDIOรุ่น6_2



แก้คำสั่งWHILE1แฮงค์ไม่สามารถจำลองได้ในAVRSTUDIOรุ่น6_2
24/6/2558 SONGCHAI PRAPATRUNGSEE
แก้คำสั่งWHILE1แฮงค์ไม่สามารถจำลองได้ในAVRSTUDIOรุ่น6_2

ถ้าคำสั่งwhile(1) ว่างไว้
การจำลองจะผิดพลาดทันทีและไม่สามารถจำลองต่อไปได้
ต้องทำการปิดโปรเจคก่อนแล้วค่อยเปิดโปรเจคขึ้นมาใหม่
และต้องเขียนงานให้คำสั่ง while(1)
อย่างน้อย1คำสั่งก็จะสามารถจำลองการทำงานได้แล้ว

SOURCE CODE
/*
 * TIMER1_OVF_INTERRUPT .C
 *
 * Created: 24/6/2558 18:35:45
 *  Author: sc
 */


#include <avr/io.h>//REGISTER OF AVR
#include <avr/interrupt.h>//INTERRUPT SERVICE ROUTINE

int main(void)
{   
      //T/C1 CONTROLL PRESCALER, IF CS10-3=0 T/C1 STOP
      TCCR1B = (0<<CS12)|(0<<CS11)|(1<<CS10);
    
      TIMSK = 1<<TOIE1;//T/C1 OVERFLOW INTERRUPT ENABLE
    
      //sei();//GLOBAL INTERRUPT ENABLE
      SREG=(1<<7);//GLOBAL INTERRUPT ENABLE
    
      DDRA=255;//PORTA ALL OUTPUT
  
      while(1)//LOOP FOREVER
      {
        PORTB=255;

      }
    
}

ISR(TIMER1_OVF_vect)
{
      TCNT1H=0X63;//HIGH BYTE T/C1
        TCNT1L=0XC0;//LOW BYTE T/C1
      PORTA=~PORTA;//TOGGLE PORTA

}

ไม่มีความคิดเห็น: