ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
625516
Точка опоры (17.10.2015 23:45 - 18.10.2015 12:40, просмотров: 52886)
ЧЯДНТ с Си? Если оставить второй выделенный фрагмент, а не первый, то GCC выкидывает его и в xxx_freq остаются нули. ЧЯДНТ? P.S. Тэги <bold> не работают внутри блока <code>. Под выделенными фрагментами понимаются: sweep_freq = 0x218E; start_freq = 0x250B524; #include <avr\io.h> #include <avr\sleep.h> #include <avr\interrupt.h> volatile uint8_t sweep_counter; uint16_t timer; uint32_t start_freq, sweep_freq; volatile uint32_t act_freq; ISR(TIMER1_OVF_vect) { // Прерывание по переполнению Timer1 TCNT1 = timer; if (++sweep_counter == 0) act_freq = start_freq; // reset frequency to new cycle } int main(void) { sweep_counter = 0; TCCR1B = 2; // Метки времени Fclk/nnn TIMSK |= _BV(TOIE1); // Прерывания по переполнению (счёт времени) MCUCR |= _BV(SE); // IDLE mode /* sweep_freq = 0x218E; start_freq = 0x250B524; */ timer = 2700; sei(); while(1) { sweep_freq = 0x218E; start_freq = 0x250B524; sleep_cpu(); act_freq += sweep_freq; } }
Заказать импортные ЭК - https://shop.fulcrum.ru/buy