Kính chào các bác.
Em sử dụng USART để bật tắt LED.
truyền ký tự từ PC-> AVR thì bật tắt ngon.
Tuy nhiên vấp phải vấn đề là sau khi sử dụng hàm putchar() thì các PORT reset về 0x00 hết.
Code bật tắt LED:
switch(idata)
{
case 'A':
PORTA.0=1;
PORTA.1=0;
break;
case 'B':
PORTA.0=0;
PORTA.1=1;
break;
}
Tuy nhiên nếu thêm dòng sau vào thì LED nháy 1 phát rồi tắt ngấm;
switch(idata)
{
case 'A':
PORTA.0=1;
PORTA.1=0;
break;
case 'B':
PORTA.0=0;
PORTA.1=1;
break;
}
delay_ms(500);
putchar(ichar);/// -> Thủ phạm là dòng này.
Kính mong các bác chỉ giúp.
Em sử dụng USART để bật tắt LED.
truyền ký tự từ PC-> AVR thì bật tắt ngon.
Tuy nhiên vấp phải vấn đề là sau khi sử dụng hàm putchar() thì các PORT reset về 0x00 hết.
Code bật tắt LED:
switch(idata)
{
case 'A':
PORTA.0=1;
PORTA.1=0;
break;
case 'B':
PORTA.0=0;
PORTA.1=1;
break;
}
Tuy nhiên nếu thêm dòng sau vào thì LED nháy 1 phát rồi tắt ngấm;
switch(idata)
{
case 'A':
PORTA.0=1;
PORTA.1=0;
break;
case 'B':
PORTA.0=0;
PORTA.1=1;
break;
}
delay_ms(500);
putchar(ichar);/// -> Thủ phạm là dòng này.
Kính mong các bác chỉ giúp.
Comment