как все таки правильно INPUT_PULLUP или INPUT а потом HIGH

art100
Offline
Зарегистрирован: 09.03.2014

как правильно все таки

  pinMode     (Pin2, INPUT); 
  digitalWrite(Pin2, HIGH);

или одной командой 

  pinMode     (Pin2, INPUT_PULLUP); 

нет ли где нибудь особеннностей в каких-нибудь чипах чтобы сразу 4k7-ом к плюсу не притягивать ножку

я уже во всем начинаю сомневаться

я последнюю 5-летку одной командой кнопку инициализирую

и практически везде вижу что две команды пишут

Может есть где-нибудь особенность?

ну кроме того что сразу все ножки подтянуть резисторами 4к7 внутренними чип грется начинает раньше ожидаемого

 

tmr
Offline
Зарегистрирован: 19.05.2014

INPUT_PULLUP если версия IDE >= 1.0.1. В предыдущих версиях такого режима входа небыло и его выставляли двумя командами вручную.

art100
Offline
Зарегистрирован: 09.03.2014

tmr пишет:

INPUT_PULLUP если версия IDE >= 1.0.1. В предыдущих версиях такого режима входа небыло и его выставляли двумя командами вручную.

ну да

я же написал

пятилетку так писал

tmr
Offline
Зарегистрирован: 19.05.2014

Может быть я не правильно понимаю вопрос, но еще раз - если вы откроете wiring_digital.c и посмотрите на реализацию ф-ций pinMode (стр. 31) и digitalWrite (стр. 137), то заметите, что оба варианта PullUp делают в конечном счете одно и тоже.

Если же вопрос про использование PullUp vs PullDown то это чисто религиозный вопрос и вам стоит использовать тот вариант, который вам удобнее реализовать в железе.

art100
Offline
Зарегистрирован: 09.03.2014

смотрю код вроде старательно проработанный

вроде по коду человеку за 30

ну уж извините по косякам возраст часто мне очевиден

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

как будто часть кода писал один а часть другой

значит все как всегда

Глупость безпредельна,

Разум человеческий имеет предел.

 

Спасибо 

Хоть что-то в этом мире постоянно.

буду по старинке писать

pinMode(Pimpa2,INPUT_PULLUP);// кнопкой на землю замыкать, я что дебил по другому пользовать? Поробуешь прозвонить обрывы поймешь глупость.

Kakmyc
Offline
Зарегистрирован: 15.01.2018

А будет ли правильно написать
pinMode(3,1) ?
За место
pinMide(3,INPUT_PULLUP)

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

нет

если глянуть в файл Arduino.h где они задефайнины, то все станет понятно

#define HIGH 0x1
#define LOW  0x0

#define INPUT 0x0
#define OUTPUT 0x1
#define INPUT_PULLUP 0x2

#define PI 3.1415926535897932384626433832795
#define HALF_PI 1.5707963267948966192313216916398
#define TWO_PI 6.283185307179586476925286766559
#define DEG_TO_RAD 0.017453292519943295769236907684886
#define RAD_TO_DEG 57.295779513082320876798154814105
#define EULER 2.718281828459045235360287471352 

 

Kakmyc
Offline
Зарегистрирован: 15.01.2018

Да. Уже понял, проверив опытным путем.

Kakmyc
Offline
Зарегистрирован: 15.01.2018

А вот pinMode(3,0x2) вроде как прокатывает :-)

ELITE
ELITE аватар
Offline
Зарегистрирован: 11.01.2018

да даже 1 и 0 прокатывают

вообещ одинаково работают
true = 1 = 0x1

false = 0 = 0x0

Buzoff
Offline
Зарегистрирован: 03.04.2018

можно ли програмно подтягивать Rx к плюсу?

art100
Offline
Зарегистрирован: 09.03.2014

Buzoff пишет:

можно ли програмно подтягивать Rx к плюсу?

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

Вы тему читали?

 

Buzoff
Offline
Зарегистрирован: 03.04.2018

art100 пишет:

Buzoff пишет:

можно ли програмно подтягивать Rx к плюсу?

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

Вы тему читали?

 

в теме вроде о UART ничего не написано.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Buzoff пишет:

в теме вроде о UART ничего не написано.

Вот именно.

Buzoff
Offline
Зарегистрирован: 03.04.2018

andriano пишет:

Buzoff пишет:

в теме вроде о UART ничего не написано.

Вот именно.

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

вопрос же связат с подтяжкой пинов к питанию,тема как раз об этом.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Buzoff пишет:

можно ли програмно подтягивать Rx к плюсу?

А разве Клапауций не запретил?

Buzoff
Offline
Зарегистрирован: 03.04.2018

ЕвгенийП пишет:

Buzoff пишет:

можно ли програмно подтягивать Rx к плюсу?

А разве Клапауций не запретил?

уже слышал такое)) можно об этом гдето прочитать, чтоб разобраться - почему?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Что "почему"? Почему Клапауций всё запрещает? Так поищите по форуму фразу "я запретил" узнаете много интересного.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Buzoff пишет:

чтоб разобраться - почему?

