"Железо" готово, теперь поговорим о программе, которая будет мигать нашим светодиодом.
Для ее создания я буду использовать среду Keil. В ее состав входят С/С++ компилятор и интегрированная среда разработки. Демо-версия доступна для скачивания прямо с сайта производителя
https://www.keil.com/demo/eval/arm.htm. Внешний вид среды показан на картинке внизу.
Вот что получилось:
Код:
|
#include ‹LPC23xx.H›
#define GPIOM 0x00000001
/* Задержка около 300 мс */
void wait()
{
int d;
for (d = 0; d ‹ 1000000; d++)
{
}
}
int main()
{
/* Выключение режима совместимости с LPC21XX */
SCS |= GPIOM;
/* Установка направления порта. P1[0] - выход */
FIO1DIR = 0x00000001;
for (;;) /* Бесконечный цикл */
{
/* Сброс P1[0]. На выходе лог. 0 */
FIO1CLR = 0x00000001;
/* Пауза */
wait();
/* Установка P1[0]. На выходе лог. 1 */
FIO1SET = 0x00000001;
/* Пауза */
wait();
}
} |
Программа выполняет инициализацию портов ввода-вывода, а потом входит в бесконечный цикл, переключая логический уровень на ножке 95 (P1[0]) микроконтроллера, и светодиод, подключенный к ней, мигает.
Все оказалось просто. Единственное с чем пришлось повозиться, так это с некоторыми опциями проекта, без которых он не хотел "заводиться". Рабочие опции удалось найти в примерах от производителя NXP.
Регистры FIO1DIR, FIO1CLR, FIO1SET подробно описаны в
руководстве пользователя для моего микроконтроллера LPC2368.
После сборки проекта (см. вложенный архив) у него на выходе получается файл
HelloWorld_LPC2368.hex, который нужно выбрать в утилите внутрисхемного программирования
Flash Magic и нажать кнопку
Start. Сразу после нажатия, прошивка будет "зашита" в микроконтроллер и светодиод начнет мигать
Я сделал небольшое видео по такому случаю:
Последний раз редактировалось alexgap; 09.11.2009 в 17:54.