Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессорная техника Сторожок / MPLAB_C30_Руководство пользователя.pdf
Скачиваний:
161
Добавлен:
20.02.2016
Размер:
1.26 Mб
Скачать

16-битовый компилятор Си. Руководство

 

if (RTclock.timer > 0) /* если обратный счетчика активен */

 

RTclock.timer –= 1; /* уменьшить его на 1 */

 

RTclock.ticks++;

 

/* увеличить счетчик тиков */

 

if (sticks++ > 1000)

 

 

 

{

 

/* если время переполнилось */

 

sticks = 0;

 

/* очистить тики секунды */

 

RTclock.seconds++;

/* и увеличить счетчик секунд */

 

}

 

 

 

 

IFS0bits.T1IF = 0;

/* очистка флага прерывания */

 

return;

 

 

.

 

}

 

A

 

 

 

7.6.

Использование макросов

 

 

Файлы заголовков процессоров определяют, кроме регистров специального

 

назначения, полезные макросы для семейства 16-битовых устройств.

 

Макросы настройки битов конфигурации

 

 

Макросы использования ассемблера inline

 

 

Макросы выделения памяти данных

 

 

Макросы объявления ISR

 

 

 

7.6.1. Макросы настройкиWilsonбитов конфигурации

 

 

by

 

 

 

Данные макросы могут быть использованы, чтобы устанавливать биты

 

конфигурации. Например, чтобы установить бит FOSC с использованием макро,

 

следующая строка кода может быть вставлена перед началом вашего исходного

 

кода Cи:

 

 

 

 

Translated

 

 

 

 

FOSC(CSW FSCM ON & EC_PLL16);

 

Эта конфигурация означает внешнее тактирование с 16-кратным ФАПЧ и разрешение проверки надежности тактового сигнала и его переключение.

Аналогично, чтобы устанавливать бит FBORPOR:

FBORPOR(PBOR ON & BORV_27 & PWRT_ON_64 & MCLR_DIS);

Эта конфигурация разрешает сброс при падении напряжения питания ниже 2.7 В, устанавливает таймер задержки по включению питания на 64 миллисекунды и позволяет использовать контакт MCLR для ввода/вывода.

Для получения полного списка установок каждого бита конфигурации см. файл заголовка соответствующего процессора.

7.6.2. Макросы использования ассемблера inline

Ниже приведены некоторые макросы, используемые для вставки ассемблерного кода в Cи:

#define Nop() {__asm__ volatile ("nop");} #define ClrWdt() {__asm__ volatile ("clrwdt");}

#define Sleep() {__asm__ volatile ("pwrsav #0");} #define Idle() {__asm__ volatile ("pwrsav #1");}

7.6.3. Макросы выделения памяти данных

Ниже обсуждаются макросы, которые могут быть использованы для распределения пространства в памяти данных. Есть два типа: те, что требуют аргумент, и те, которым он не нужен.

Следующие макросы требует аргумент N, который определяет выравнивание. N должен быть степенью двойки и не меньше 2.

DS51284H(ru) стр. 7-4

© 2008 Microchip Technology Inc.

Соседние файлы в папке Микропроцессорная техника Сторожок