From 79577aa672de03e4542b1bb4923b65b2295457d1 Mon Sep 17 00:00:00 2001 From: gdavid2 <124572489+gdavid2@users.noreply.github.com> Date: Mon, 26 Aug 2024 14:19:26 +0200 Subject: [PATCH 1/2] Hardware CS handling --- inc/enc28j60.h | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/inc/enc28j60.h b/inc/enc28j60.h index 387235e..01a1b74 100644 --- a/inc/enc28j60.h +++ b/inc/enc28j60.h @@ -39,14 +39,19 @@ static inline void uDelay(uint32_t useconds) { # define ETHERNET_CS_DELAY_PROC Delay(ETHERNET_CS_DELAY) #endif -#define disableChip ETHERNET_CS_GPIO->BSRR = ETHERNET_CS_PIN;\ - ETHERNET_LED_GPIO->BSRR = ETHERNET_LED_PIN << 16;\ - ETHERNET_CS_DELAY_PROC; -#define enableChip ETHERNET_CS_GPIO->BSRR = ETHERNET_CS_PIN<<16;\ - ETHERNET_LED_GPIO->BSRR = ETHERNET_LED_PIN;\ - ETHERNET_CS_DELAY_PROC; -//#define disableChip {} -//#define enableChip {} +/** if software chip select is wanted **/ +//#define disableChip ETHERNET_CS_GPIO->BSRR = ETHERNET_CS_PIN;\ +// ETHERNET_LED_GPIO->BSRR = ETHERNET_LED_PIN << 16;\ +// ETHERNET_CS_DELAY_PROC; +//#define enableChip ETHERNET_CS_GPIO->BSRR = ETHERNET_CS_PIN<<16;\ +// ETHERNET_LED_GPIO->BSRR = ETHERNET_LED_PIN;\ + +/** if hardware chip select is wanted +* (don't forget to use "Hardware NSS Output Signal" in .ioc and define ETHERNET_CS_PIN and ETHERNET_CS_GPIO to the right pin) +* (ETHERNET_CS_DELAY becomes unused) +*/ +#define disableChip __HAL_SPI_DISABLE(hspi); +#define enableChip ; // ENC28J60 Control Registers From 21dd16ec71b0eeb316f931be8ab51fd135b68aad Mon Sep 17 00:00:00 2001 From: gdavid2 <124572489+gdavid2@users.noreply.github.com> Date: Mon, 26 Aug 2024 14:22:56 +0200 Subject: [PATCH 2/2] put the hardware CS on comment --- inc/enc28j60.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/inc/enc28j60.h b/inc/enc28j60.h index 01a1b74..43956f6 100644 --- a/inc/enc28j60.h +++ b/inc/enc28j60.h @@ -40,18 +40,18 @@ static inline void uDelay(uint32_t useconds) { #endif /** if software chip select is wanted **/ -//#define disableChip ETHERNET_CS_GPIO->BSRR = ETHERNET_CS_PIN;\ -// ETHERNET_LED_GPIO->BSRR = ETHERNET_LED_PIN << 16;\ -// ETHERNET_CS_DELAY_PROC; -//#define enableChip ETHERNET_CS_GPIO->BSRR = ETHERNET_CS_PIN<<16;\ -// ETHERNET_LED_GPIO->BSRR = ETHERNET_LED_PIN;\ +#define disableChip ETHERNET_CS_GPIO->BSRR = ETHERNET_CS_PIN;\ + ETHERNET_LED_GPIO->BSRR = ETHERNET_LED_PIN << 16;\ + ETHERNET_CS_DELAY_PROC; +#define enableChip ETHERNET_CS_GPIO->BSRR = ETHERNET_CS_PIN<<16;\ + ETHERNET_LED_GPIO->BSRR = ETHERNET_LED_PIN;\ /** if hardware chip select is wanted * (don't forget to use "Hardware NSS Output Signal" in .ioc and define ETHERNET_CS_PIN and ETHERNET_CS_GPIO to the right pin) * (ETHERNET_CS_DELAY becomes unused) */ -#define disableChip __HAL_SPI_DISABLE(hspi); -#define enableChip ; +//#define disableChip __HAL_SPI_DISABLE(hspi); +//#define enableChip ; // ENC28J60 Control Registers