Не работает код на ATTiny10

Хотел сделать сувенирчик-пищалку на ATTiny10. Использовал ядро ATTiny10 Core с аддоном от Гайвера. Вот код, который работает на ATTiny13, но не работает на ATTiny10. Виснет на первом элементе массива.

uint16_t note[7]={1911, 1432, 1517, 1432, 956, 956, 1911};
uint8_t i ;
uint32_t ms ;

void setup() {
  pinMode(PB2, OUTPUT);
  i = 0;
  ms = millis();
}
  void loop() {
  ms = millis();
   do {
   digitalWrite(PB2, HIGH);
   delayMicroseconds(note[i]);
   digitalWrite(PB2, LOW);
   delayMicroseconds(note[i]);
      }
    while (millis() - ms < 500);
   ms = millis();
   digitalWrite(PB2, LOW);
   delay(10);
   i++;
   if (i == 7) {
   digitalWrite(PB2, LOW);
   delay(500);
    i = 0;
     }
   }

Что не так и какие есть предложения?

Предложение: пойти на форум гайвера, и вежливо поинтересовацца, какого, сопсно, хрена не работает

1 лайк

Обратиться к Гайверу

1 лайк

Уже обратился… Первый мой пост удалил модератор, сейчас открыл второй с тем же вопросом.
“…не так сидишь, не так стоишь” форум у него, какой то тоталитарный…

Здесь так же. Гайверовское - к гайверу.

Я понимаю…, но аддон-то, вроде, работает. Просто Гайвер адаптировал команды (частично) под Arduino IDE. Для меня это удобнее, ибо в оригинальном ядре надо с регистрами портов работать, а для меня это - темный лес…

Значить, купи себе Attiny13, если с ней всё работает, а для тебя это всё - тёмный лес.

1 лайк

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

1 лайк

А теперь про код

Вот честно - спросите у любого новичка - как должен работать код выше?
И от вам ответит -

Так чего ж вы хотите-то:)

ЗЫ Комментарий для местных - когда ТС выкладывал свой код на Гайвере, он был еще бредовее…

1 лайк

Я нашел косяк в первом посте (скопипастил криво и не проверил), только он (пост), пропал. Я не пойму - что не так с кодом, который работает на любом другом контроллере и не работает на
10-ой тиньке… Может аддон кривой, а может таймер в 10-ой тиньке специфический…

Этот код и правда лучше.
Но что интересно - вы и про тот код говорили, что он на других МК работает.
И про этот так же говорите.

Интересно, а завтра вы с новым кодом не придете?

В отличии от вчерашнего, этот код даже по нотам должен переходить, хотя и медленно.
Меня смущает, что у вас уже занято 19 байт оперативки из 32х
А что там еще у Гайвера в аддоне, если у него там и миллис и микрос есть, кто знает?

Наиболее правильный вопрос вам задали в новой ветке на гайвере - почему вам надо использовать именно тини10? У вас их вагон со времен СССр остался?

Я насчитал 23 байта…
И аддона от гайвера не знаю, вот такой нашел:

Ща как компильну! )))

не компилится)) я пробовал)))

Не ломай кайф! Дай костёр раздую )))

ЗЫ: Гайверский нашел? Пробовал?

нет, надоело

Я и говорю… Код с самого начала был такой, но после копипаста на увидел, что не скопировались квадратные скобки с переменной [i]. Увидел только после вашего замечания.
ATTiny10 у меня еще 7 шт. осталось и хотел сделать брелок-сувенирчик… маленький… и пищит… прикольно же. Почему - нет…?

Такая же простыня у тебя?

sketch_apr02a.ino: In function ‘void setup()’:
sketch_apr02a:6:16: error: ‘OUTPUT’ was not declared in this scope
pinMode(PB2, OUTPUT);
^
sketch_apr02a:6:22: error: ‘pinMode’ was not declared in this scope
pinMode(PB2, OUTPUT);
^
sketch_apr02a:8:15: error: ‘millis’ was not declared in this scope
ms = millis();
^
C:\Users\root\AppData\Local\Temp\arduino_modified_sketch_751043\sketch_apr02a.ino: In function ‘void loop()’:
sketch_apr02a:11:15: error: ‘millis’ was not declared in this scope
ms = millis();
^
sketch_apr02a:13:23: error: ‘HIGH’ was not declared in this scope
digitalWrite(PB2, HIGH);
^
sketch_apr02a:13:27: error: ‘digitalWrite’ was not declared in this scope
digitalWrite(PB2, HIGH);
^
sketch_apr02a:14:30: error: ‘delayMicroseconds’ was not declared in this scope
delayMicroseconds(note[i]);
^
sketch_apr02a:15:23: error: ‘LOW’ was not declared in this scope
digitalWrite(PB2, LOW);
^
sketch_apr02a:20:21: error: ‘LOW’ was not declared in this scope
digitalWrite(PB2, LOW);
^
sketch_apr02a:20:24: error: ‘digitalWrite’ was not declared in this scope
digitalWrite(PB2, LOW);
^
sketch_apr02a:21:11: error: ‘delay’ was not declared in this scope
delay(10);
^
exit status 1
‘OUTPUT’ was not declared in this scope

да, такая, и скучно стало разбираться со всем этим

ну видимо именно потому, что не работает…

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