Keresés

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

  • buherton

    őstag

    válasz don_peter #4711 üzenetére

    Bocsánat, nem tudtam, hogy ilyen PIC-et használsz. Valamiért egy PIC16 rémlett. 32 kB flash, 2 kB RAM már jobban mutat.

    Pár észrevétel:
    - SSPCON1 regisztert illetve a társait valahogy el lehet érni bájtként, és akkor nem bitekkel kell majmolni. Nem mellesleg ha jó a fordító, akkor ezeket nem optimalizálja ki és mindenegyes sor egy 2 bájtos parancs.
    - *pbuf++=spi_io(0x00); -> ez így elég meredek. Inkább így
    for (i=0; i < PMEMBLOCK; i++) {
    *(pbuf+i)=spi_io(0x00);
    }

    és már mehet is a const az argumentumba és biztonságosabb is így, mert a memória címe nem változik.
    - while(!SSPSTATbits.BF); -> lehet ilyeneket használni, de akkor tegyél bele watchdogot (ez önmagában ajánlott), vagy timeout-t, mert ezek nélkül a jövőben okozhat problémát.

    Az a probléma hogy a for cikluson belül olvas ki több lapot, vagy a while cikluson belül?

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

Hirdetés