#include "piccolo_all.h"
#include "piccolo_spi.h"
Makródefiníciók | |
#define | BLKSIZE 64 |
#define | CMD_WRSR 0x01 |
#define | CMD_WRITE 0x02 |
#define | CMD_READ 0x03 |
#define | CMD_WRDI 0x04 |
#define | CMD_RDSR 0x05 |
#define | CMD_WREN 0x06 |
#define | SLAVE_ENABLE() mLED_4 = 0 |
#define | SLAVE_DISABLE() mLED_4 = 1 |
Függvények | |
void | waitFor25LC256 (void) |
void | memWrite25LC256 (union16 MemAddr, uint8 *pbuf) |
void | memRead25LC256 (union16 MemAddr, uint8 *pbuf) |
void | main (void) |
Hardver követelmények: a kísérleti áramkört egy 25LC256 SPI EEPROM-mal kell kiegészíteni, az összekötést az alábbi táblázat szerint alakítsuk ki:
PIC18 14K50 4550 25LC256 ========================================= SDI RB4 RB0 <----------------- SO (2) SDO RC7 RC7 -----------------> SI (5) SCK RB6 RB1 -----------------> SCK (6) LED4 RC3 RD3 -- Slave Select -> CS (1) VDD ---------------------------- VCC (8), WP(3), HOLD(7) GND ---------------------------- GND (4)
Definíció a(z) 25lc256_spi.c fájlban.
void memRead25LC256 | ( | union16 | MemAddr, | |
uint8 * | pbuf | |||
) |
Egy memórialap (64 bájt) olvasása az EEPROM egy megadott címétől kezdődően, és eltárolása az adatbufferbe.
u16_MemAddr | a beolvasni kívánt memórialap kezdőcíme | |
*pu8_buf | mutató az adatbuffer kezdetéhez |
Definíció a(z) 25lc256_spi.c fájl 83. sorában.
void memWrite25LC256 | ( | union16 | MemAddr, | |
uint8 * | pbuf | |||
) |
Egy memórialap (64 bájt) írása a bemenő adatbufferből, az EEPROM egy megadott címétől kezdődően.
MemAddr | a memórialap kezdőcíme, ahová írunk | |
buf | mutató az adatbuffer kezdetéhez |
Definíció a(z) 25lc256_spi.c fájl 61. sorában.
void waitFor25LC256 | ( | void | ) |
Várakozás arra, hogy az EEPROM befejezze az írást. Amíg az írás tart, addig az EEPROM STATUS regiszterének legalsó bitje (WIP) '1'-ben áll. A függvény blokkoló típusú, addig nem tér vissza, amíg az EEPROM foglalt.
Definíció a(z) 25lc256_spi.c fájl 45. sorában.