Помогите разобраться с таймингами. В проекте протеуса кинул голый PIC16F1939, в настройках прописал 16Мгц частоту. В MPLABX простой проект:
Тайминги смотрю внизу в строке состояния протеуса.
Ставлю точку останова на первом nop(), смотрю в протеус:
Digital breakpoint at time 211us (250.00ns elapsed)
Нажимаю F8 (Step over), смотрю опять в протеус, вижу 212.5us в скобках все те же 250ns.
Как это понимать? Почему на выполнение nop() уходит 1.5us, вместо положенных 0.25us?
Спасибо!
Раздел: PIC
#include "htc.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
__CONFIG(FOSC_INTOSC & WDTE_OFF & MCLRE_OFF & CLKOUTEN_OFF & FCMEN_OFF);
__CONFIG(PLLEN_OFF & STVREN_OFF);
#ifndef _XTAL_FREQ
#define _XTAL_FREQ 16000000
#endif
.....
int main(void) {
OSCCON|=0b01111000; // 16MHz
....
while(1)
{
NOP();
NOP();
......
}
Тайминги смотрю внизу в строке состояния протеуса.
Ставлю точку останова на первом nop(), смотрю в протеус:
Digital breakpoint at time 211us (250.00ns elapsed)
Нажимаю F8 (Step over), смотрю опять в протеус, вижу 212.5us в скобках все те же 250ns.
Как это понимать? Почему на выполнение nop() уходит 1.5us, вместо положенных 0.25us?
Спасибо!
Раздел: PIC