Перейти к содержанию
    

эээ.. а как мне отследить реакцию на нажатие кнопки ??

Какой кнопки? Куда и как она подключена?

 

по анологии??

или же все таки RSTC это сугубо к резету??

Да, на ресете тоже может быть кнопка, и ее состояние можно отследить. Больше аналогий не вижу.

Приведенный отрывок разрешает сброс процессора от внешнего сигнала NRST.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

честно говоря пока не подключена..только сделал саму кнопку и резистор ксати 180 ом нармально последовательно впаять или же маловато??

подключу на PIO вывод допустим 1.

я так думаю..сначало надо прказать выводу 1 стать входом 1. второи конец кнопки на землю через сопротивление

?? адальше как в резете??

вот читаю что то вроде даташита: нагрузочная способность ра0-ра3 до 16 мА.

наверно все таки маловато 180 ом. (или фиг с ним там еще в мк есть встроеное сопротивление?)

а какое максимальное сопротивление можно включить что бы мк реагировал на нажатие??

Изменено пользователем alexan300

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сделал саму кнопку и резистор ксати 180 ом нармально последовательно впаять или же маловато??

Зачем последовательно? Пока достаточно просто подключить кнопку между пином и землей - у SAM'ов мощные встроенные pull-up'ы.

 

Опрос кнопки будет выглядеть примерно так:

// Настройка
*AT91C_PMC_PCER = 1UL << AT91C_ID_PIOA; // Для чтения состояния вывода нужно обязательно
                                        // включить тактирование PIO
*AT91C_PIOA_PER = KEY;     // Перевели вывод в режим PIO
*AT91C_PIOA_ODR = KEY;     // Переключили на вход
*AT91C_PIOA_PPUER = KEY;   // Разрешили pull-up
*AT91C_PIOA_IFER = KEY;    // Включили входной фильтр

// Чтение состояния
if(*AT91C_PIOA_PDSR & KEY)
{
    // Если кнопка отжата (вывод в '1')
}
else
{
    // Если кнопка нажата (вывод в '0')
}

Конечно, следует внимательно почитать описание работы контроллера PIO, иначе толку от моих советов будет 0.

 

вот читаю что то вроде даташита: нагрузочная способность ра0-ра3 до 16 мА.

наверно все таки маловато 180 ом. (или фиг с ним там еще в мк есть встроеное сопротивление?)

а какое максимальное сопротивление можно включить что бы мк реагировал на нажатие??

Нагрузочная способность - параметр выхода, а не входа.

Без поллитрыкартинки я не разбирусь, как вы хотите эту кнопку подключить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

//check button 2 pressed
    if(!((m_pPio->PIO_PDSR) & BIT20)) {

а вот это к какои кнопке относится ?

я так понимаю бит 20??

или же все таки к PDSR?-но такое название в описании я ненашел((

//MAIN POINTER
AT91PS_PIO    m_pPio   = AT91C_BASE_PIOA;

AT91PS_RSTC   m_pRSTC  = AT91C_BASE_RSTC;

я так думаю эта часть кода делает то же самое что и

*AT91C_PIOA_PER = KEY;     // Перевели вывод в режим PIO
*AT91C_PIOA_ODR = KEY;     // Переключили на вход
*AT91C_PIOA_PPUER = KEY;   // Разрешили pull-up
*AT91C_PIOA_IFER = KEY;    // Включили входной фильтр

 

 

AT91C_PMC_PCER = 1UL << AT91C_ID_PIOA;

ругается на это(( expekted a "("

Изменено пользователем alexan300

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а вот это к какои кнопке относится ?

я так понимаю бит 20??

или же все таки к PDSR?-но такое название в описании я ненашел((

PDSR - название регистра модуля PIO, описание которого вы прочитать так и не удосужились :(

 

я так думаю эта часть кода делает то же самое

Нет.

 

Прежде чем продолжать эксперименты, почитайте какой-нибудь букварь по языку "C" и документацию на контроллер.

Пока что вы занимаетесь в буквальном смысле тыканьем пальцем в небо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

PDSR - название регистра модуля PIO, описание которого вы прочитать так и не удосужились :(

 

Нет.

 

Прежде чем продолжать эксперименты, почитайте какой-нибудь букварь по языку "C" и документацию на контроллер.

Пока что вы занимаетесь в буквальном смысле тыканьем пальцем в небо.

PDSR позволяет через этот регистр узнать уровень на входе .)

так вс еже что значит: expeсted a "("

и & BIT19 это какая ножка?? как пересчитать на нормальный язык?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так вс еже что значит: expeсted a "("

Не может он на ту строку так ругаться. Даже если пропустить "*". Делайте copy-paste внимательнее.

 

и & BIT19 это какая ножка?? как пересчитать на нормальный язык?

Наверное, PA19, если BIT19 означает "1<<19".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чест слово ругается на все строки(

даже на if.

может что то в библиотеках?

но я их вроде все подключил\отключил.

все перепроверил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как я понял у автора проблемы с английским, поэтому документацию на процессор он прочесть не может. Примеры от Atmel ему неподвластны по той же причине. Внятной документации на процессор по-русски мне не встречалось. Поэтому, даже не знаю, как ему помочь. Невозможно же на каждое его пожелание присылать ему готовые фрагменты программ? Надо учить языки.

 

P.S. Напоследок, в порядке ликбеза. Библиотеки - это особым образом сгруппированные объектные файлы, т.е. отлаженные куски программ откомпилированы и положены в библиотеку. Вы что думаете, эти библиотеки писали такие же как вы? Поэтому выкиньте все эти глупости из головы и возьмите за основу следующее правило: все ошибки в программе совершаю я сам и сам должен в них разобраться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ссылку на перевод документации я давал еще на первой странице.

 

Чест слово ругается на все строки(

Значит где-то вы влепили случайно скобку. Еще раз смотрите внимательно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Любой компилятор генерит файл листинга, т.е. исходного текста с/без ошибками. Если вам ну совсем непонятно, что за ошибка, можно ведь из этого файла листинга вырезать исходную строку и строку с ошибкой и прислать на всеобщее обозрение, чтобы мы все не занимались гаданием на кофейной гуще, чего вы там понаваяли!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смотрю что могу здесь

gaw

англииский хожу учу на курсы. в школе-техникуме-институте был немецкии

ну нету скобок..все обыскал.

рад бы приложить скрин экрана но никак(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

рад бы приложить скрин экрана но никак(

 

Я вам про текстовый файл с расширением чего-нибудь типа .lst (не работаю с IAR, поэтому точнее не подскажу), который может генерить компилятор, если его об этом попросить, а вы мне про print screen. Уж действительно, правильно пишет уважаемый aaarrr - пришлите исходный текст, где есть ошибка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

____.txtвот main и map.

а где листинг прячется? в каталоге лист?

если там пусто то как его туда записать?

к сожалению пришлость поменять расширение ибо запрещено мне загружать другие.

 

вот сделал лист..фаил он первый

main1.txt

___.txt

Изменено пользователем alexan300

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...