关于ArduinoModbus通讯编译错误的问题,如何解决?

参考《Arduino与S7-200 PLC 进行Modbus通信测试 》学习ArduinoModbus通信,编译出现错误提示。
?%ra=link https://www.cnblogs.com/GeGeBoom/p/14636133.html

//源程序:
#include 
#include 
#include 
#include 

#include 

volatile int item;
SimpleTimer timer;

modbusDevice regBank;
modbusSlave slave;              //modbus从站

#define RS485TxEnablePin 2      //RS485使能引脚
#define RS485Baud 9600          //波特率9600
#define RS485Format SERIAL_8E1  //8位 偶校验

#define LED1 13
#define LED2 12

void setup()
{

  //初始化串口
  slave.setBaud(&Serial, RS485Baud, RS485Format, RS485TxEnablePin);
  //分配Modbus设备ID。
  regBank.setId(1);

/*。
Modbus寄存器遵循以下格式。
00001-09999数字输出,主设备可以读写这些寄存器。
10001-19999数字输入,主设备只能从这些寄存器读取值。
30001-39999模拟输入,主设备只能从这些寄存器读取值。
40001-49999模拟输出,主设备可以读取和写入这些寄存器。

模拟值是存储范围为0-32767的16位无符号字。
数字值以字节存储,零值为OFF,任何非零值为ON。

*/
  //将模拟输入寄存器添加到寄存器组
  regBank.add(30001);
  regBank.add(30002);

  //将模拟输出寄存器添加到寄存器组
  regBank.add(40001);
  regBank.add(40002);

  slave._device = ®Bank;
  //设置引脚模式
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  //设置定时器  每秒执行一次
  timer.setInterval(1000L, Simple_timer_1);**//提示这里有问题**
}

void loop()
{
  //读取40001寄存的值
  digitalWrite(LED1, regBank.get(40001));
  digitalWrite(LED2, regBank.get(40002));

  //向30001寄存器写入数据
  regBank.set(30001, (word) (99 - item)); //from 99 - 0
  regBank.set(30002, (word) item); //from 0 - 99

  //Modbus从站程序运行
  slave.run();

  //简单定时器运行
  timer.run();
}

//定时器执行函数
void Simple_timer_1() {
  item = item + 1;
  if (item == 99) {
    item = 0;
  }

}


运行结果及报错内容 :

SimpleTimerexit status 1no matching function for call to 'SimpleTimer__setInterval(long int, void (&)())'