Есть такая схема - см. вложение.
Все что касается генератора - как на схеме, только резистор на 1 Мом выброшен.
И такая программка:
#pragma config FOSC = HS
#pragma config PWRT = OFF
#pragma config WDT = OFF
void main(void)
{
TRISD=0;
while(1)
{
PORTD=0;
PORTD=0xff;
}
}
Осцилографом контролирую частоту на выходах порта Д. 1,25 МГц, что правильно: 20МГц / 4 импульса на такт / 4 такта (1 и 1 присвоение, 2 - переход).
Команды уже скомпилированные ассемблерные считаю.
Затем меняю кварц на 48МГц. Частота на порте Д - 1 МГц. А на ноге OSC2 - 16МГц.
ПРи кварце 40МГц соотв. около 0,8МГц и 13,3МГц.
Почему-то делиться на 3... Почему? Что я делаю не так и как заставить работать на 48МГц, т.е. получить 12MIPS??
В даташите пишут, что на больших частотах рекомендують кварц к OSC2 через резистор от 330 Ом подключать для избежание овердрайва. Делал - не помогло.
Заранее спасибо!
Чайник