852ec90e6b
- STM32F103RBT6 Firmware für Growatt ShineLAN-X - Bitbang-SPI (EthernetENC) auf Port C (PC6/PC7/PC8/PC9) - UART-Debug auf USART1 (PA9/PA10), Modbus temporär deaktiviert - SO-Aktivitätstest und ESTAT-Register-Scan bestätigen: ENC28J60 läuft (SO aktiv), SI/MOSI-Verbindung unterbrochen - Nächster Schritt: Pin 5 ENC28J60 nachlöten oder Bodge-Draht Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
58 lines
2.2 KiB
C
58 lines
2.2 KiB
C
#pragma once
|
|
|
|
// ============================================================
|
|
// NETZWERK — ENC28J60 Ethernet (Bitbang-SPI auf Port C)
|
|
// STM32F103RBT6, LQFP-64
|
|
// Hardware-SPI nicht nutzbar — alle SPI-Pins liegen auf Port C
|
|
// ============================================================
|
|
|
|
// Bitbang-SPI Pins (alle gemessen)
|
|
#define ETH_CS_PIN PC7 // ENC28J60 Pin 7 /CS → STM32 Pin 36 (gemessen)
|
|
#define ETH_SCK_PIN PC6 // ENC28J60 Pin 6 SCK → STM32 Pin 35 (gemessen)
|
|
#define ETH_MISO_PIN PC8 // ENC28J60 Pin 4 SO → STM32 Pin 37 (gemessen)
|
|
#define ETH_MOSI_PIN PC9 // ENC28J60 Pin 5 SI → STM32 Pin ?? (noch unbekannt, Scan läuft)
|
|
|
|
// ENC28J60 Reset
|
|
#define ETH_RST_PIN PB13 // ENC28J60 Pin 18 /RESET → STM32 Pin 32, 500Ω
|
|
|
|
// 0 = DHCP, 1 = Statische IP
|
|
#define USE_DHCP 0
|
|
|
|
// Nur relevant wenn USE_DHCP = 0
|
|
#define STATIC_IP 192,168,2,15
|
|
#define STATIC_GW 192,168,2,1
|
|
#define STATIC_SUBNET 255,255,255,0
|
|
#define STATIC_DNS 192,168,2,1
|
|
|
|
// MAC-Adresse — muss im Netzwerk eindeutig sein
|
|
#define MAC_ADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
|
|
|
|
// ============================================================
|
|
// MQTT
|
|
// ============================================================
|
|
#define MQTT_BROKER "192.168.2.84"
|
|
#define MQTT_PORT 1883
|
|
#define MQTT_USER "" // Leer lassen wenn kein Auth
|
|
#define MQTT_PASSWORD ""
|
|
#define MQTT_CLIENT "growatt-shinelan"
|
|
|
|
// ============================================================
|
|
// RS485 / MODBUS
|
|
// RS485 DE/RE → STM32 Pin 25 = PB1 (LQFP-64 neu gemessen)
|
|
// USART1: TX=PA9 (Pin 40), RX=PA10 (Pin 41)
|
|
// ============================================================
|
|
#define RS485_DE_PIN PB1 // RE/DE Steuerpin → STM32 Pin 25
|
|
#define MODBUS_BAUD 9600 // Growatt Standard-Baudrate
|
|
#define MODBUS_ADDR 1 // Modbus Slave-Adresse des Wechselrichters
|
|
|
|
// ============================================================
|
|
// GERÄT
|
|
// ============================================================
|
|
#define DEVICE_ID "growatt_shinelan"
|
|
#define DEVICE_NAME "Growatt ShineLAN-X"
|
|
#define DEVICE_MODEL "ShineLAN-X"
|
|
#define DEVICE_MFR "Growatt"
|
|
|
|
// Abfrageintervall in Millisekunden
|
|
#define UPDATE_INTERVAL 10000UL
|