Добавлено after 47 seconds:
[uquote="Adrift",url="/forum/viewtopic.php?p=4643068#p4643068"]Покажи, может я что-то найду.[/uquote]
Сейчас выложу. Но там много всего
Добавлено after 3 minutes 34 seconds:
Прикрепил.
Добавлено after 10 minutes 19 seconds:
Исходник сейчас выглядит вот так (прикрепил).
Добавлено after 11 minutes 52 seconds:
Сейчас сбоит второй вариант так:
После определённого кол-ва срабатываний как будто просто таймер вырубается.
После этого я решил посмотреть в порядке бреда, а работает ли цикл вообще. И добавил такие строки в цикл:
Код: Выделить всё
if ((i & 1) == 0)
asm("sbi %[io], %[bit]" :: [io] "I" (_SFR_IO_ADDR(PORTB)), [bit] "I" (3));
else
asm("cbi %[io], %[bit]" :: [io] "I" (_SFR_IO_ADDR(PORTB)), [bit] "I" (3));
i++;
Добавлено after 6 minutes 22 seconds:
Да, кстати, кол-во переключений вверх и вниз всегда 166 в том графике со сбоем, до последнего 167го переключения вверх, после которого уже ничего не меняется.
- Вложения
-
- screenshot.png
- (4.91 КБ) 394 скачивания
-
- screenshot.png
- (4.76 КБ) 395 скачиваний
-
- test.c
- (3.65 КБ) 47 скачиваний
-
- bad.elf.disasm.txt
- (169.71 КБ) 56 скачиваний
-
- good.elf.disasm.txt
- (122.87 КБ) 69 скачиваний



