- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
if (LD3_state == 0 || LD2_state == 0 || LD1_state == 0)
{
GPIO_SetBits(GPIOB, LED1); //RED ON
LD_Status = NO_LOCK;
}
else
{
LD_Status = LOCK_OK;
}
if (LD4_state == 0 && LD_Status == LOCK_OK)
{
GPIO_SetBits(GPIOB, LED1); //RED ON
}
else
{
GPIO_ResetBits(GPIOB, LED1); //RED OF
}
if (LD4_state == 0 && LD_Status == LOCK_OK)
{
GPIO_ResetBits(GPIOB, LED1); //RED OFF
}
/* Ну можно же было сделать по-человечески, а? */
/* Эквивалентный код: */
LD_Status = LD1_state && LD2_state && LD3_state && LD4_state;
if (LD_Status)
{
GPIO_ResetBits(GPIOB, LED1); //RED OFF
}
else
{
GPIO_SetBits(GPIOB, LED1); //RED ON
}
JloJle4Ka 18.03.2021 14:36 # +1
Как вообще можно было написать такой код, который сверху? Вроде не на «PHP» проект, очевидные вещи-то можно красиво написать...
viteo 18.03.2021 17:11 # 0
JloJle4Ka 18.03.2021 17:31 # +1
MAKAKA 18.03.2021 18:07 # +2
i = 42;
sleep(12);
i = 32;
bormand 18.03.2021 18:30 # +2
MAKAKA 18.03.2021 18:33 # +1
bormand 18.03.2021 18:38 # +1
Туда надо записать джва меджика чтобы снять блокировку FLASH_CR.
0x40022010 == FLASH_CR
Регистр управления флешкой.
0x00000044 == MER | STRT
Mass-erase, start.
MAKAKA 18.03.2021 18:57 # 0
На ум приходит low level format, который последние 28 лет работает не очень, и затирание флешки с прошивкой материнки, но там проприетарный API небось, цифр мы не знаем
bormand 18.03.2021 18:59 # +1
bormand 18.03.2021 19:02 # +1
Не, не настолько жёстко. Тут всё ещё можно перемычками на плате выбрать загрузку через system rom и залить новую прошивку. Даже если программатора под рукой нету.
Ну если перемычки не распаял -- то программатор.
MAKAKA 18.03.2021 19:07 # 0
bormand 18.03.2021 19:20 # 0
MAKAKA 18.03.2021 19:24 # 0
Я могу купить программатор, скачать .bin файл с сайта вендора, вытащить "биос" (или он не в кроватке?) и залить туда всё без ебли, например?
В моем детстве всякие стираемые светом чипы вполне себе перепрошивали в полудомашних условиях
bormand 18.03.2021 19:25 # 0
Вопрос в том, где ты полную прошивку скачаешь. Разве что с форумов умельцев. В обновлениях часто только куски выкладывают.
MAKAKA 18.03.2021 19:38 # 0
Раньше биосы были на rom.by
JloJle4Ka 18.03.2021 18:33 # +1
MAKAKA 18.03.2021 18:34 # +2
JloJle4Ka 18.03.2021 18:31 # 0
viteo 19.03.2021 10:35 # +2
этот код - пример того, что получается, если ты единственный специалист на селе.
Soul_re@ver 18.03.2021 14:38 # +2
На 11 и 20 строке условие одинаково. Если оно истинно, то диод сначала включится и сразу же выключится. Если ложно, то он просто выключится.
bormand 18.03.2021 14:52 # +2
А потом окажется, что там на плате какой-нибудь сброс схемы триггерился по этому импульсу, а после оптимизации теперь всё поломалось.
viteo 18.03.2021 17:16 # +2
на самом деле все это завернуто в while(true) с секундной задержкой, и для оператора (и судя по всему для легаси программиста) это наносекундное моргание было просто незаметно.
JloJle4Ka 18.03.2021 14:52 # +1
bormand 18.03.2021 14:55 # 0
Ага, на десяток другой наносекунд. Внимательный оператор легко это заметит.
JloJle4Ka 18.03.2021 15:03 # +1
Soul_re@ver 18.03.2021 15:19 # +1
bormand 18.03.2021 15:21 # +1
bormand 18.03.2021 15:22 # +1
Вдруг это электромагнит подъёмного крана. И если груз перекосило и lock пропал, он просто передёргивает магнитом чтобы поправить груз.
Soul_re@ver 18.03.2021 15:25 # +1
LED1 — Load Extracting Device 1?
bormand 18.03.2021 15:28 # +1
JloJle4Ka 18.03.2021 15:41 # +2
MAKAKA 18.03.2021 15:23 # +2
bormand 18.03.2021 15:33 # +2
Здесь должна быть ссылка на статью про лифт на ардуине.