ну что ты как маленький кодом выкладывай, а не картинкой.
Как ТС пробовать станет?
за безделье и бездействие, ТС надо наказать и пусть с экрана набирает
но ладно…
Спойлер
uint16_t note[7] = { 1911, 1432, 1517, 1432, 956, 956, 1911 };
void setup() {
DDRB |= (1 << PB2);
}
void loop() {
for (uint8_t i = 0; i < 7; i++) {
uint16_t ms = 0;
do {
PORTB |= (1 << PB2);
for (uint16_t j = note[i]; j > 0; j--) _delay_us(1);
PORTB &= ~(1 << PB2);
for (uint16_t j = note[i]; j > 0; j--) _delay_us(1);
ms += (note[i] / 100) * 2;
} while (ms < 5000);
}
_delay_ms(500);
}
да он бы нам совсем не нужен, кабы у кого из нас эта тинька была
этт точно, вот была бы, ей богу проверил бы))
Ребята!!! Вы круты… Высший пилотаж! Вот только попробовать я смогу только завтра. Вся эта хрень у меня на работе осталась… Потерпите? Отчитаюсь в 9:00 по Москве…
Поставил будильник на 8:59.
не проспи!
Мне, глядя на вас, остается только глазами хлопать…
А локальные переменные (байта 3 имеется)?)))
А вообще - я рад что в компании ТАКИХ маньяков
щас @Komandir этот код еще в два раза ужмет, 100500 )))
uint16_t note[7] = { 1911, 1432, 1517, 1432, 956, 956, 1911 };
int main () {
DDRB |= (1 << PB2);
while (1) {
for (uint8_t i = 0; i < 7; i++) {
uint16_t ms = 0;
do {
PORTB |= (1 << PB2);
for (uint16_t j = note[i]; j > 0; j--) _delay_us(1);
PORTB &= ~(1 << PB2);
for (uint16_t j = note[i]; j > 0; j--) _delay_us(1);
ms += (note[i] / 100) * 2;
} while (ms < 5000);
}
_delay_ms(500);
}
}
Скетч использует 224 байт (21%) памяти устройства. Всего доступно 1024 байт.
Глобальные переменные используют 0 байт (0%) динамической памяти, оставляя 32 байт для локальных переменных. Максимум: 32 байт.
я увижу код в 100 байт али нет? Позорище!!! )))
хуже чем в #83 - верни сетуп-луп взад
Почему хуже? В #83 у меня получалось так:
Скетч использует 230 байт (22%) памяти устройства. Всего доступно 1024 байт.
А у @xDriver тот же код 212
Внимание (барабанная дробь)!
Вот скотина! Вчера “Дудка” из Arduino IDE 2.3.2 нормально все загружала, а сегодня - нихрена
Programmer Type : usbasp
Description : USBasp, http://www.fischl.de/usbasp/
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e9003 (probably t10)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "C:\Users\Alexander\AppData\Local\Temp\arduino\sketches\E673D4DEB036583CE9B421F3EE418922/sketch_apr3a.ino.hex"
avrdude: writing flash (244 bytes):
Writing | ################################################## | 100% 1.03s
avrdude: 244 bytes of flash written
avrdude done. Thank you.
Failed programming: uploading error: exit status 0xc0000005
Ладно… Берем *.hex и заливаем через адаптированный SinaProg 2.1.1
Yeesss!!!
uint16_t note[7] = { 1911, 1432, 1517, 1432, 956, 956, 1911 };
void setup() {
DDRB |= (1 << PB2);
}
void loop() {
for (uint8_t i = 0; i < 7; i++) {
uint16_t ms = 0;
do {
PORTB |= (1 << PB2);
for (uint16_t j = note[i]; j > 0; j--) _delay_us(1);
PORTB &= ~(1 << PB2);
for (uint16_t j = note[i]; j > 0; j--) _delay_us(1);
ms += (note[i] / 100) * 2;
} while (ms < 2500);
}
_delay_ms(500);
}
Немного подправил тайминги для аутентичности (эта мелодия акустического маяка на проходной предприятия для слепых в моем городе Ступино в 70-80 года. Маяк работал до 1992 года).
А я же могу любые тайминги в любом разумном количестве в массив забивать?
Благословляю, отрок.
Пусть из #92 у себя скомпилирует…
примерно до 350 нот