Предыдущая Следующая

Внешний НИЗКИЙ уровень на линию РО. 14 LPC2129, необходимый для запуска обработчика команд ISP, подается с помощью перемычки BSL.

Перемычка JRST используется для подключения линии 4 (DTR) интерфейса RS-232 через цепь согласования уровней (D3, D4, Tl, R8, R9) к входу RESET (RST) микроконтроллера, что дает возможность с помощью программы-загруз-

чика LPC2000 Flash Utility производить «ручной» сброс LPC2129 (см. раздел 31.1 «Загрузка Flash-памяти с помощью LPC2000 Flash Utility*).

Перемычкой BDG линия RTCK интерфейса JTAG целевой системы (отладочной платы) может быть подключена к НИЗКОМУ уровню через резистор сопротивлением 10 кОм, что необходимо для отладки пользовательских приложений в целевой системе (см. раздел 30.1 «Аппаратные средства отладчика C-SPY»).

Питание отладочной платы осуществляется от внешнего источника постоянного напряжения +5 В, и подается через разъем PWR_JACK.

Программная часть каждого проекта включает в себя файл главной функции (основного цикла управляющей программы) main.c, а также приведенные ниже файлы специальных функций и специальных заголовков и определений hardware.c и hardware.fi.

Файл hardware.c

//------------------------------------------------------------------------

// Специальные функции

//------------------------------------------------------------------------

#include "hardware.h" // подключение специальных заголовков и определений //Константы инициализации системы

#define FOSC 14745600 //Частота кварцевого резонатора в Гц

#define VALUEOFM 4 //соответствует PLLCFG_bit.MSEL=3

#define CCLK (FOSC*VALUEOFM) //CCLK = 58.9824 МГц

#define PCLK (CCLK/4) //соответствует VPBDIV_bit.VPBDIV=0;

#define PLOCK 0x0400

//FCCO = CCLK*2*P'= 156...320 МГц, значит, P=2, что соответствует PLLCFG_bit.PSEL=l; #define VIC_TIMER0_bit (1 « VIC_TIMER0)

//Инициализация системы -------------------------------------------------

void CPUinit(void) {

//Настройка PLL (ФАПЧ)

PLLCFG_bit.MSEL=3; //См. Расчет PLL в секции idefine этого файла PLLCFG_bit.PSEL=l; //См. расчет PLL в секции #define этого файла PLLFEED=0xAA; PLLFEED=0x55;

PLLCON_bit.PLLE=l; // Включение PLL (ФАПЧ) без подключения к ядру

PLLFEED=0xAA;

PLLFEED=0x55;

while(!(PLLSTAT & PLOCK)); // Ожидание замыкания петли PLL (ФАПЧ)

PLLCON_bit.PLLC=l; // Подключение PLL (ФАПЧ) к ядру

PLLFEED=0xAA; PLLFEED=0x55;

//Инициализация МАМ и тактовой частоты периферии MAMCR_bit.MODECTRL=0; //Первоначальное отключение МАМ MAMTIM_bit.CYCLES=3; //Рекомендуется для CCLK>40 МГц

MAMCR_bit.MODECTRL=2; //Включение МАМ (функции МАМ полностью реализуются) VPBDIV_bit.VPBDIV=0; //См. расчет PLL в секции Idefine этого файла //Инициализация GPIO

PINSEL0=0; //Младшие линии Р0 являются GPIO

PINSEL1=0; //Старшие линии Р0 являются GPIO


Предыдущая Следующая



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz