Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подаю на вывод контроллера 1, а считываю 0
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Bulat
Для проверки от питания на вывод контроллера через сопротивление подаю "1". Считываю через PIOA_PDSR, возвращает "0".
Код
regs->PIOA_OER = 0x2080000; //Настройка выводов PA на выход        
regs->PIOA_ODR = ~0x2080000; //Запрет части линий PA на вывод        
regs->PIOA_OWER = 0x2080000; //Разрешение вывода на линию PA из ODSR  
regs->PIOA_OWDR = ~0x2080000;  
m = regs->PIOA_PDSR&0x800000;//"1" считывается с порта PA23!!!

m возвращает равным 0.
vet
тактовую на PIOA подали?
Bulat
А разве в Cstartup подача тактового сигнала на периф порты не прописана?
vet
нет.
Bulat
Причем я проверил порт PA0, он работает, то есть "1" возвращается.
vet
вывод PA23 подключен к PIO?
Bulat
Вот таким образом у меня порты инициализируются
Код
//Инициализация PIO
void PIO_ini()
{
  regs->PIOA_PER=0xFFFBFFFF;//Все порты настр. на исп. в качестве в\в, кроме PA18
  regs->PIOA_PDR=~0xFFFBFFFF;
vet
должно работать, по идее.
возможно, вывод сгорел.
aaarrr
1. Что все-таки с тактовой? Добавьте в инициализации PIO:
Код
    AT91C_BASE_PMC->PMC_PCER = (0x01UL << AT91C_ID_PIOA);

2. PA0 работает, или только возвращает "1"? "0" подавать пробовали?

3. Возможно, к делу не относится, но все же:
Код
regs->PIOA_OER = 0x2080000; //Настройка выводов PA на выход

красивее, понятнее и безопаснее записать так:
Код
#define PA25 (0x01UL << 25)
#define PA19 (0x01UL << 19)

regs->PIOA_OER =  PA25 | PA19; //Настройка выводов PA на выход
Bulat
А почему, когда я использую этот РА23 как выход он нормально работает?
aaarrr
Потому что для работы на выход тактирование не нужно.
Bulat
сигнал тактирования задается с пом региста PMC_PCER? Если да, то я все единицы туда записал.
aaarrr
Цитата(Bulat @ May 13 2008, 15:12) *
сигнал тактирования задается с пом региста PMC_PCER? Если да, то я все единицы туда записал.

Да, он.

А с разрядностью m в первом посте все в порядке?
Bulat
Вы имеете тип переменной m? integer
Alex03
А осцилом на самом пин-е поглядеть?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.