http://qs1969.pair.com?node_id=259751


in reply to Re: Unusual error in Win32::SerialPort (Missing REQUIRED setting for BAUD)
in thread Unusual error in Win32::SerialPort (Missing REQUIRED setting for BAUD)

Perfect, it worked exactly as you said. Printing the available baud rates showed that 115200 was missing, and adding it to $Serial->{"_L_BAUD"} made everything work right. Thanks very much for your help!

-BronzeWing

  • Comment on Re: Re: Unusual error in Win32::SerialPort (Missing REQUIRED setting for BAUD)
  • Download Code

Replies are listed 'Best First'.
Re^3: Unusual error in Win32::SerialPort (Missing REQUIRED setting for BAUD)
by derrick0627us (Novice) on Jul 28, 2009 at 07:08 UTC
    Hi! I am also working on the Win32::SerialPort. I tried the debug method mentioned above and got this response back, baud rate: 115200 1200 38400 4800 2400 600 57600 19200 9600 300. What does that mean? Does that mean I can only use those baudrates in my perl script? Please let me know. Thanks.

      What other baud rate would you want to use?

      And yes, it seems that Win32::SerialPort wants a baud rate configured before doing any interesting stuff. But without seeing code, it's kinda hard to tell exactly.

      I want to use baudrate such as, 921600 or 230400 or some higher baudrates. I tried to stick in this line here for 921600 since it seems to be working in the previous thread. Here is my code. $PortObj$devNum = Win32::SerialPort->new ($PortName, $quiet) || die "Cant open $PortName: $^E\n"; # quiet is optional unless (defined($PortObj$devNum)) { &logout("openUart ... new failed\n"); return 0; } $PortObj$devNum->{"_L_BAUD"}{921600} = 921600; #$PortObj$tmpDevNum->debug(1); #$PortObj$tmpDevNum->debug_comm(1); #print("\t set options\n"); $PortObj$devNum->baudrate("$baudrate"); But when I do this later, I don't see 921600 shows up in the list. print "baud rate: ", join("",$PortObj$devNum->baudrate),"\n"; Thanks.
      Hi, i tried the same but it is not working for me. With the print statement i am getting error as "Can't call method "baudrate" on an undefined value at serialport_logger.pl line 36" with the _L_BAUD setting i am getting the same error as "Missing REQUIRED setting for STOP at serialport_logger.pl line 42 write_settings failed, closing port at serialport_logger.pl line 42 no settings at serialport_logger.pl line 42." can anyone help me on this?????????