আমার প্রাথমিক অনুমানটি ভুল। আমি ভাবতাম এটি কেবল লুপ থেকে ফিরে আসবে এবং কোর লাইব্রেরিটি কেবল আবার লুপকে কল করবে ()। তবে, আমি দেখতে পাচ্ছি যে নিম্নলিখিত কোডটি তৈরি হয়েছিল। উল্লেখ্য যে __স্টপ_প্রগ্রাম একটি শক্ত লুপ ...
ব্লিঙ্ক.ইনো তালিকার একটি এক্সট্র্যাক্ট, প্রস্থান (0) যুক্ত করে:
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
exit(0);
}
উপরের বিচ্ছিন্নতা:
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
100: 80 91 00 01 lds r24, 0x0100
104: 61 e0 ldi r22, 0x01 ; 1
106: 0e 94 ca 01 call 0x394 ; 0x394 <digitalWrite>
delay(1000); // wait for a second
10a: 68 ee ldi r22, 0xE8 ; 232
10c: 73 e0 ldi r23, 0x03 ; 3
10e: 80 e0 ldi r24, 0x00 ; 0
110: 90 e0 ldi r25, 0x00 ; 0
112: 0e 94 f7 00 call 0x1ee ; 0x1ee <delay>
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
116: 80 91 00 01 lds r24, 0x0100
11a: 60 e0 ldi r22, 0x00 ; 0
11c: 0e 94 ca 01 call 0x394 ; 0x394 <digitalWrite>
delay(1000); // wait for a second
120: 68 ee ldi r22, 0xE8 ; 232
122: 73 e0 ldi r23, 0x03 ; 3
124: 80 e0 ldi r24, 0x00 ; 0
126: 90 e0 ldi r25, 0x00 ; 0
128: 0e 94 f7 00 call 0x1ee ; 0x1ee <delay>
exit(0);
12c: 80 e0 ldi r24, 0x00 ; 0
12e: 90 e0 ldi r25, 0x00 ; 0
130: 0e 94 1e 02 call 0x43c ; 0x43c <_exit>
...
0000043c <_exit>:
43c: f8 94 cli
0000043e <__stop_program>:
43e: ff cf rjmp .-2 ; 0x43e <__stop_program>
মনে রাখবেন যে _ এক্সিট যদি ক্লাই না ডাকত, বাধা স্টাফ করতে সক্ষম হবে। কিন্তু যে ক্ষেত্রে হয় না।