From 68a57b17e685cab920a3820fb0f74d90a3c31ac7 Mon Sep 17 00:00:00 2001 From: maxxir_w Date: Mon, 25 Mar 2019 08:24:04 +0400 Subject: [PATCH] Updated SPI code driver --- 10_m1284p_WIZNET_HTTPServer_RAM_pages/globals.h | 4 ++ 10_m1284p_WIZNET_HTTPServer_RAM_pages/spi.c | 49 ++++--------------------- 10_m1284p_WIZNET_HTTPServer_RAM_pages/spi.h | 40 -------------------- 3 files changed, 12 insertions(+), 81 deletions(-) diff --git a/10_m1284p_WIZNET_HTTPServer_RAM_pages/globals.h b/10_m1284p_WIZNET_HTTPServer_RAM_pages/globals.h index 7e6b137..f5f850c 100644 --- a/10_m1284p_WIZNET_HTTPServer_RAM_pages/globals.h +++ b/10_m1284p_WIZNET_HTTPServer_RAM_pages/globals.h @@ -23,6 +23,10 @@ //#define IP_WORK +//SPI CLOCK 4 or 8Mhz +#define SPI_4_MHZ +//#define SPI_8_MHZ + extern unsigned long millis(void); extern int freeRam (void); diff --git a/10_m1284p_WIZNET_HTTPServer_RAM_pages/spi.c b/10_m1284p_WIZNET_HTTPServer_RAM_pages/spi.c index 3dfca25..47d9c33 100644 --- a/10_m1284p_WIZNET_HTTPServer_RAM_pages/spi.c +++ b/10_m1284p_WIZNET_HTTPServer_RAM_pages/spi.c @@ -1,45 +1,6 @@ -/* - * Copyright (c) 2007, Swedish Institute of Computer Science - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the Institute nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - */ - #include #include "spi.h" -//#include "contiki-conf.h" - -/* - * On the Tmote sky access to I2C/SPI/UART0 must always be - * exclusive. Set spi_busy so that interrupt handlers can check if - * they are allowed to use the bus or not. Only the CC2420 radio needs - * this in practice. - * - */ -unsigned char spi_busy = 0; +#include "globals.h" /* * Initialize SPI bus. @@ -77,7 +38,13 @@ spi_init(void) /* Enables SPI, selects "master", clock rate FCK / 4 - 4Mhz, and SPI mode 0 */ SPCR = _BV(SPE) | _BV(MSTR); - //SPSR = _BV(SPI2X); //FCK / 2 - 8Mhz +#if defined(SPI_8_MHZ) + SPSR = _BV(SPI2X); //FCK / 2 - 8Mhz +#elif defined (SPI_4_MHZ) + SPSR = 0x0; //FCK / 4 - 4Mhz +#else + SPSR = 0x0; //FCK / 4 - 4Mhz +#endif } diff --git a/10_m1284p_WIZNET_HTTPServer_RAM_pages/spi.h b/10_m1284p_WIZNET_HTTPServer_RAM_pages/spi.h index e4f024b..7c1da0e 100644 --- a/10_m1284p_WIZNET_HTTPServer_RAM_pages/spi.h +++ b/10_m1284p_WIZNET_HTTPServer_RAM_pages/spi.h @@ -1,41 +1,3 @@ -/* - * Copyright (c) 2010, Swedish Institute of Computer Science. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the Institute nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - */ - -/** - * \file - * Basic SPI macros - * \author - * Joakim Eriksson - * Niclas Finne - */ - #ifndef SPI_H_ #define SPI_H_ @@ -92,8 +54,6 @@ #define SPI_WAITFORTx_ENDED() #endif /* SPI_WAITFORTxREADY */ -extern unsigned char spi_busy; - void spi_init(void); /* Write one character to SPI */