diff --git a/cube/Core/Inc/main.h b/cube/Core/Inc/main.h index 29260ef..505a09e 100644 --- a/cube/Core/Inc/main.h +++ b/cube/Core/Inc/main.h @@ -76,6 +76,10 @@ void Error_Handler(void); #define LED_Red_GPIO_Port GPIOE #define Frontend_In_Pin GPIO_PIN_1 #define Frontend_In_GPIO_Port GPIOA +#define ETHER_RES_Pin GPIO_PIN_2 +#define ETHER_RES_GPIO_Port GPIOA +#define ETHER_INT_Pin GPIO_PIN_3 +#define ETHER_INT_GPIO_Port GPIOA #define ETHER_CS_Pin GPIO_PIN_4 #define ETHER_CS_GPIO_Port GPIOA #define ETHER_SCLK_Pin GPIO_PIN_5 diff --git a/cube/Core/Src/gpio.c b/cube/Core/Src/gpio.c index 9072c29..c96b24d 100644 --- a/cube/Core/Src/gpio.c +++ b/cube/Core/Src/gpio.c @@ -54,7 +54,7 @@ void MX_GPIO_Init(void) |Debug_Signal_2_Pin, GPIO_PIN_RESET); /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(ETHER_CS_GPIO_Port, ETHER_CS_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOA, ETHER_RES_Pin|ETHER_CS_Pin, GPIO_PIN_RESET); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOB, Debug_Signal_1_Pin|EEPROM_CS_Pin, GPIO_PIN_RESET); @@ -77,12 +77,18 @@ void MX_GPIO_Init(void) GPIO_InitStruct.Pull = GPIO_PULLUP; HAL_GPIO_Init(Loop_Status_GPIO_Port, &GPIO_InitStruct); - /*Configure GPIO pin : PtPin */ - GPIO_InitStruct.Pin = ETHER_CS_Pin; + /*Configure GPIO pins : PAPin PAPin */ + GPIO_InitStruct.Pin = ETHER_RES_Pin|ETHER_CS_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(ETHER_CS_GPIO_Port, &GPIO_InitStruct); + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /*Configure GPIO pin : PtPin */ + GPIO_InitStruct.Pin = ETHER_INT_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(ETHER_INT_GPIO_Port, &GPIO_InitStruct); /*Configure GPIO pins : PBPin PBPin */ GPIO_InitStruct.Pin = Debug_Signal_1_Pin|EEPROM_CS_Pin; diff --git a/cube/Makefile b/cube/Makefile index b01e1f1..39d5366 100644 --- a/cube/Makefile +++ b/cube/Makefile @@ -1,6 +1,6 @@ # Processed by ../tools/insertMyCode.sh ########################################################################################################################## -# File automatically-generated by tool: [projectgenerator] version: [3.10.0-B14] date: [Fri Nov 06 20:44:40 CET 2020] +# File automatically-generated by tool: [projectgenerator] version: [3.10.0-B14] date: [Sat Nov 07 18:11:45 CET 2020] ########################################################################################################################## # ------------------------------------------------ diff --git a/cube/Makefile-bak b/cube/Makefile-bak index 27439f2..00f53ba 100644 --- a/cube/Makefile-bak +++ b/cube/Makefile-bak @@ -1,5 +1,5 @@ ########################################################################################################################## -# File automatically-generated by tool: [projectgenerator] version: [3.10.0-B14] date: [Fri Nov 06 20:44:40 CET 2020] +# File automatically-generated by tool: [projectgenerator] version: [3.10.0-B14] date: [Sat Nov 07 18:11:45 CET 2020] ########################################################################################################################## # ------------------------------------------------ diff --git a/cube/cube.ioc b/cube/cube.ioc index 1d97ba0..a1a8853 100644 --- a/cube/cube.ioc +++ b/cube/cube.ioc @@ -25,34 +25,36 @@ Mcu.Name=STM32F103V(C-D-E)Tx Mcu.Package=LQFP100 Mcu.Pin0=PE2 Mcu.Pin1=PE3 -Mcu.Pin10=PA6 -Mcu.Pin11=PA7 -Mcu.Pin12=PE12 -Mcu.Pin13=PB10 -Mcu.Pin14=PB12 -Mcu.Pin15=PB13 -Mcu.Pin16=PB14 -Mcu.Pin17=PB15 -Mcu.Pin18=PA13 -Mcu.Pin19=PA14 +Mcu.Pin10=PA4 +Mcu.Pin11=PA5 +Mcu.Pin12=PA6 +Mcu.Pin13=PA7 +Mcu.Pin14=PE12 +Mcu.Pin15=PB10 +Mcu.Pin16=PB12 +Mcu.Pin17=PB13 +Mcu.Pin18=PB14 +Mcu.Pin19=PB15 Mcu.Pin2=PE4 -Mcu.Pin20=PC10 -Mcu.Pin21=PC11 -Mcu.Pin22=PC12 -Mcu.Pin23=PD1 -Mcu.Pin24=PD2 -Mcu.Pin25=PB3 -Mcu.Pin26=PB4 -Mcu.Pin27=PB5 -Mcu.Pin28=VP_SYS_VS_Systick +Mcu.Pin20=PA13 +Mcu.Pin21=PA14 +Mcu.Pin22=PC10 +Mcu.Pin23=PC11 +Mcu.Pin24=PC12 +Mcu.Pin25=PD1 +Mcu.Pin26=PD2 +Mcu.Pin27=PB3 +Mcu.Pin28=PB4 +Mcu.Pin29=PB5 Mcu.Pin3=PE5 +Mcu.Pin30=VP_SYS_VS_Systick Mcu.Pin4=PE6 Mcu.Pin5=OSC_IN Mcu.Pin6=OSC_OUT Mcu.Pin7=PA1 -Mcu.Pin8=PA4 -Mcu.Pin9=PA5 -Mcu.PinsNb=29 +Mcu.Pin8=PA2 +Mcu.Pin9=PA3 +Mcu.PinsNb=31 Mcu.ThirdPartyNb=0 Mcu.UserConstants=debugUart,huart4;mbusUart,huart5;frontendAdc,hadc1;eepromSpi,hspi2;etherSpi,hspi1 Mcu.UserName=STM32F103VCTx @@ -85,6 +87,14 @@ PA13.Mode=Serial_Wire PA13.Signal=SYS_JTMS-SWDIO PA14.Mode=Serial_Wire PA14.Signal=SYS_JTCK-SWCLK +PA2.GPIOParameters=GPIO_Label +PA2.GPIO_Label=ETHER_RES +PA2.Locked=true +PA2.Signal=GPIO_Output +PA3.GPIOParameters=GPIO_Label +PA3.GPIO_Label=ETHER_INT +PA3.Locked=true +PA3.Signal=GPXTI3 PA4.GPIOParameters=GPIO_Label PA4.GPIO_Label=ETHER_CS PA4.Locked=true @@ -232,6 +242,8 @@ RCC.USBFreq_Value=72000000 RCC.VCOOutput2Freq_Value=8000000 SH.ADCx_IN1.0=ADC1_IN1,IN1 SH.ADCx_IN1.ConfNb=1 +SH.GPXTI3.0=GPIO_EXTI3 +SH.GPXTI3.ConfNb=1 SH.GPXTI4.0=GPIO_EXTI4 SH.GPXTI4.ConfNb=1 SPI1.CalculateBaudRate=18.0 MBits/s diff --git a/cube/cube.pdf b/cube/cube.pdf index 7c5761e..d9c0e2a 100644 Binary files a/cube/cube.pdf and b/cube/cube.pdf differ diff --git a/cube/cube.txt b/cube/cube.txt index a2adf04..b90d367 100644 --- a/cube/cube.txt +++ b/cube/cube.txt @@ -1,6 +1,6 @@ Configuration cube STM32CubeMX 6.0.0 -Date 10/18/2020 +Date 11/07/2020 MCU STM32F103VCTx @@ -9,6 +9,9 @@ PERIPHERALS MODES FUNCTIONS PINS ADC1 IN1 ADC1_IN1 PA1 RCC Crystal/Ceramic Resonator RCC_OSC_IN OSC_IN RCC Crystal/Ceramic Resonator RCC_OSC_OUT OSC_OUT +SPI1 Full-Duplex Master SPI1_MISO PA6 +SPI1 Full-Duplex Master SPI1_MOSI PA7 +SPI1 Full-Duplex Master SPI1_SCK PA5 SPI2 Full-Duplex Master SPI2_MISO PB14 SPI2 Full-Duplex Master SPI2_MOSI PB15 SPI2 Full-Duplex Master SPI2_SCK PB13 @@ -28,15 +31,24 @@ UART5 Asynchronous UART5_TX PC12 Pin Nb PINs FUNCTIONs LABELs 1 PE2 GPIO_Output Loop_Enable 2 PE3 GPIO_Output Loop_Disable -3 PE4 GPIO_Input Loop_Status +3 PE4 GPIO_EXTI4 Loop_Status 4 PE5 GPIO_Output LED_Green 5 PE6 GPIO_Output LED_Red 12 OSC_IN RCC_OSC_IN 13 OSC_OUT RCC_OSC_OUT 24 PA1 ADC1_IN1 Frontend_In -52 PB13 SPI2_SCK -53 PB14 SPI2_MISO -54 PB15 SPI2_MOSI +25 PA2 GPIO_Output ETHER_RES +26 PA3 GPIO_EXTI3 ETHER_INT +29 PA4 GPIO_Output ETHER_CS +30 PA5 SPI1_SCK ETHER_SCLK +31 PA6 SPI1_MISO ETHER_MISO +32 PA7 SPI1_MOSI ETHER_MOSI +43 PE12 GPIO_Output Debug_Signal_2 +47 PB10 GPIO_Output Debug_Signal_1 +51 PB12 GPIO_Output EEPROM_CS +52 PB13 SPI2_SCK EEPROM_SCLK +53 PB14 SPI2_MISO EEPROM_MISO +54 PB15 SPI2_MOSI EEPROM_MOSI 72 PA13 SYS_JTMS-SWDIO 76 PA14 SYS_JTCK-SWCLK 78 PC10 UART4_TX Debug_TX @@ -51,6 +63,9 @@ PERIPHERALS MODES FUNCTIONS PINS ADC1 IN1 ADC1_IN1 PA1 RCC Crystal/Ceramic Resonator RCC_OSC_IN OSC_IN RCC Crystal/Ceramic Resonator RCC_OSC_OUT OSC_OUT +SPI1 Full-Duplex Master SPI1_MISO PA6 +SPI1 Full-Duplex Master SPI1_MOSI PA7 +SPI1 Full-Duplex Master SPI1_SCK PA5 SPI2 Full-Duplex Master SPI2_MISO PB14 SPI2 Full-Duplex Master SPI2_MOSI PB15 SPI2 Full-Duplex Master SPI2_SCK PB13 @@ -70,15 +85,24 @@ UART5 Asynchronous UART5_TX PC12 Pin Nb PINs FUNCTIONs LABELs 1 PE2 GPIO_Output Loop_Enable 2 PE3 GPIO_Output Loop_Disable -3 PE4 GPIO_Input Loop_Status +3 PE4 GPIO_EXTI4 Loop_Status 4 PE5 GPIO_Output LED_Green 5 PE6 GPIO_Output LED_Red 12 OSC_IN RCC_OSC_IN 13 OSC_OUT RCC_OSC_OUT 24 PA1 ADC1_IN1 Frontend_In -52 PB13 SPI2_SCK -53 PB14 SPI2_MISO -54 PB15 SPI2_MOSI +25 PA2 GPIO_Output ETHER_RES +26 PA3 GPIO_EXTI3 ETHER_INT +29 PA4 GPIO_Output ETHER_CS +30 PA5 SPI1_SCK ETHER_SCLK +31 PA6 SPI1_MISO ETHER_MISO +32 PA7 SPI1_MOSI ETHER_MOSI +43 PE12 GPIO_Output Debug_Signal_2 +47 PB10 GPIO_Output Debug_Signal_1 +51 PB12 GPIO_Output EEPROM_CS +52 PB13 SPI2_SCK EEPROM_SCLK +53 PB14 SPI2_MISO EEPROM_MISO +54 PB15 SPI2_MOSI EEPROM_MOSI 72 PA13 SYS_JTMS-SWDIO 76 PA14 SYS_JTCK-SWCLK 78 PC10 UART4_TX Debug_TX @@ -96,7 +120,7 @@ SOFTWARE PROJECT Project Settings : Project Name : cube -Project Folder : /home/wn/Workspaces/MBusGateway3Variant/cube +Project Folder : /home/wn/Workspaces/mbusgateway3variant/cube Toolchain / IDE : Makefile Firmware Package Name and Version : STM32Cube FW_F1 V1.8.2