Дык он не объясняет почему, просто запретил и всё. Поэтому низзя.

Buzoff
Offline
Зарегистрирован: 03.04.2018

ЕвгенийП пишет:

Что "почему"? Почему Клапауций всё запрещает? Так поищите по форуму фразу "я запретил" узнаете много интересного.

нет, почему нельзя?

почему он запретил я догадываюсь - потому что тупо нельзя (ну когда маленьким детям устают что-то обьяснять, говорят - нельзя, и все).

может он в тот момент намекнул, почему нельзя (я бы попробывал для себя разобраться) или он просто написал "нельзя, потому что я запрещаю"?

Buzoff
Offline
Зарегистрирован: 03.04.2018

Jeka_M пишет:

Buzoff пишет:

чтоб разобраться - почему?

Дык он не объясняет почему, просто запретил и всё. Поэтому низзя.

ясно

ну нельзя так нельзя))

art100
Offline
Зарегистрирован: 09.03.2014

Buzoff пишет:

Jeka_M пишет:

Buzoff пишет:

чтоб разобраться - почему?

Дык он не объясняет почему, просто запретил и всё. Поэтому низзя.

ясно

ну нельзя так нельзя))

В этом мире все можно. Что нельзя-то?

Причем UART к незнанию программистов, что внутренний резистор последние 40 лет в микропроцессорах есть еще на уровне фотошаблонов?

А в синтаксисе ArduinoIDE пятилетку есть INPUT_PULLUP из коробки?

 

art100
Offline
Зарегистрирован: 09.03.2014

Важно для счастливой жизни. :)

Если Клапуций сказал нельзя значит нельзя :)

Когда все вилки вошли во все розетки наступило всеобщее счастье :)

 

 

art100
Offline
Зарегистрирован: 09.03.2014

Buzoff пишет:

andriano пишет:

Buzoff пишет:

в теме вроде о UART ничего не написано.

Вот именно.

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

вопрос же связат с подтяжкой пинов к питанию,тема как раз об этом.

Я потерял суть. В чем вопрос?

Ладно таку уж и быть позволяю зайти ко мне и посмотреть может все уже решено 

http://art1.by/sheet/arduino_inout/index.html

 

Buzoff
Offline
Зарегистрирован: 03.04.2018

art100 пишет:

Buzoff пишет:

Jeka_M пишет:

Buzoff пишет:

чтоб разобраться - почему?

Дык он не объясняет почему, просто запретил и всё. Поэтому низзя.

ясно

ну нельзя так нельзя))

В этом мире все можно. Что нельзя-то?

Причем UART к незнанию программистов, что внутренний резистор последние 40 лет в микропроцессорах есть еще на уровне фотошаблонов?

А в синтаксисе ArduinoIDE пятилетку есть INPUT_PULLUP из коробки?

 

так можно или нет?)))

для меня rx такой же порт как и остальные, настоенный как вход, наверняка имеющий внутренний резистор (может я в чем то ошибаюсь).

вот меня и интересует, как может повлиять на работу сериал строка - digitalWrite(0, 1); ?

art100
Offline
Зарегистрирован: 09.03.2014

Buzoff пишет:

art100 пишет:

Buzoff пишет:

Jeka_M пишет:

Buzoff пишет:

чтоб разобраться - почему?

Дык он не объясняет почему, просто запретил и всё. Поэтому низзя.

ясно

ну нельзя так нельзя))

В этом мире все можно. Что нельзя-то?

Причем UART к незнанию программистов, что внутренний резистор последние 40 лет в микропроцессорах есть еще на уровне фотошаблонов?

А в синтаксисе ArduinoIDE пятилетку есть INPUT_PULLUP из коробки?

 

так можно или нет?)))

для меня rx такой же порт как и остальные, настоенный как вход, наверняка имеющий внутренний резистор (может я в чем то ошибаюсь).

вот меня и интересует, как может повлиять на работу сериал строка - digitalWrite(0, 1); ?

 

аааа я понял 

вы не поняли шутки юмора

http://art1.by/sheet/arduino_inout/jpg/202.png

http://art1.by/sheet/arduino_inout/jpg/206.png

http://art1.by/sheet/arduino_inout/jpg/210.png

http://art1.by/sheet/arduino_inout/jpg/211.png

все можно

вопрос в другом

если солнце всходит и заходит без резисторов на стандартных ножках TX RX 

зачем?

Я ответил на ваш вопрос?

 

Buzoff
Offline
Зарегистрирован: 03.04.2018

я подключаю rx не напрямую к tx, а через мосфет, согласующий лог. уровни.

в схеме присудствует ВНЕШНИЙ резистор, который подтягивает rx к плюсу питания.

вот захотелось мне избавится от этого ВНЕШНЕГО резистора, мол есть внутренний, почему бы не использовать его.

вот и стало интересно, можно ли так?  можно ли воспользоватся INPUT_PULLUP?

у многих сразу возникнет вопрос - зачем?, не проще использовать внешний резистор?   отвечаю - просто интересно

art100
Offline
Зарегистрирован: 09.03.2014

Buzoff пишет:

