WCH32v003 RISC-V MCU

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

Dumitru
Stály člen
Stály člen
Príspevky: 377
Dátum registrácie: 06 Nov 2011, 22:19
Vek: 32

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa Dumitru » 23 Apr 2024, 19:21

Myslíš asi C nie C++

Otázka number one prečo v .h súbore máš napísané funkcie hod ich do .c suboru


A možno som paranoidný ale nemám rad nekonečne cykly daj si tam nejaký timeout (premennú) a inkrementuj po jej preplnení radšej vráť nejaký error (return 1,2,3,4) a len keď funkcia dobehne dokonca vráti return 0. Potom v maine to možes kontrolovať . Pretože ak sa ti niekde bude zasekávať sw raz za čas bude problém zistiť kde presne a prečo takto si to môžeš logovať alebo niekam posielať a budeš vedieť ktorá funkcia a v akom while sa zasekla. A pripadne do budúcna vieš nato nejak reagovať napríklad resetnuť i2c zbernicu

Priklad :

Kód: Vybrať všetko

 while ((receive_data_length <= 0) && (timeout < TIMEOUT_DHCPOFFER))  // wait to data or timeout 5sec
  {
    timeout++;
    receive_data_length = w5500_get_receive_data_length(socket_number);
    w5500_delay_ms(1000);

  }

  if (timeout >= TIMEOUT_DHCPOFFER)
  {
    w5500_close_socket(socket_number);
    return 3;  // timeout error
  }
  return 0;
  
samozrejme ten delay môže byť aj obyčajný __NOP
0

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa Lennox » 23 Apr 2024, 19:49

Dumitru napísal:
23 Apr 2024, 19:21
Otázka number one prečo v .h súbore máš napísané funkcie hod ich do .c suboru
Takto som ti videl v prikladoch na nete, evidentne asi nespravne. Takze zvlast PCF8574.c kde budu funkcie a zvlast PCF8574.h pre zbytok, main moze ostat.
0

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok