ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
21 июля
72781
mortalcombat (26.10.2006 11:53, просмотров: 1791)
проблема с CKOUT в ATTiny2313 Есть одна небольшая проблема с выводом CKOUT (PD2). Хотелось бы сделать его INT0. Частота синхронизации от внутреннего 8МГц генератора (CKSEL3...0 = 0100), предделитель на 8 не использую (CKDIV8 = 1). CKOUT =1 т.е. не программирую! Код программы: ....... unsigned int j,k,t; unsigned char povtor,live; ......... #pragma interrupt_handler int0_isr:02 void int0_isr(void) { //int0 external interrupt от устройства зарядки батареи // провряем наличие внешнего питания // if((PIND & 0x20) == 0) // PORTD |= 0x20; // ON LED k=5000; // Делаем маленькую задержку for(povtor=0;povtor<8;povtor++) { for(j=0;j PORTD &= ~0x20; // OFF LED for(j=0;j PORTD |= 0x20; // ON LED } CLI(); //disable all interrupts GIMSK = 0x80; // запретили прерывание INT0 SEI(); //re-enable interrupts PORTD &= ~0x20; // OFF LED } ...... //********************************************************************************* void port_init(void) { DDRA = 0x00; PORTA = 0x07; DDRB = 0x10; PORTB = 0x00; DDRD = 0x33; PORTD = 0x0B; //0x0B } //call this routine to initialize all peripherals void init_devices(void) { //stop errant interrupts until set up CLI(); //disable all interrupts port_init(); comparator_init(); watchdog_off(); timer0_init(); timer1_init(); MCUCR =0x03; // 0x00 // было 0x08; // Настройка SLEEP mode и прерывания GIMSK = 0x80; // Разрешили прерывание INT1 TIMSK = 0x00; SEI(); //re-enable interrupts //all peripherals are now initialized } Если не трудно помогите пожалуйста. А то все время генерируется частота 60 кГц?