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

 
 
> 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
Ответов
DpInRock
сообщение Jul 8 2009, 14:54
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Цитата
При чем тут периферия, если мы ее не используем

А PIO - это что, сарафан бабы Маши?
Цитата
и при чем тут бит 2, усли мы работаем только с 0-м и с 19-м

Сложное дело. Бит 2 - это бит разрешения тактирования в регистре разрешений тактирования.
Какое он имеет отношение к номерам битов PIO - никакого.

А вот к самому PIO - как периферийному устройству - имеет. Он разрешает подавать на него сигналы тактирования.
Почему именно бит 2? Да ни почему. Решили, что пусть бит 2 заведует тактированием PIO.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post



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

 


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


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