Ср ноя 17, 2021 11:10:56
Сб ноя 20, 2021 22:28:11
Вс фев 20, 2022 21:42:57
Пн фев 21, 2022 01:20:53
Пн фев 21, 2022 10:46:21
Пн фев 21, 2022 12:01:47
Пн фев 21, 2022 15:58:25
Пн фев 21, 2022 16:56:08
Пт мар 11, 2022 00:07:34
Пт апр 29, 2022 22:22:13
Пт апр 29, 2022 22:32:44
Ключевое слово volatile предназначено для предотвращения применения компилятором каких-либо оптимизаций к объектам, которые могут изменяться таким образом, который не может быть определен компилятором.
Пт апр 29, 2022 22:35:34
Пт апр 29, 2022 22:38:28
Сб апр 30, 2022 00:07:03
Сб апр 30, 2022 07:41:22
Сб апр 30, 2022 12:22:00
if(count_bite > 15)
{
TCCR0B = 0x00;
TIFR0 |= (1<< OCF0A)|(1 << OCF0B);
TCCR0A &= ~(1 << WGM01);
OCR0A = 0x00;
TIMSK0 = 0x00;
TCNT0 = 0x00;
OCR0B = 0x25; // 500Hz 0x25 для тактов
TIMSK0 |= (1 << OCIE0B);
steps = STEP;
if(buffer == COMMAND_OPEN)
{
if(PORTB_RD(RVRS)) PORTB_ON(INA); else PORTB_OFF(INA); // реверс включен или нет
PORTB |= 0x02; TCCR0B |= (1 << CS02)|(0<< CS01)|(1<< CS00); // EN1 ON, EN2 OFF
} else
{
if(buffer == COMMAND_CLOSE)
{
if(PORTB_RD(RVRS)) PORTB_OFF(INA); else PORTB_ON(INA); // реверс включен или нет
PORTB |= 0x04; TCCR0B |=(1 << CS02)|(0<< CS01)|(1<< CS00); // EN1 OFF, EN2 ON
} else steps = 0; // для перехода к сбросу
}
while (steps){} // висим в цикле пока не отщелкаются все шаги
TCCR0B = 0x00;
TIFR0 |= (1<< OCF0A)|(1 << OCF0B);
TIMSK0 = 0x00;
PORTB &= ~0x19; // ~(1 << INA)|(1 << EN1)|(1 << EN2)
flag = RST;
}
ISR(TIM0_COMPB_vect)
{
PORTB ^= (1 << EN1)|(1 << EN2);
if(!i) {PORTB_XOR(INA); i = 2;} else;
i--;
--steps;
TCNT0 = 0;
}
steps = STEP;
000000CD LDI R20,0x8A Load immediate
--- D:\FIRMWARE\ATMEL\Jalousie_NEW\Driver\Driver\Debug/.././main.c ----------
000000CE LDI R21,0x04 Load immediate
00000143 STS 0x0062,R21 Store direct to data space
00000145 STS 0x0061,R20 Store direct to data space
--steps;
0000003F LDS R24,0x0061 Load direct from data space
00000041 LDS R25,0x0062 Load direct from data space
00000043 SBIW R24,0x01 Subtract immediate from word
00000044 STS 0x0062,R25 Store direct to data space
00000046 STS 0x0061,R24 Store direct to data space
00000163 STS 0x0062,R1 Store direct to data space
00000165 STS 0x0061,R1 Store direct to data space
00000167 LDS R24,0x0061 Load direct from data space
00000169 LDS R25,0x0062 Load direct from data space
0000016B OR R24,R25 Logical OR
0000016C BRNE PC-0x05 Branch if not equal
Сб апр 30, 2022 13:04:07
Сб апр 30, 2022 13:41:38
Сб апр 30, 2022 18:40:43
Сб апр 30, 2022 19:38:03
00000163 STS 0x0062,R1 Store direct to data space
00000165 STS 0x0061,R1 Store direct to data space
00000167 LDS R24,0x0061 Load direct from data space
00000169 LDS R25,0x0062 Load direct from data space
0000016B OR R24,R25 Logical OR
0000016C BRNE PC-0x05 Branch if not equal