#include "piccolo_all.h"
#include "piccolo_spi.h"
#include "delays.h"
Makródefiníciók | |
#define | MCP23S17ADDR 0x40 |
#define | IODIRA_CIME 0x00 |
#define | IODIRB_CIME 0x01 |
#define | OLATA_CIME 0x14 |
#define | OLATB_CIME 0x15 |
#define | SLAVE_ENABLE() mLED_4 = 0 |
#define | SLAVE_DISABLE() mLED_4 = 1 |
#define | MCP23S17_write(reg, data) |
Függvények | |
void | delay_ms (unsigned int d) |
void | main (void) |
Hardver követelmények: a kísérleti áramkört egy MCP23S17 perifériabővítővel kell kiegészíteni, az összekötést az alábbi táblázat szerint alakítsuk ki:
PIC18 14K50 4550 MCP23S17 =========================================== SDI RB4 RB0 <----------------- SO (14) SDO RC7 RC7 -----------------> SI (13) SCK RB6 RB1 -----------------> SCK (12) LED4 RC3 RD3 -- Slave Select -> CS (11) VDD ---------------------------- VCC (9), RESET(18) GND ---------------------------- GND (10), A0,A1,A2 (15,16,17)
Projekt konfiguráció: sem az USB kapcsolatot, sem a programmegszakítást nem használjuk!
Definíció a(z) mcp23s17_spi.c fájlban.
#define MCP23S17_write | ( | reg, | |||
data | ) |
Érték:
Definíció a(z) mcp23s17_spi.c fájl 41. sorában.
void delay_ms | ( | unsigned int | d | ) |
Késleltető eljárás, amely a Microchip PIC18 könyvtári eljárásait használja. A belső ciklus kb. 1 ms késleltetést végez.
d | az előírt várakozási idő, 1 ms egységekben |
Definíció a(z) mcp23s17_spi.c fájl 51. sorában.