Easyelectronics.ru

Электроника для всех
Текущее время: 22 ноя 2017, 21:48

Часовой пояс: UTC + 5 часов



    • 10 шт. 2-слоя 100*100mm 2$. Быстрый заказ: JLCPCB.com
    • JLCPCB - это крупнейшая фабрика PCB прототипов в Китае.
    • Имеющий более 290,000 клиентов и выполняющий более 8,000 заказов в день.
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Почему высокий уровень на пине?
СообщениеДобавлено: 24 окт 2016, 21:47 
Заглядывает иногда

Зарегистрирован: 15 авг 2016, 08:50
Сообщения: 95
Изображение
Кароч вот код начальной инициализации. Вопрос- почему пин РА0 находиться в высоком состоянии??? как будто он пулл ап на положительную шину.
Попробовал поставить внешний пулл даун резистор и все нормально стало, но без резюка - высокий уровень???
Код:
void PIN_MANAGER_Initialize(void) {
    LATA = 0x00;
    TRISA = 0x0B;
    ANSELA = 0x02;
    WPUA = 0x00;

    OPTION_REGbits.nWPUEN = 0x01;

    APFCON = 0x00;

    // enable interrupt-on-change individually   
    IOCAP0 = 1;

    // enable interrupt-on-change globally
    INTCONbits.IOCIE = 1;

}

void PIN_MANAGER_IOC(void) {
    if ((IOCAP0 == 1) && (IOCAF0 == 1)) {
        //@TODO Add handling code for IOC on pin RA0
        flag_PIR = 1;
        // clear interrupt-on-change flag
        IOCAF0 = 0;
        INTCONbits.IOCIF = 0;
    }
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Почему высокий уровень на пине?
СообщениеДобавлено: 24 окт 2016, 23:08 
Заглядывает иногда

Зарегистрирован: 14 сен 2015, 08:50
Сообщения: 179
Откуда: Россия, Ростов-на-Дону
Я пиками не занимался, но думаю, что Вы настроили выход в "высокоимпедансном режиме", т.е. он без внутренней подтяжки. Соответственно на таком выходе в реальности может быть все что угодно. В протеусе после замыкания кнопкой на высокий уровень и последующим размыкании, будет некоторое время высокий уровень, а щатем он "стечет" в низкий.
Т.е. просто не надо выходы оставлять "в воздухе", т.е. без подтяжки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Почему высокий уровень на пине?
СообщениеДобавлено: 25 окт 2016, 20:17 
Заглядывает иногда

Зарегистрирован: 15 авг 2016, 08:50
Сообщения: 95
во-первых это вход, во вторых а каким образом мне настроить по другому? или я вынужден ставить внешнюю подтяжку на землю чтоб там был стабильный ноль?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Почему высокий уровень на пине?
СообщениеДобавлено: 25 окт 2016, 20:40 
Заглядывает иногда

Зарегистрирован: 14 сен 2015, 08:50
Сообщения: 179
Откуда: Россия, Ростов-на-Дону
roman89 писал(а):
во-первых это вход, во вторых а каким образом мне настроить по другому? или я вынужден ставить внешнюю подтяжку на землю чтоб там был стабильный ноль?

Хорошо, а какой должен быть уровень? Был высокий, затем кнопку отключили... почему уровень должен был измениться? Только если заряд куда-то стечет, но вход с высоким сопротивлением, в идеале с бесконечным, т.е. теоритически уровень так и должен оставаться высоким. В реальности он конечно стечет, но могут быть и наводки, т.е. на пине самопроизвольно появится высокий уровень.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Почему высокий уровень на пине?
СообщениеДобавлено: 25 окт 2016, 21:36 
Заглядывает иногда

Зарегистрирован: 15 авг 2016, 08:50
Сообщения: 95
я кнопку даже не нажимаю. он с самого начала высокий в протеусе по крайней мере.
кароч ты советуешь просто ставить внешний 1к пулл даун резюк и все??


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Почему высокий уровень на пине?
СообщениеДобавлено: 25 окт 2016, 22:03 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 09 июн 2016, 13:49
Сообщения: 194
Откуда: Севастополь
Т.е. в железе не пробовал, а только "в протеусе по крайней мере" ?
Ну и стоит ли из-за такой херни людей отвлекать ?

Любители посимулировать должны знать, что если пин в PIC-е настроен как вход и у него выключена подтяжка, то он болтается в воздухе. Учитывая то, что он КМОП, напряжение на нем НЕОПРЕДЕЛЕНО, и может быть любым, хоть переменкой с 50Гц.
А то, что протеус его показывает высоким - это спецом для лохов, которые даташиты не читают.


Последний раз редактировалось -ALS- 25 окт 2016, 22:10, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Почему высокий уровень на пине?
СообщениеДобавлено: 25 окт 2016, 22:05 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 3375
(и без "хоть" ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Почему высокий уровень на пине?
СообщениеДобавлено: 25 окт 2016, 22:11 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 09 июн 2016, 13:49
Сообщения: 194
Откуда: Севастополь
тоже верно :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Почему высокий уровень на пине?
СообщениеДобавлено: 27 окт 2016, 09:52 
Заглядывает иногда

Зарегистрирован: 15 авг 2016, 08:50
Сообщения: 95
в реале тоже пробовал - прерывание не наступало вообще. я вродь где то видел что щас у пиков встроенная подтяжка к земле тоже есть, так это? то есть не пулл ап а пулл даун подтяжка. если так то как его включить чтоб не вешать внешний резюк?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Почему высокий уровень на пине?
СообщениеДобавлено: 28 окт 2016, 04:00 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 09 июн 2016, 13:49
Сообщения: 194
Откуда: Севастополь
Нет, пулл дауна у 12F1xxx точно нет.
Разве, может, у PIC24/PIC30, про них я не скажу. есть, не у всех.
В вашем случае - только внешний резистор.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Почему высокий уровень на пине?
СообщениеДобавлено: 28 окт 2016, 08:21 
Заглядывает иногда

Зарегистрирован: 14 сен 2015, 08:50
Сообщения: 179
Откуда: Россия, Ростов-на-Дону
-ALS- писал(а):
Нет, пулл дауна у 12F1xxx точно нет.
Разве, может, у PIC24/PIC30, про них я не скажу. есть, не у всех.
В вашем случае - только внешний резистор.

Или наоборот, если есть подтяжка к питанию - кнопку к земле.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB