Пт июл 09, 2021 21:54:45
Пт июл 09, 2021 22:11:30
Сб июл 10, 2021 07:41:43
Сб июл 10, 2021 12:28:53
Сб июл 10, 2021 20:35:56
Сб июл 10, 2021 21:25:20
Сб июл 10, 2021 22:15:04
Вс июл 11, 2021 11:00:50
Вс июл 11, 2021 13:25:13
Ср июл 14, 2021 10:37:44
Ср июл 14, 2021 19:14:39
Ср июл 14, 2021 19:44:31
Пт июл 16, 2021 09:07:12
in r18,p03 = читаем с порта
andi r18,0x40 = маска по биту вибродатчика
ldi r19,0 <= это лишний код связанный с преобразованием типа данных char = int
lds r20,D01CC = тут хранится переменная которая 0 или 1
ldi r21,0 <= это лишний код связанный с преобразованием типа данных char = int
lds r24,D01A1
cp r18,r20 = если равно, но тут сравнение с переменной которая 0 или 1
cpc r19,r21 <= это лишний код связанный с преобразованием типа данных char = int
breq L0947
******** далее
L0947:
in r25,p03 = второй раз читаем порт (а если уже состояние порта изменилось ????? т.е. дребезг)
bst r25,b6 сохраняем состояние порта вибродатчика во флаг
clr r25
bld r25,b0 флаг пишем в младший бит
sts D01CC,r25 сохраняем в памяти: тут запоминается либо 0 либо 1 (т.е. видимо boolean)
Пт июл 16, 2021 10:56:51
Пт июл 16, 2021 11:19:33
#include <stdbool.h>
...
#define V_SENS (PINB&(1<<PINB6))
uint8_t VSMode;
bool _VSensLS = false;
bool VSAlarm;
...
if (V_SENS != _VSensLS) {
switch (VSMode) {
case 1: {
if (StMainMode < SMM_STB_DE) VSAlarm = true;
break;
};
case 2: {
if (StMainMode < SMM_OFF_DE) VSAlarm = true;
break;
};
case 3: {
VSAlarm = true;
break;
};
}
}
_VSensLS = V_SENS;
Пт июл 16, 2021 11:36:18
Пт июл 16, 2021 11:41:15
Пт июл 16, 2021 11:59:31
Пт июл 16, 2021 12:00:24
if ((V_SENS) != _VSensLS) {
Пт июл 16, 2021 13:26:19
if ((V_SENS) != _VSensLS) {
if (((PINB&(1<<PINB0))) != _VSensLS) {
if (V_SENS != (uint8_t)_VSensLS) {
if ((bool)V_SENS != _VSensLS) {