Hirdetés

Új hozzászólás Aktív témák

  • gyapo11

    őstag

    válasz zka67 #3365 üzenetére

    Ha én írok minden utasítást, amit a processzor végrehajt, akkor ez igaz. A megszakításokat, a soros port kezelést, és mindent. És még ez sem pontos, hiszen egy a=5; programsor valójában lesz vagy 20 gépi kódú utasítás, és ha hibát/időzítést kell keresni, akkor nem az a=5; és társai sorokban kell, hanem a gépi kódban.
    Rágen, még a dosos időkben volt a turbo pascal meg a turbo debugger. A debuggerbe betöltve a pascal forrást, mellette mutatta a forrásból fordított gépi kódot, a futási időket, na az hibakeresés volt. Az arduinon a beszúrt sorokkal led villogtatás vagy soros portra írás, az nem hibakeresés, csak annak egy nagyon halvány lenyomata.
    Arduinonál írok egy programot, amibe belinkelek egy halom libraryt, van egy bootloader. A soros portot nem bitenként billegtetem időzítve, hanem serial.print, én pl. még nem láttam azt a kódot, ami akkor fog lefutni, amikor ezt a sort hajtja végre és küldi ki a soros portra a byte-okat. Ha nem láttam, akkor hogy tudnék benne hibát keresni? Ha nem tudok hibát keresni, akkor honnan tudnám megmondani, hogy miért vesznek el adatok?
    Vagyis amikor kiírom a soros portra hogy hello, akkor nem tudom mit csinál a processzor.
    Ha a hex file-t visszafordítanám assemblyre, ugyanezt a libekkel is meg a bootloaderrel is, akkor láthatnám, hogy mit csinál a processzor, de addig nem.

Új hozzászólás Aktív témák