Технический форум по робототехнике.
interrupt [TIM3_COMPC] void timer3_compc_isr(void)
{
static unsigned char current_servo=0;
static unsigned int OCR33=2000;
ocr+=servo_position;
OCR3C=OCR33;
if (current_servo==8)
{
current_servo=0;
TCCR3C|=(1<<FOC3C);
TCCR3C|=(1<<FOC3C);
}
else
{
current_servo++;
}
TCCR3C|=(1<<FOC3C);
}
#define OCR3C (*(unsigned int *) 0x82)
interrupt [TIM3_COMPC] void timer3_compc_isr(void)
{
static unsigned char current_servo=0;
static unsigned int ocr=2000;
static unsigned int pause = 18432;
if (current_servo==9)
{
current_servo=0;
ocr += pause;
OCR3CH=(unsigned char)(ocr>>8);
OCR3CL=(unsigned char)ocr;
pause = 18432;
}
else
{
ocr+=servo_position[current_servo];
OCR3CH=(unsigned char)(ocr>>8);
OCR3CL=(unsigned char)ocr;
pause -= servo_position[current_servo];
current_servo++;
}
TCCR3C|=(1<<FOC3C);
}
avr123.nm.ru писал(а):По методу отладки программы через UART в задаче 4 курса по AVR - http://www.proavr.narod.ru/z4.htm вы можете вставить после этой строки вывод этого регистра в UART
псевдокод:
UDR = регистр;
пауза (1 секунда например);
и на терминале на ПК посмотреть что в регистре в реальном AVR получается.