weige 发表于 2016-2-17 17:31:38

arduino串口数据接收

#include <SimpleModbusMaster.h>

/*
   The example will use packet1 to read a register from address 0 (the adc ch0 value)
   from the arduino slave (id=1). It will then use this value to adjust the brightness
   of an led on pin 9 using PWM.
   It will then use packet2 to write a register (its own adc ch0 value) to address 1
   on the arduino slave (id=1) adjusting the brightness of an led on pin 9 using PWM.
*/

//////////////////// Port information ///////////////////
#define baud 9600
#define timeout 1000
#define polling 200 // the scan rate
#define retry_count 10

// used to toggle the receive/transmit pin on the driver
#define TxEnablePin 2

#define LED 9

// The total amount of available memory on the master to store data
#define TOTAL_NO_OF_REGISTERS 2

// This is the easiest way to create new packets
// Add as many as you want. TOTAL_NO_OF_PACKETS
// is automatically updated.
enum
{
PACKET1,
PACKET2,
TOTAL_NO_OF_PACKETS // leave this last entry
};

// Create an array of Packets to be configured
Packet packets;

// Masters register array
unsigned int regs;

void setup()
{
// Initialize each packet
modbus_construct(&packets, 01, READ_INPUT_REGISTERS, 257, 03, 00);


// Initialize the Modbus Finite State Machine
modbus_configure(&Serial, baud, SERIAL_8N2, timeout, polling, retry_count, TxEnablePin, packets, TOTAL_NO_OF_PACKETS, regs);

pinMode(LED, OUTPUT);
}

void loop()
{
modbus_update();

   //regs = analogRead(0);
   // update data to be written to arduino slave
Serial.println(regs);


//analogWrite(LED, regs>>2);
// constrain adc value from the arduino slave to 255
Serial.println("-------");
delay(2000);
}



求大神看一下 我这个程序 要实现的功能是用arduino采集rs485的电压值载入程序之后 tx闪 ttl的tx也闪 rs485也闪 只有arduino的rx不闪串口监视器显示的数据是300-400的数值求指教 哪里 不对啊
页: [1]
查看完整版本: arduino串口数据接收