navovvol 0 22 декабря, 2011 Опубликовано 22 декабря, 2011 · Жалоба Не могу изменить регистр CLK_CTRL. Надо, что бы МК работал от внешнего кварца (8Мнz). Регистр вообще не изменяется и не настраиваться ни на 32Mhz, ни на 32khz. ldi R16,0xD8 STS CPU_CCP,R16 ldi R16,0b00000011 STS CLK_CTRL,R16 Что не так не делаю ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vitaly 0 22 декабря, 2011 Опубликовано 22 декабря, 2011 · Жалоба LDI R16,0xD8 OUT 0x34,R16 LDI R16,0x01 STS 0x0040,R16 OUT быстрее на 1 такт. С STS не укладывается в 4 такта (Within 4 instruction cycles, the application code must write the appropriate data to the protected register.) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 22 декабря, 2011 Опубликовано 22 декабря, 2011 · Жалоба Вот моя рабочая подпрограмма intRC32_init: lds R16,(OSC_CTRL) ori R16,$02 sts (OSC_CTRL),R16 ; enable intRC32 lds R16,(OSC_STATUS); wait intRC32 ok sbrs R16,1 rjmp PC-3 ldi R16,$D8 sts (CPU_CCP),R16 ; enable change SYSclk ldi R16,$01 sts (CLK_CTRL),R16 ; set SYSclk intRC32 ret Всё работает и укладывается Вот ТУТ есть обьяснение на русском и примеры. Мне на начальном этапе очень помогло. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
navovvol 0 23 декабря, 2011 Опубликовано 23 декабря, 2011 (изменено) · Жалоба Спасибо. Очень помогло :) Изменено 23 декабря, 2011 пользователем IgorKossak Бездумное цитирование Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться