00001 /* PICCOLO project 00002 * Copyright (c) 2009-2011 Istvan Cserny (cserny@atomki.hu) 00003 */ 00004 00008 #ifndef PICCOLO_SPI_H 00009 #define PICCOLO_SPI_H 00010 /* Makrók az SSPCON1 regiszter beállításához */ 00011 #define SSPENB 0b00100000 /* Enable serial port and configures SCK, SDO, SDI */ 00012 #define CKP_ACTIVE_LOW 0b00010000 /* Inaktív állapotban az órajel magas, aktív állapotban alacsony szintű */ 00013 #define CKP_ACTIVE_HIGH 0b00000000 /* Inaktív állapotban az órajel alacsony, aktív állapotban magas szintű */ 00014 00015 #define MASTER_FOSC_4 0b00000000 /* SPI Master mód, órajel = Fosc/4 */ 00016 #define MASTER_FOSC_16 0b00000001 /* SPI Master mód, órajel = Fosc/16 */ 00017 #define MASTER_FOSC_64 0b00000010 /* SPI Master mód, órajel = Fosc/64 */ 00018 #define MASTER_TMR2 0b00000011 /* SPI Master mód, órajel = TMR2 output/2 */ 00019 #define SLAVE_SSON 0b00000100 /* SPI Slave mód, /SS bemenet engedélyezve */ 00020 #define SLAVE_SSOFF 0b00000101 /* SPI Slave mód, /SS bemenet letiltva */ 00021 00022 00023 00024 /* Makrók az SSPSTAT regiszter beállításához */ 00025 #define SPI_SMP_END 0b10000000 /* A bejövő adatot az adatkimeneti idő végén mintavételezzük */ 00026 #define SPI_SMP_MID 0b00000000 /* A bejövő adatot az adatkimeneti idő közepén mintavételezzük */ 00027 00028 #define SPI_CKE_ON 0b01000000 /* Az átvitel az órajel aktív állapotból inaktívba váltásakor történik */ 00029 #define SPI_CKE_OFF 0b00000000 /* Az átvitel az órajel inaktív állapotból aktívba váltásakor történik */ 00030 00031 00032 /* Támogatói függvények deklarálása */ 00033 void spi_init(uint8 spi_mode, uint8 spi_busmode); 00034 uint8 spi_io( uint8 data); 00035 #endif