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

 
 
 
Reply to this topicStart new topic
> Подаю на вывод контроллера 1, а считываю 0, at91sam7s256
Bulat
сообщение May 13 2008, 04:46
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 12-10-06
Из: ufa
Пользователь №: 21 241



Для проверки от питания на вывод контроллера через сопротивление подаю "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.
Go to the top of the page
 
+Quote Post
vet
сообщение May 13 2008, 05:08
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



тактовую на PIOA подали?


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
Bulat
сообщение May 13 2008, 05:14
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 12-10-06
Из: ufa
Пользователь №: 21 241



А разве в Cstartup подача тактового сигнала на периф порты не прописана?
Go to the top of the page
 
+Quote Post
vet
сообщение May 13 2008, 05:20
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



нет.


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
Bulat
сообщение May 13 2008, 05:33
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 12-10-06
Из: ufa
Пользователь №: 21 241



Причем я проверил порт PA0, он работает, то есть "1" возвращается.
Go to the top of the page
 
+Quote Post
vet
сообщение May 13 2008, 05:41
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



вывод PA23 подключен к PIO?


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
Bulat
сообщение May 13 2008, 05:54
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 12-10-06
Из: ufa
Пользователь №: 21 241



Вот таким образом у меня порты инициализируются
Код
//Инициализация PIO
void PIO_ini()
{
  regs->PIOA_PER=0xFFFBFFFF;//Все порты настр. на исп. в качестве в\в, кроме PA18
  regs->PIOA_PDR=~0xFFFBFFFF;
Go to the top of the page
 
+Quote Post
vet
сообщение May 13 2008, 06:23
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



должно работать, по идее.
возможно, вывод сгорел.


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 13 2008, 09:26
Сообщение #9


Гуру
******

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



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 на выход
Go to the top of the page
 
+Quote Post
Bulat
сообщение May 13 2008, 09:39
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 12-10-06
Из: ufa
Пользователь №: 21 241



А почему, когда я использую этот РА23 как выход он нормально работает?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 13 2008, 09:45
Сообщение #11


Гуру
******

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



Потому что для работы на выход тактирование не нужно.
Go to the top of the page
 
+Quote Post
Bulat
сообщение May 13 2008, 11:12
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 12-10-06
Из: ufa
Пользователь №: 21 241



сигнал тактирования задается с пом региста PMC_PCER? Если да, то я все единицы туда записал.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 13 2008, 12:52
Сообщение #13


Гуру
******

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



Цитата(Bulat @ May 13 2008, 15:12) *
сигнал тактирования задается с пом региста PMC_PCER? Если да, то я все единицы туда записал.

Да, он.

А с разрядностью m в первом посте все в порядке?
Go to the top of the page
 
+Quote Post
Bulat
сообщение May 14 2008, 03:05
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 12-10-06
Из: ufa
Пользователь №: 21 241



Вы имеете тип переменной m? integer
Go to the top of the page
 
+Quote Post
Alex03
сообщение May 14 2008, 03:52
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034



А осцилом на самом пин-е поглядеть?
Go to the top of the page
 
+Quote Post

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

 


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


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