Показать сообщение отдельно
Старый 06.08.2010, 22:24   #520   
Форумец
 
Сообщений: 1,532
Регистрация: 19.02.2009
Возраст: 54
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от BOURNE Посмотреть сообщение
И я еще не совсем улавливаю разницу между регистром конфигурации config1h и регистром osccon. И там, и там задается частота осциллятора и выбирается какого он типа. Зачем тогда два регистра практически с одинаковыми параметрами?
Я где- то прочитал, что обязательно к контроллеру нужно подключать внешний синхронизатор,тк без него не загрузятся конфигурационные биты, а уже потом контроллер может работать без него в случае, если выбрана внутренняя синхронизация. Это так? Просто я на макетке не подключал кварц.
Код:
__CONFIG _CONFIG1L,_PLLDIV_1_1L&_CPUDIV_OSC1_PLL2_1L
__CONFIG _CONFIG1H,_FOSC_INTOSCIO_EC_1H
__CONFIG _CONFIG2L,_VREGEN_OFF_2L
__CONFIG _CONFIG2H,_WDT_OFF_2H
__CONFIG _CONFIG4L,_LVP_OFF_4L
У PIC18F4550 12 источников тактирования и управление ими достаточно сложное и требует однозначного понимания как оно работатет.
В config1h выбирается (в процессе работы не меняется):
1. В каком режиме будет работать первичный генератор (т.е выводы OSC1 и OSC2).
2. Кто будет тактировать ядро - переферию (модуль USB тактируется отдельно).
3. Как будет тактироваться USB.
4. Управляет частотой первичного (внешние такты или кварц) генератора, а не ВНУТРЕННЕГО.
Регистр osccon - позволяет оперативно по ходу программы переключаться между доступными источниками тактирования ядра и переферии (но не USB), а также он управляет частотой ВНУТРЕННЕГО генератора INTOSC.

Если не использовать USB, то все должно работать и без внешнего кварца (без внешнего кварца или внешних тактов USB работать не будет).
Биты конфигурации при старте не грузятся, они устанавливаются при программировании. При включении контроллер вообще начинает работать от 32 кГц (INTRC), т.к после сброса OSCTUNE = OSCCON = 0x00, и будет работать от него до тех пор пока в OSCCON(<SCS1:SCS0>) не переключите на другой источник тактирования (первичный, внутренний или от генератора TMR1).
P.S. Говорим, говорим, а вывод MCLR подтянут к питанию?

Последний раз редактировалось petrd; 06.08.2010 в 23:16.
  Ответить с цитированием