реклама на сайте
подробности

 
 
> Мигание светодиодом на AT91SAM7S256
AlfaStar
сообщение Oct 3 2010, 14:50
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 3-10-10
Пользователь №: 59 900



Помогите, пожайлуста, начинающему... Необходимо прошить камень AT91SAM7S256 так, что бы мигал светодиод. Дело в том, что у меня схема оригинальная и поэтому те примеры, что есть в интернете для отладочных стендов, не подходят. На моей плате всего один светодиод на 10 выходе(PA10). И сейчас я мучаюсь, что бы изменить стандартные программы... Подскажите, пожайлуста.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ZED
сообщение Nov 29 2010, 13:53
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 264
Регистрация: 17-04-07
Из: Москва
Пользователь №: 27 102



Здравствуйте, начал разбираться с микроконтроллерами, в частности с 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
 
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 08:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.0135 секунд с 7
ELECTRONIX ©2004-2016