Make serial setup configurale in apps/examples/modbus
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4966 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
29076ea208
commit
1a2e8d6f5b
@ -490,6 +490,10 @@ examples/modbus
|
||||
demos/LINUX directory of the FreeModBus version 1.5.0 (June 6, 2010)
|
||||
that can be downloaded in its entirety from http://developer.berlios.de/project/showfiles.php?group_id=6120.
|
||||
|
||||
CONFIG_EXAMPLES_MODBUS_PORT, Default 0 (for /dev/ttyS0)
|
||||
CONFIG_EXAMPLES_MODBUS_BAUD, Default 38400
|
||||
CONFIG_EXAMPLES_MODBUS_PARITY, Default MB_PAR_EVEN
|
||||
|
||||
CONFIG_EXAMPLES_MODBUS_REG_INPUT_START, Default 1000
|
||||
CONFIG_EXAMPLES_MODBUS_REG_INPUT_NREGS, Default 4
|
||||
CONFIG_EXAMPLES_MODBUS_REG_HOLDING_START, Default 2000
|
||||
|
@ -75,6 +75,18 @@
|
||||
****************************************************************************/
|
||||
/* Configuration ************************************************************/
|
||||
|
||||
#ifndef CONFIG_EXAMPLES_MODBUS_PORT
|
||||
# define CONFIG_EXAMPLES_MODBUS_PORT 0
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_EXAMPLES_MODBUS_BAUD
|
||||
# define CONFIG_EXAMPLES_MODBUS_BAUD 38400
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_EXAMPLES_MODBUS_PARITY
|
||||
# define CONFIG_EXAMPLES_MODBUS_PARITY MB_PAR_EVEN
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_EXAMPLES_MODBUS_REG_INPUT_START
|
||||
# define CONFIG_EXAMPLES_MODBUS_REG_INPUT_START 1000
|
||||
#endif
|
||||
@ -175,9 +187,17 @@ static inline int modbus_initialize(void)
|
||||
|
||||
status = ENODEV;
|
||||
|
||||
/* Initialize the FreeModBus library */
|
||||
/* Initialize the FreeModBus library.
|
||||
*
|
||||
* MB_RTU = RTU mode
|
||||
* 0x0a = Slave address
|
||||
* CONFIG_EXAMPLES_MODBUS_PORT = port, default=0 (i.e., /dev/ttyS0)
|
||||
* CONFIG_EXAMPLES_MODBUS_BAUD = baud, default=38400
|
||||
* CONFIG_EXAMPLES_MODBUS_PARITY = parity, default=MB_PAR_EVEN
|
||||
*/
|
||||
|
||||
mberr = eMBInit(MB_RTU, 0X0A, 0, 38400, MB_PAR_EVEN);
|
||||
mberr = eMBInit(MB_RTU, 0x0a, CONFIG_EXAMPLES_MODBUS_PORT,
|
||||
CONFIG_EXAMPLES_MODBUS_BAUD, CONFIG_EXAMPLES_MODBUS_PARITY);
|
||||
if (mberr != MB_ENOERR)
|
||||
{
|
||||
fprintf(stderr, MAIN_NAME_STRING
|
||||
@ -185,9 +205,15 @@ static inline int modbus_initialize(void)
|
||||
goto errout_with_mutex;
|
||||
}
|
||||
|
||||
/* Set the slave ID */
|
||||
/* Set the slave ID
|
||||
*
|
||||
* 0x34 = Slave ID
|
||||
* true = Is running (run indicator status = 0xff)
|
||||
* g_slaveid = Additional values to be returned with the slave ID
|
||||
* 3 = Length of additional values (in bytes)
|
||||
*/
|
||||
|
||||
mberr = eMBSetSlaveID(0x34, TRUE, g_slaveid, 3);
|
||||
mberr = eMBSetSlaveID(0x34, true, g_slaveid, 3);
|
||||
if (mberr != MB_ENOERR)
|
||||
{
|
||||
fprintf(stderr, MAIN_NAME_STRING
|
||||
@ -345,7 +371,7 @@ int MAIN_NAME(int argc, char *argv[])
|
||||
|
||||
/* Handle command line arguments */
|
||||
|
||||
g_modbus.quit = FALSE;
|
||||
g_modbus.quit = false;
|
||||
|
||||
while ((option = getopt(argc, argv, "desqh")) != ERROR)
|
||||
{
|
||||
@ -393,7 +419,7 @@ int MAIN_NAME(int argc, char *argv[])
|
||||
break;
|
||||
|
||||
case 'q': /* Quit application */
|
||||
g_modbus.quit = TRUE;
|
||||
g_modbus.quit = true;
|
||||
pthread_kill(g_modbus.threadid, 9);
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user