PortD RX и TX как простые цифровые выходы

b612
Offline
Зарегистрирован: 12.03.2017

Добрый день, Уважаемые.

пишу код

OUT_Pin0 = 0;
 
    Serial.end();
    pinMode(OUT_Pin0, OUTPUT);

  for (uint8_t i=0;i<10;i++){
    digitalWrite(OUT_Pin0, HIGH);
    delay(500);
    digitalWrite(OUT_Pin0, LOW);
    delay(100);
  }

D0 Не мигает.

И похоже находится в режиме высокого сопротивления

Подскажите, что не так ?

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

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

Green
Offline
Зарегистрирован: 01.10.2015

Всё должно работать. И работает.)

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

Такие фокусы могут очень не понравиться микросхеме CH340, да и самой ATMega. В какой-то момент Вы можете обнаружить, что скетчи перестали заливаться через USB. Не то, чтобы так делать совсем нельзя, но нужно чётко понимать, что и когда (а главное, зачем) Вы делаете.

Green
Offline
Зарегистрирован: 01.10.2015

По схемотехнике там обычно 1ком между 340 и Мега. Хотя мы ж не знаем что там на самом деле.)

-NMi-
Offline
Зарегистрирован: 20.08.2018

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

Такие фокусы могут очень не понравиться микросхеме CH340, да и самой ATMega.

Это всего-лишь "деццкие" фокусы т.к. есть фокусы и повеселее. Например, никто не пробовал изменять FuseBits прямо из кода? Менять тактовку прямо из кода? Отключать функцию ноги Reset?

Green
Offline
Зарегистрирован: 01.10.2015

Fuse и ресет из кода не получится, но тактовку как нефиг делать.) 
Хотя, смотря что понимать под Fuse.

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

Green пишет:

1ком между 340 и Мега. Хотя мы ж не знаем что там на самом деле.)

Вторая фраза - в самую точку :)

b612
Offline
Зарегистрирован: 12.03.2017

я так и не понял в чем дело

вот так не работает

#define OUT_Pin0 0
#define OUT_Pin1 1
pinMode(OUT_Pin1, OUTPUT);
pinMode(OUT_Pin1, OUTPUT); 
uint8_t i; 
for (i=0;i<1;i++){ 
  digitalWrite(OUT_Pin0, HIGH); 
  delay(500); 
  digitalWrite(OUT_Pin0, LOW); 
  delay(100); 
}

а вот так работает

  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT);
  for (i=0;i<2;i++){
    digitalWrite(0, HIGH);
    delay(500);
    digitalWrite(0, LOW);
    delay(100);
  }

 

 

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

а так

#define OUT_Pin0 0
#define OUT_Pin1 1
pinMode(OUT_Pin0, OUTPUT);
pinMode(OUT_Pin1, OUTPUT); 
uint8_t i; 
for (i=0;i<1;i++){ 
  digitalWrite(OUT_Pin0, HIGH); 
  delay(500); 
  digitalWrite(OUT_Pin0, LOW); 
  delay(100); 
}

 

Green
Offline
Зарегистрирован: 01.10.2015

Бывает. На третью строку посмотрите.
Опередили.)

-NMi-
Offline
Зарегистрирован: 20.08.2018

Green пишет:

Fuse и ресет из кода не получится, но тактовку как нефиг делать.) 
Хотя, смотря что понимать под Fuse.

Ясен пень, изменение тактовки нативно приведено в датащах в двух примерах, на С и на ASM. Естественно, шо тут думать-то?

А вот если КОММЕРЧЕСКОЕ устройство написало: "У вас осталось 10 попыток запуска, после чего устройство заблокируется"  - устройство не "обмануло", проц после этого через ISP уже не шьёцца от слова совсем. Высоковольткой проц поднимается без проблем. Внимание вАпрос - чем прога убила камень???

b612
Offline
Зарегистрирован: 12.03.2017

Это я ошибся при выкладывании кода сюда

а в программе было нормально

это было когда ещё и речи о pin1 не было

компилятор сразу ошибку бы выдал 

sadman41
Offline
Зарегистрирован: 19.10.2016

Опять рассказы о промышленных устройствах и распальцовка на ардуино-форуме. С АСУТП-шных выгнали что ли за бред, теперь сюда принесло...

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

-NMi- пишет:

А вот если КОММЕРЧЕСКОЕ устройство написало: "У вас осталось 10 попыток запуска, после чего устройство заблокируется"  - устройство не "обмануло", проц после этого через ISP уже не шьёцца от слова совсем. Высоковольткой проц поднимается без проблем. Внимание вАпрос - чем прога убила камень???

А Вы до этого пробовали прошивать устройство через ISP? До того, как "прога убила" камень?

Green
Offline
Зарегистрирован: 01.10.2015

-NMi- пишет:

Ясен пень, изменение тактовки нативно приведено в датащах в двух примерах, на С и на ASM. Естественно, шо тут думать-то?

А вот если КОММЕРЧЕСКОЕ устройство написало: "У вас осталось 10 попыток запуска, после чего устройство заблокируется"  - устройство не "обмануло", проц после этого через ISP уже не шьёцца от слова совсем. Высоковольткой проц поднимается без проблем. Внимание вАпрос - чем прога убила камень???


Это для вас ЯСЕНЬ ПЕНЬ, а реальности другие. Можно "убить камень" как нефиг делать. И хрен вы, как новичёк, с этим что сделаете.

-NMi-
Offline
Зарегистрирован: 20.08.2018

sadman41 пишет:

С АСУТП-шных выгнали что ли за бред, теперь сюда принесло...

Да, выгнали. То почте просят обратна  )))

-NMi-
Offline
Зарегистрирован: 20.08.2018

Jeka_M пишет:

А Вы до этого пробовали прошивать устройство через ISP? До того, как "прога убила" камень?

Я жеж "ардуинщег", йа чо це такое ISP даже не знаю, ща "захухлю" )))

-NMi-
Offline
Зарегистрирован: 20.08.2018

Green пишет:

[ И хрен вы, как новичёк, с этим что сделаете.

Ну шли ЛЮБОЙ рабочий камень с заблокированными FB & Reset я те его обратно живым пришлю. Тока не забудь {ChipId} с него снять, или чонить написать на нём, ну шоб небыло подмены с моей стороны. ChipId , конечно, в AVR нет... но,... если не знаешь как, я подскажу.

-NMi-
Offline
Зарегистрирован: 20.08.2018

Green пишет:

Это для вас ЯСЕНЬ ПЕНЬ, а реальности другие. 

Задачка номер 1 для "понятия" Skill Level

AVR328P 32 кб RAM делим на 8 сегментов по 4 килобайта. На любом таймере в ISR как определить, в каком сегменте находится PC (Program Counter). Сможете???

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

-NMi- пишет:

AVR328P 32 кб RAM делим на 8 сегментов по 4 килобайта. На любом таймере в ISR как определить, в каком сегменте находится PC (Program Counter). Сможете???

Нет. 

Научите?

sadman41
Offline
Зарегистрирован: 19.10.2016

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

Научите?

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

b612
Offline
Зарегистрирован: 12.03.2017

Ваня я просто лошадь и ваши  инсинуации с пространственно-временным континуумом вызывают....

А ведь действительно, зачем ?

Ностальгия по PIC16F84 или Z80, в котором было понятно просто всё

А ведь скоро и фактически уже мы вынуждены полагаться на ИИ

Вот позавчера полчаса роботов по телефону развлекал ))