Skip to content

Instantly share code, notes, and snippets.

@Matts966
Last active December 21, 2019 09:54
Show Gist options
  • Save Matts966/286ba94e913a1d57657675c5c21ed559 to your computer and use it in GitHub Desktop.
Save Matts966/286ba94e913a1d57657675c5c21ed559 to your computer and use it in GitHub Desktop.
ATTiny 85 random blink
void setup() {
asm volatile(R"(
ldi r16, 0b00001000
out 0x17, r16
ldi r19, 1
ldi r20, 1
task1:
ldi r16, 0b00001000
out 0x18, r16
rcall delay0
ldi r16, 0b00000000
out 0x18, r16
rcall delay0
rjmp task1
delay0:
rcall rand0
mov r17, r20
delay1:
ldi r18, 0
delay2:
dec r18
brne delay2
dec r17
brne delay1
ret
rand0:
mov r21, r19
add r19, r20
mov r20, r21
ret
)");
}
void loop() {
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment