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

 
 
> SAM7S, Прочитать состояние ПИНа
Markfly
сообщение Jul 8 2009, 12:13
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 6-07-09
Пользователь №: 50 955



Уважаемые форумчане. Помогите, пожалуйста чайнику.
Написал первую прогу под АРМ.
По задумке, при нажатии на кнопку (низкий уровень на PA0), светодиод на PA19 (к катоду) должен загораться, при отпускании кнопки - тухнуть.
Прошиваю МК. Никакой реакции на кнопку.
Видимо я как-то неправильно считываю вход с кнопки...
help.gif help.gif
Код
#include <board.h>
#include <pio/pio.h>
#include <pio/pio_it.h>
#include <pit/pit.h>
#include <aic/aic.h>
#include <tc/tc.h>
#include <utility/led.h>
#include <utility/trace.h>

#include <stdio.h>



//Configure PIO

static void ConfigureButton()

{    
AT91C_BASE_PIOA->PIO_PER = 0xFFFFFFFF;  //Enable PortA like PIO
AT91C_BASE_PIOA->PIO_ODR = 1 << 19; //PA19 like IN

AT91C_BASE_PIOA->PIO_PPUER = 1 << 19;  //Pull-Up PA19
AT91C_BASE_PIOA->PIO_OER = 1 << 0;    //PA0 like OUT
}

int main()

{
  
  ConfigureButton();
      
while(1)
  
  {
if(( AT91C_BASE_PIOA->PIO_PDSR & 0x00040000) == 0)
    
    {
      AT91C_BASE_PIOA->PIO_CODR = 0x00000001;   //0 on PA0, LED on
    }
  
  else
    {
      AT91C_BASE_PIOA->PIO_SODR = 0x00000001;   //1 on PA0, LED off  
    }
  
  }
  
}

http://electronix.ru/forum/style_emoticons/default/help.gif
Причина редактирования: Оформление цитаты исходника.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Markfly
сообщение Jul 8 2009, 14:40
Сообщение #2





Группа: Участник
Сообщений: 10
Регистрация: 6-07-09
Пользователь №: 50 955



Не могли бы вы еще кое-что разъяснить, уважаемый aaarrr,:..

Эта строка означает, если я правильно понимаю,

AT91C_BASE_PMC->PMC_PCER = 1UL << AT91C_ID_PIOA;

означает, если я правильно понимаю,:

Запись в регистр PMC_PCER 1-цы сдвинутой на 2, т.е. 1 в PID2.

В даташите написано, что регистр PMC_PCER - регистр разрешения периферийного тактирования...

Запись 1-цы в бит этого регистра означает разрешение тактирования соответствующего периферийного

устройства.

Тогда я ничего не понимаю... При чем тут периферия, если мы ее не используем, и при чем тут бит 2, усли мы работаем только с 0-м и с 19-м. laughing.gif

Сообщение отредактировал Markfly - Jul 8 2009, 14:41
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 8 2009, 14:49
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Markfly @ Jul 8 2009, 18:40) *
Тогда я ничего не понимаю... При чем тут периферия, если мы ее не используем, и при чем тут бит 2, усли мы работаем только с 0-м и с 19-м. laughing.gif

Что-то у Вас все смешалось. Найдите в даташите табличку Peripheral Identifiers и все, надеюсь, станет ясно.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 20:19
Рейтинг@Mail.ru


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