First commit
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
; PlatformIO Project Configuration File
|
||||
;
|
||||
; Build options: build flags, source filter
|
||||
; Upload options: custom upload port, speed and extra flags
|
||||
; Library options: dependencies, extra library storages
|
||||
; Advanced options: extra scripting
|
||||
;
|
||||
; Please visit documentation for the other options and examples
|
||||
; https://docs.platformio.org/page/projectconf.html
|
||||
|
||||
[platformio]
|
||||
default_envs = mkrvidor4000
|
||||
|
||||
[env:teensy41]
|
||||
platform = teensy
|
||||
board = teensy41
|
||||
framework = arduino
|
||||
lib_extra_dirs = ../../..
|
||||
;lib_deps = epsilonrt/Modbus-Serial@^2.0.3
|
||||
|
||||
[env:mkrvidor4000]
|
||||
platform = atmelsam
|
||||
board = mkrvidor4000
|
||||
framework = arduino
|
||||
lib_extra_dirs = ../../..
|
||||
;lib_deps = epsilonrt/Modbus-Serial@^2.0.3
|
||||
|
||||
[env:mkrvidor4000-debug]
|
||||
platform = atmelsam
|
||||
framework = arduino
|
||||
board = mkrvidor4000
|
||||
debug_tool = atmel-ice
|
||||
|
||||
|
||||
; Debugger (gdb) support
|
||||
; https://docs.arduino.cc/tutorials/mkr-wifi-1010/mkr-jlink-setup
|
||||
; https://gojimmypi.blogspot.com/2018/12/swd-debugging-arduino-mkr-wifi-1010.html
|
||||
|
||||
build_type = debug
|
||||
lib_extra_dirs = ../../..
|
||||
;lib_deps = epsilonrt/Modbus-Serial@^2.0.3
|
||||
|
||||
; activate Dual USB just as README says
|
||||
build_flags =
|
||||
-DDEBUG # Comment out to disable debugging.
|
||||
;debug_build_flags = -O0 -g2 -ggdb2
|
||||
debug_build_flags = -O0 -ggdb3 -g3
|
||||
|
||||
[env:esp32]
|
||||
framework = arduino
|
||||
platform = espressif32
|
||||
; change for your board : https://registry.platformio.org/platforms/platformio/espressif32/boards
|
||||
board = esp32doit-devkit-v1
|
||||
;board_build.f_cpu = 240000000L
|
||||
lib_extra_dirs = ../../..
|
||||
;lib_deps = epsilonrt/Modbus-Serial@^2.0.3
|
||||
;upload_port = COM9
|
||||
|
||||
[env:esp32-debug]
|
||||
; https://dzone.com/articles/eclipse-jtag-debugging-the-esp32-with-a-segger-j-l
|
||||
; https://docs.platformio.org/en/latest/tutorials/espressif32/arduino_debugging_unit_testing.html
|
||||
; https://community.platformio.org/t/esp32-and-segger-jlink-tip-for-interface-setup-configuration/25964
|
||||
framework = arduino
|
||||
platform = espressif32
|
||||
; change for your board : https://registry.platformio.org/platforms/platformio/espressif32/boards
|
||||
board = esp32doit-devkit-v1
|
||||
;board_build.f_cpu = 240000000L
|
||||
lib_extra_dirs = ../../..
|
||||
;lib_deps = epsilonrt/Modbus-Serial@^2.0.3
|
||||
upload_port = COM1
|
||||
debug_tool = jlink
|
@@ -0,0 +1,41 @@
|
||||
#include <ModbusSerial.h>
|
||||
|
||||
// Used Pins
|
||||
const byte LedPin = LED_BUILTIN;
|
||||
const byte TxenPin = -1; // -1 disables the feature, change that if you are using an RS485 driver, this pin would be connected to the DE and /RE pins of the driver.
|
||||
|
||||
#define MySerial Serial1 // define serial port used, Serial most of the time, or Serial1, Serial2 ... if available
|
||||
const unsigned long Baudrate = 38400;
|
||||
|
||||
const byte SlaveId = 10;
|
||||
|
||||
const byte FirstReg = 0;
|
||||
const byte Lamp1Coil = FirstReg;
|
||||
const byte NofRegs = 32;
|
||||
|
||||
ModbusSerial mb(MySerial, SlaveId, TxenPin);
|
||||
|
||||
void setup() {
|
||||
|
||||
// MySerial.begin(Baudrate); // works on all boards but the configuration is 8N1 which is incompatible with the MODBUS standard
|
||||
// prefer the line below instead if possible
|
||||
MySerial.begin (Baudrate, MB_PARITY_EVEN);
|
||||
|
||||
mb.config(Baudrate);
|
||||
|
||||
for (byte i = 0; i < NofRegs; i++) {
|
||||
|
||||
mb.addHreg(FirstReg + i, i);
|
||||
mb.addIreg(FirstReg + i, i);
|
||||
mb.addCoil(FirstReg + i, i % 2);
|
||||
mb.addIsts(FirstReg + i, (i + 1) % 2);
|
||||
}
|
||||
|
||||
pinMode(LedPin, OUTPUT);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
|
||||
mb.task();
|
||||
digitalWrite(LedPin, !mb.Coil(Lamp1Coil));
|
||||
}
|
Reference in New Issue
Block a user