я подключаю rx не напрямую к tx, а через мосфет, согласующий лог. уровни.

в схеме присудствует ВНЕШНИЙ резистор, который подтягивает rx к плюсу питания.

вот захотелось мне избавится от этого ВНЕШНЕГО резистора, мол есть внутренний, почему бы не использовать его.

вот и стало интересно, можно ли так?  можно ли воспользоватся INPUT_PULLUP?

у многих сразу возникнет вопрос - зачем?, не проще использовать внешний резистор?   отвечаю - просто интересно

INPUT_PULLUP - вход подтянуть вверх

INPUT_PULLDOWN - вход подтянуть вниз на ардуинах этот код не помню есть-ли вообще в компиляторе

вот тут транзисторы оптопары с MIDI клавиатурой дружили и RX TX UART - я лично не проверял за ненадобностью

это ваша схема?

http://art1.by/sheet/arduino_inout/jpg/206.png

а какой парой UART RX TX - RX TX UART вы хотите поразвлекаться я не вижу.

воткните осцилограф и посмотрите формы

я на работе и под рукой нет вообще никаких я так понимаю ардуин

вы можете нарисовать обяснить ответить на один вопрос

зачем?

или будем схемы анализировать по хрустальному шару?

схема мосфета где?

 

проверим компилятор 1.8.5


String inputString = "";         // a String to hold incoming data
boolean stringComplete = false;  // whether the string is complete

void setup() {
  pinMode(0,INPUT_PULLUP);
  pinMode(1,INPUT_PULLUP);
  // initialize serial:
  Serial.begin(9600);
  // reserve 200 bytes for the inputString:
  inputString.reserve(200);
}

void loop() {
  // print the string when a newline arrives:
  if (stringComplete) {
    Serial.println(inputString);
    // clear the string:
    inputString = "";
    stringComplete = false;
  }
}

 

не ругается

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

art100 пишет:

схема мосфета где?

Ну, дык, ... это ?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Buzoff пишет:

andriano пишет:

Buzoff пишет:

в теме вроде о UART ничего не написано.

Вот именно.

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

вопрос же связат с подтяжкой пинов к питанию,тема как раз об этом.

Вопрос связан не просто с подтяжкой пинов к питанию, а врполне конкретных пинов, работабщих в конкретном режиме. А именно: цифровых входов, работающих в режиме входа общего назначения (GPIO INPUT). Все другие случаи в теме не обсуждаются. Например, не обсуждается возможность подтяжки к питанию пина, к которому подводится питание (Vcc либо GND). Или пина, работающего в режиме GPIO OUTPUT. Или в режиме аналогового входа. Точно также не обсуждается возможность подтяжки к питанию пина, реализующего альтернативную функцию (каковой и является аппаратный UART). 

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

GarryC
Offline
Зарегистрирован: 08.08.2016

Чисто теоретически можно, на практике все равно придется ставить внешний.

Проблема в том, что относительно резистора подтяжки Вам мало что гарантируется - у mega32 их сопротивление от 20 до 50 кОм, а это неслабый разброс.

Buzoff
Offline
Зарегистрирован: 03.04.2018

вот моя схема.

вопрос был о том, можно ли заменить перечеркнутый резистор на внутренний с помощу строк 

1 pinMode     (0, INPUT);
2 digitalWrite(0, HIGH);

или

1 pinMode     (0, INPUT_PULLUP);

сначала большинство ответило "нет, нельзя", потом вроде "а почему бы и нет"

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

 

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

andriano пишет:
возможность подтяжки к питанию пина, к которому подводится питание (Vcc либо GND).
Глубоко!!! :))))))))))))

b707
Offline
Зарегистрирован: 26.05.2017

Buzoff пишет:

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

Buzoff, по-моему вас просто троллят, причем с какой стати - мне не понятно. Ни одного четкого ответа в теме не увидел.

Подтяжкой к питанию вы ничего сжечь не можете, вопрос только в том. будет ли нормально работать UART. Я бы на вашем месте просто попробовал. Мое имхо, что заменить внешний режистор на внутреннюю подтяжку вполне можно

но хочу оговорится. что я в схемотехнике начинающий типа вас

Buzoff
Offline
Зарегистрирован: 03.04.2018

b707 пишет:

Buzoff пишет:

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

Buzoff, по-моему вас просто троллят, причем с какой стати - мне не понятно. Ни одного четкого ответа в теме не увидел.

Подтяжкой к питанию вы ничего сжечь не можете, вопрос только в том. будет ли нормально работать UART. Я бы на вашем месте просто попробовал. Мое имхо, что заменить внешний режистор на внутреннюю подтяжку вполне можно

но хочу оговорится. что я в схемотехнике начинающий типа вас

на форумах, троллинг это норма))) главное не пропустить истину)

да я уже понял, что нужно тупо проверить самому, или просто использовать внешний и не морочить никому голову.

просто стало любопытно.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

b707 пишет:

Buzoff, по-моему вас просто троллят, причем с какой стати - мне не понятно. Ни одного четкого ответа в теме не увидел.

Четкий ответ может быть только таким: "Четкого ответа не существует".

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