Prof
2023.10.17
|
|
0 0
4350
|
Ez bármi is lehet. Kellene:
- rajz az áramkörről,
- kód,
- a hibák kicsit pontosítva.
Én amondó vagyok, hogy valahol valami összeszed pár dolgot és az bebolondítja az MCU-t. Amit egyébként sem túl szerencsés 230 V-tal egy dobozkába rakodni.
A koncepcióval kapcsolatban: a megszakításnak nem biztos, hogy van értelme ebben az esetben. Persze nem feltétlenül rossz, csak jól mell megcsinálni.
Az if() return; megoldás kifejezetten nem szép, ehhez képest egy while() {} is megteszi, pontosan ugyanaz az eredménye (a loop()-ba rakott return; visszaugrik a loop() elejére.
Én megnézném, hogy:
- előfordulhat-e túlcsordulás az időmérésnél (valószerűtlen, de ha hosszú időre van tervezve a működés, akkor lehet reális gond),
- jól van-e megírva az ISR,
- nem hal-e be valamikor a lapka és nem indul-e újra kvázi random.
És egyébként:
- minden bemenetet hidegítenék, az aktívakat diódákkal tisztogatnám a károsabb hatásoktól, plusz
- leválasztanék minden külső szenzort közvetlenül a bemenet közelében (júl méretezett schmitt triggerekkel),
- ellenőrizném a tápolást,
- ellenőrizném a valós idejű futást (egy i2c lcd kijelző erre bőven elég), illetve betennék egy watchdogot (külsőt, van rá filléres IC).
|
Előzmény: Mr.Cross (4346)
|
|