вот ассемблерный листинг
прога моргает светиком
- Код: Выделить всё • Развернуть
171 while (1)
_0xA:
; 172 {
; 173 // Place your code here
; 174
; 175 delay_ms(100);
LDI R30,LOW(100)
LDI R31,HIGH(100)
RCALL SUBOPT_0x0
; 176 PORTB.4 = 0;
CBI 0x18,4
; 177 delay_ms(100);
LDI R30,LOW(100)
LDI R31,HIGH(100)
RCALL SUBOPT_0x0
; 178 PORTB.4 = 1;
SBI 0x18,4
; 179
; 180
; 181 };
RJMP _0xA
; 182 }
_0xD:
RJMP _0xD
чёта файл не аттачицца воттекст короче
действительно компилятор устанавливает и сбрасывает биты
PORTB.4 = 0;
CBI 0x18,4
PORTB.4 = 1;
SBI 0x18,4
непонимаю...
вот лежит у меня МК и дрыгает лапками=)
одной через PORTB и другой лапкой через PINB
- Код: Выделить всё • Развернуть
delay_ms(500);
PORTB.4 = 0;
PINB.0 = 0;
delay_ms(500);
PORTB.4 = 1;
PINB.0 = 1;
вот этот код даёт интереснеййший эффект=)
11
01
10
00
тоесть светик на ноге 4 (который PORTB)успевает 4 раза моргнуть а светик на ноге 0 (который PINB)моргает 2 раза
асм:
- Код: Выделить всё • Развернуть
while (1)
_0xA:
; 172 {
; 173 // Place your code here
; 174
; 175 delay_ms(500);
LDI R30,LOW(500)
LDI R31,HIGH(500)
RCALL SUBOPT_0x0
; 176 PORTB.4 = 0;
CBI 0x18,4
; 177 PINB.0 = 0;
CBI 0x16,0
; 178 delay_ms(500);
LDI R30,LOW(500)
LDI R31,HIGH(500)
RCALL SUBOPT_0x0
; 179 PORTB.4 = 1;
SBI 0x18,4
; 180 PINB.0 = 1;
SBI 0x16,0
; 181
; 182
; 183 };
RJMP _0xA
; 184 }
всё крайне прилично=)