ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
886035 Топик полностью
m16_home (03.12.2018 11:37, просмотров: 438) ответил Nikolay_Po на Заново:
ОК всё сделано по вашему примеру. кофигурация: config __FBS, RBS_NO_RAM & BSS_NO_FLASH & BWRP_WRPROTECT_OFF config __FSS, RSS_NO_RAM & SSS_NO_FLASH & SWRP_WRPROTECT_OFF config __FGS, GSS_OFF & GWRP_OFF config __FOSCSEL,FNOSC_FRC & IESO_OFF config __FOSC,FCKSM_CSECMD & OSCIOFNC_ON & POSCMD_NONE & IOL1WAY_OFF config __FWDT, FWDTEN_OFF & WDTPOST_PS32768 & WDTPRE_PR128 & WINDIS_OFF config __FPOR, FPWRT_PWR1 & ALTI2C_OFF config __FICD, JTAGEN_OFF & ICS_PGD2 код. правда каменты старые остались, но запуск FRC один в один с вашим кодом ;--------------------------- Oscilator ----------------------- ; Configure PLL prescaler, PLL postscaler, PLL divisor mov #1,w0 mov w0, CLKDIV mov #63,w0 ; M mov w0,PLLFBD ;------------------------------------------------------------------------------ ;Place the New Oscillator Selection (NOSC = 0b011) pri XTPLL mov #0x01,w0 ;OSCCONH (high byte) Unlock Sequence mov #OSCCONH, w1 mov #0x78, w3 mov #0x9A, w4 mov.b w3, [w1] ; Write 0x0078 mov.b w4, [w1] ; Write 0x009A mov.b w0, [w1] ; pri XTPLL ;Place 0x01 in W0 for setting clock switch enabled bit OSWEN mov OSCCON, w0 bset w0, #OSWEN ;OSCCONL (low byte) Unlock Sequence mov #OSCCONL, w2 mov #0x46, w3 mov #0x57, w4 mov.b w3, [w2] ; Write 0x0046 mov.b w4, [w2] ; Write 0x0057; mov.b w0, [w2] ; Request Clock Switching by Setting OSWEN bit ;............................... ;Wait for Clock switch to occur mov #0x10, w0 ; expected COSC value mov #0x70, w4 ; mask COSC wait_COSC: mov.b [w1], w3 ; w3=OSCCONH and.b w3, w4 ,w3 cp.b w3, w0 bra nz, wait_COSC ;............................... ;Wait for PLL to lock wait_LOCK: mov.b [w2], w0 ; w0=OSCCONL btss w0, #LOCK bra wait_LOCK ;------------------------------------------------------------------------------ проц работает на 39,9мгц. с отладкой - таже байда. Судя по вашему сообщению выше, вы пытались отлаживаться на 58МГц. Не удивительно, что происходил сбой. ; Configure PLL prescaler, PLL postscaler, PLL divisor mov #78,w0 ; M-2 mov w0,PLLFBD clr CLKDIV M=80, N1=2, N2=2 Fosc= 4*(80/(N1+N2))= 80мгц Fcy= 40мгц . Почему 58мгц?