как заглушить ШИМ?

idzander
Offline
Зарегистрирован: 22.12.2020

имеем такой код

bool  curr = 0;
byte var = 255;
 
void setup()
{
 
pinMode(2, INPUT_PULLUP); 
pinMode(3, INPUT_PULLUP); 
pinMode(4, INPUT_PULLUP); 
pinMode(5, OUTPUT); 
pinMode(6, OUTPUT); 
pinMode(7, OUTPUT); 
pinMode(8, OUTPUT); 
pinMode(9, OUTPUT); 
pinMode(11, OUTPUT); 
pinMode(15, INPUT); 
 
TCCR1A = TCCR1A & 0xe0 | 1;
TCCR1B = TCCR1B & 0xe0 | 0x0a;
 
}
void loop()
{
 
curr = digitalRead(15);
 
if (curr == 1)
 
{
  digitalWrite(5, 0),digitalWrite(6, 0), digitalWrite(7, 0), digitalWrite(8, 0),digitalWrite(9, 0),digitalWrite(11, 0),analogWrite(10, 0);
  }
 
analogWrite(10, (map(( (analogRead (2))), (0), (1023), (0), (var))));
 
 
 

Хотелось бы после появления единицы на 15пине поставить все цифровые пины и пин ШИМа в 0, Все работает кроме ШИМ. на 10 пине имеем какой то остаток ШИМа. Как поставить пин 10 в 0? 

 

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

1. Вставить код в сообщение по правилам форума

2. Убрать последнюю строку - она записывает в 10 пин уже после его обнуления

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

idzander пишет:

Как поставить пин 10 в 0? 

analogWrite(10, 0);  ?

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

Собственно, код из нулевого поста вообще компилироваться не должен

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

не забываем все ставить минусы в карму автору :))

idzander
Offline
Зарегистрирован: 22.12.2020

Впервый раз, не понял  сразу про то как вставлять код, сорян!

если я уберу строчку 

analogWrite(10, (map(( (analogRead (2))), (0), (1023), (0), (var))));

то ШИМ видимо заглуштся совсем, а мне хотелось бы всетаки по вышеуказанному условию... 

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

idzander пишет:

Впервый раз, не понял  сразу про то как вставлять код, сорян!

если теперь понял - так вставь сейчас нормально - тогда и обсуждать будем

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

idzander пишет:

если я уберу строчку 

analogWrite(10, (map(( (analogRead (2))), (0), (1023), (0), (var))));

то ШИМ видимо заглуштся совсем, а мне хотелось бы всетаки по вышеуказанному условию... 

Какой смысл обнулять ШИМ, если следующей строкой он в любом случае запишется новыми данными? Может быть стоит делать что-то одно - или обнулять, или записывать?

idzander
Offline
Зарегистрирован: 22.12.2020

Разобрался, всем спасибо.