Olá pessoal, preciso de uma ajuda de vcs. Tenho uma aplicação para desenvolver com Arduino Nano e protocolo Modbus RTU Slave mais 03 CI´s PCF8574, sendo:

 - PCF 1 e 2 serão configurados como INPUT e o 03 como OUTPUT

Estou usando as Bibliotecas, para tal configuração:

#include <modbus.h>
#include <modbusDevice.h>
#include <modbusRegBank.h>
#include <modbusSlave.h>

Meu problema está na configuração de Ler as Entradas Digitais acima da 8ª porta, ou seja, porta 9.

Na configuração precisamos dizer os regBank de Digital Input para depois na função loop() setar o regBank conforme as entradas digitas em nivel alto.

Acontece que a configuração não aceita "setar" acima de 08 Dgitial Input Registers.

Alguém???

Obg.

Fernando.

Exibições: 617

Anexos

Responder esta

Respostas a este tópico

Boa tarde José G.

Segue link das bibliotecas:

https://github.com/FlyingLotus1983/arduino-modbus-slave

Obg.

Boa noite, 

Achei um erro ! Esta faltando uma linha de programa :

PCF8574::DigitalInput val2 = PCF_22.digitalReadAll();

if (val2.p0==HIGH){regBank.set(10009, 1);} else {regBank.set(10009, 0);}
if (val2.p1==HIGH){regBank.set(10010, 1);} else {regBank.set(10010, 0);}
if (val2.p2==HIGH){regBank.set(10011, 1);} else {regBank.set(10011, 0);}
if (val2.p3==HIGH){regBank.set(10012, 1);} else {regBank.set(10012, 0);}
if (val2.p4==HIGH){regBank.set(10013, 1);} else {regBank.set(10013, 0);}
if (val2.p5==HIGH){regBank.set(10014, 1);} else {regBank.set(10014, 0);}
if (val2.p6==HIGH){regBank.set(10015, 1);} else {regBank.set(10015, 0);}
if (val2.p7==HIGH){regBank.set(10016, 1);} else {regBank.set(10016, 0);}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço