Здравствуйте, начал разбираться с микроконтроллерами, в частности с
AT91SAM9260. Вот решил для начала подрыгать ножками. Работаю в
IAR Embedded Workbench for ARM v.5.50.1 Full. Написал код на основе вашего, но ничего не выходит, ножка постоянно в высоком состоянии. Может я чего-то не так делаю, может в IAR необходимы какие-то настройки?
Привожу исходный код и сам проект. Заранее спасибо.
Код
#include "AT91SAM9260.h"
void wait(int delay)
{
for (int i = 0; i < delay; i++)
{;}
}
/* Главная функция программы */
int main(void)
{
AT91C_BASE_WDTC->WDTC_WDMR = AT91C_WDTC_WDDIS; // Отключение сторожевого таймара
//AT91C_BASE_RSTC->RSTC_RMR = AT91C_RSTC_URSTEN | (AT91C_RSTC_KEY & (0xA5UL << 24));
enum { WORKMASK = AT91C_PIO_PB0 }; // Битовая маска, определяет каким выводом управлять
AT91C_BASE_PMC->PMC_PCER = (1UL << AT91C_ID_PIOB); // Разрешение тактирования PIO A
AT91C_BASE_PIOB->PIO_PER = WORKMASK; // Установка управления PIO выводом (отключение управления выводом переферийным устройством).
AT91C_BASE_PIOB->PIO_PPUER = WORKMASK; // Разрешение подтягивающих резисторов
AT91C_BASE_PIOB->PIO_OER = WORKMASK; // Установка вывада в качестве выходад
while(1)
{
AT91C_BASE_PIOB->PIO_SODR = WORKMASK; // Установка вывода в единицу
//wait(0x10); // Задержка
AT91C_BASE_PIOB->PIO_CODR = WORKMASK; // Сброс вывода в ноль
//wait(0x10); // Задержка
}
}
Ах, да забыл упомянуть, конфугурирую с помощью
J-Link for ARM от IAR Systems.
Прикрепленные файлы
Diode.rar ( 53.38 килобайт )
Кол-во скачиваний: 14