我编写了这个程序来探测 windows 串口。我把串口波特率设置为115200 bps。当我运行这个程序时,耗时是 1250 毫秒,所以,波特率只能达到 102400 bps。我也用类似的程序检查接收波特率,波特率是一样的。
程序如下:
char* message =
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
int numBytes = 144;
c0 = clock()
for (;;)
{
sendSerial(&hCom, message, numBytes );
tx +=numBytes;
//14400 bytes * 8 = 115200 bps
if (tx >= 14400)
{
c1 = clock();
runtime_diff_ms = (c1 - c0) * 1000. / CLOCKS_PER_SEC;
printf("Tx frames %d Time ms %f", tx, runtime_diff_ms);
system ("pause");
return -1;
}
}
bool sendSerial(HANDLE *hCom, char *WriteBuffer, DWORD dwBytesToWrite)
{
DWORD dwBytesWritten = 0;
BOOL bErrorFlag = FALSE;
bErrorFlag = WriteFile(
*hCom, // open file handle
WriteBuffer, // start of data to write
dwBytesToWrite, // number of bytes to write
&dwBytesWritten, // number of bytes that were written
NULL);
...
}
这些是我的串口规范:
DCB dcbSerialParams;
COMMTIMEOUTS timeouts;
dcbSerialParams.BaudRate=CBR_115200;
dcbSerialParams.ByteSize=8;
dcbSerialParams.StopBits=ONESTOPBIT;
dcbSerialParams.Parity=NOPARITY;
timeouts.ReadIntervalTimeout=MAXDWORD;
timeouts.ReadTotalTimeoutMultiplier=MAXDWORD;
timeouts.ReadTotalTimeoutConstant=5000; // 5sec
timeouts.WriteTotalTimeoutMultiplier=10;
timeouts.WriteTotalTimeoutConstant=100;
有人知道如何解决这个问题以达到 115200 bps 吗?
最佳答案
每个字符有 10 位 - 8 位数据加上起始位和停止位。
如果您计算 14400 个字符(每个字符 10 位)在 115200 bps 下需要多长时间,那么您将得到 1250 毫秒:
(14400 characters * 10 bits/character) / (115200 bits/second) = 1.250 seconds
关于c - 波特率串行窗口端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6568782/
我想用这两种语言中的任何一种(最好是ruby)制作一个窗口管理器。老实说,除了我需要加载某种X模块外,我不知道从哪里开始。因此,如果有人有线索,如果您能指出正确的方向,那就太好了。谢谢 最佳答案 XCB,X的下一代API使用XML格式定义X协议(protocol),并使用脚本生成特定语言绑定(bind)。它在概念上与SWIG类似,只是它描述的不是CAPI,而是X协议(protocol)。目前,C和Python存在绑定(bind)。理论上,Ruby端口只是编写一个从XML协议(protocol)定义语言到Ruby的翻译器的问题。生
尝试使用capybara、selenium和chromedriver-helper运行测试时出现以下错误。使用相同版本的chromedriver,测试在mac上本地运行良好。我已经尝试在我的spec_helper中明确设置远程调试端口,但显然这被忽略了,因为chromedriver使用随机远程调试端口。Selenium::WebDriver::Error::UnknownError:unknownerror:Devtoolsportnumberfilecontentswereinanunexpectedformat(Driverinfo:chromedriver=2.40.565383
我读到HTTParty使用SSLiftheportissetto443,但我不知道如何设置端口。有人可以为我澄清一下吗? 最佳答案 检查规范:https://github.com/jnunemaker/httparty/blob/82a90c1b93b076f9d2d7410123c2b5d609401a1f/spec/httparty/request_spec.rb#L41目标URL预计使用端口443。只需在目标URI末尾添加:443就足以使HTTParty使用SSL。顺便说一下,HTTPSURL也将使用SSL。例子:http:/
我在HTML页面上有一个文本字段,用于检查您是否输入了1到365之间的值。如果用户输入了无效值,如非数字字符或不在范围内的值,它显示一个弹出窗口。我在watirwiki上看到有一个select_no_wait方法,用于在您从列表中选择无效值时关闭弹出窗口。处理键盘事件时出现的弹出窗口的好方法是什么?我是否需要按照select_no_wait方法的实现方式进行操作,或者我们是否可以启动一个不同的进程来消除调用set方法时可能出现的弹出窗口。带有Javascript验证函数的HTML文件示例如下:varnum=0functionvalidate(e){varcharPressed=Stri
我正在将一些遗留的Watir脚本迁移到Watir-Webdriver。除了他们如何设计Watir-Webdriver来处理弹出窗口之外,迁移大部分进行得很顺利。他们没有使用久经考验的“附加”方法,而是用简化的“窗口”方法取而代之。语法非常简单,但是我很难理解如何在不关闭父窗口的情况下关闭单独的子窗口。目前我的代码是这样的-b.button(:xpath=>PREVIEWBUTTON).clickb.window(:title,POPUPWINDOW).useDOb.closeend目前正在发生的是b.close方法正在关闭子窗口和父窗口。我不确定为什么会这样,因为b.close方法包含
我正在尝试使用Net::SCP为ssh连接定义一个自定义端口,但到目前为止运气不佳。下面是我如何尝试使用自定义ssh端口从服务器下载远程文件的示例:require"rubygems"require'net/scp'Net::SCP.download!("www.server.com","user","/opt/platform/upload/projects/file.txt","/tmp/bb.pdf",{:password=>"mypassword",:port=>22202})我得到的错误信息是:Errno::ECONNREFUSED:Connectionrefused-conn
关于它的话题已经很多了。但是我卡住了我成功配置了ssh!现在我想为与TOAD的连接配置端口转发。我用过这个图:https://blog.openshift.com/getting-started-with-port-forwarding-on-openshift/现在当我尝试rhcport-forward-aphp我收到此错误无法解析PKey:没有起始行我创立了这个:http://blog.skypayjm.com/2015/02/accessing-remote-openshifts-database.html我尝试降级ssh,但没有任何改变。有人知道我做错了什么吗?此致,布莱希特
我正在尝试从selenium-webdriver(ruby)实现以下方法get_all_window_idsget_all_window_titlesget_all_window_names我运行了SeleniumIDE并将我的脚本导出到RubyTest::Unit。另存为.rb使用AptanaStudio3打开我的脚本进行编辑初始代码片段如下:require"rubygems"require"selenium-webdriver"require"test/unit"classSwitchToPopup3我不断得到的错误是NoMethodError:undefinedmethod`ge
我是WATIR测试的新手(我喜欢它吗!)并且遇到了如何将我的WATIR脚本重新聚焦到新打开的窗口的问题。这是我的(简化的)脚本....#!/usr/bin/rubyrequire'rubygems'require'watir-webdriver'browser=Watir::Browser.newbrowser.goto("http://0:3050")browser.text_field(:name,"userkey300203830").set("OKJHNB")browser.button(:id,"interview48").clickputs"ExpectedResult:"
一、网络环境及TOP1.1R1相当于内网的一台PC, IP:192.168.1.10 网关为 192.168.1.254[R1]iproute-static0.0.0.00192.168.1.254#R1配置默认路由(网关)1.2R2为出口路由器,分别连接内网R1及外网R31)R2 内网接口IP:192.168.1.2542)R2外网接口IP:100.1.1.102)R2NAT地址为:100.1.1.11-100.1.1.14二、静态NAT配置1.1静态NAT(一对一双向)R2配置静态NAT,将公网IP100.1.1.11映射到内网R1 192.168.1.10[R2]intg0/0/1[R2