我有一个项目使用Rocketport Infinity 16端口从6个不同的风速计(风速测量设备)接收数据(RS422,50Hz,38.4k波特,每个记录47个字节).当我使用32Hz和9600波特时,一切都很好,但是,当我改为50Hz时,没有收到一些数据.我尝试使用USB而不是Rocketport Infinity而没有运气.
因此,除了风速计失败之外,我怀疑数据丢失的以下解释:
对于Rocketport Infinity,我打开了所有16个端口,但只连接了6个端口,我怀疑当切换到50Hz时,最大数据吞吐量会很高.
IRQ开关速度太高,com端口无法正常运行.
还有其他可能的原因吗?如果我弄错了,请纠正我.
Receiver的开发环境:Windows XP Professional 32位版本的Delphi 6,带有CPort 3.1
我只是将根路径定义为这样的常量
define("ROOT_PATH", dirname(__FILE__));
Run Code Online (Sandbox Code Playgroud)
所以,在同一个文件中,他们可以识别ROOT_PATH,但是,在其他文件中,ROOT_PATH为null,我检查一些论坛,人们说定义常量可以在全局使用,但是,我不能,是我需要的在PHP.ini中做一些配置?
实际上,为什么我这样做是因为我将网站移动到新服务器,但是,新服务器似乎不喜欢我使用相对路径,因此,我需要更改为绝对路径.
更新:
谢谢大家,我想我抓住了原因,我用ajax来调用文件,所以ROOT_PATH为null,因此,我在每个文件中定义了ROOT_PATH,但是出现了另一个问题,我的文件结构是这样的......
/index.php
/ajax/a1.php
/inc/inc.php
index.php:
<?
define('ROOT_PATH',dirname(__FILE__));
include_once ROOT_PATH."/inc/inc.php";
?>
a1.php:
<?
define('ROOT_PATH',dirname(__FILE__));
include_once ROOT_PATH."/inc/inc.php";
?>
Run Code Online (Sandbox Code Playgroud)
所以,当客户端调用a1.php时,它会包含inc.php,但是,它不像我想象的那样,我从chrome开发人员工具中得到这个
<b>Warning</b>: include_once(D:\.............\ajax/inc/a1.php) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in <b>D:\..................\inc\inc.php</b> on line <b>3</b><br />
Run Code Online (Sandbox Code Playgroud)
我检查两个文件生成的ROOT_PATH,发现,FILE取决于调用者,
如果index.php调用它,那么
ROOT_PATH = d:\.............\
Run Code Online (Sandbox Code Playgroud)
如果a1.php调用它,那么
ROOT_PATH = d:\..............\ajax\
Run Code Online (Sandbox Code Playgroud)
但是,我需要调用该文件的文件,我可以克服这个问题吗?谢谢.
解决了:
嗨,我只想弄清楚如何克服路径问题,首先,我们需要在每个目录中设置一个文件,而这个文件存储绝对路径信息是指相对路径(难以理解?:P),我把这个文件叫做path.php我的例子
/index.php
/ajax/a1.php
/inc/inc.php
Run Code Online (Sandbox Code Playgroud)
因此,我们需要在这3个directroy中添加3个path.php,如下所示,
/index.php
/path.php
/ajax/a1.php
/ajax/path.php
/inc/inc.php
/inc/path.php
Run Code Online (Sandbox Code Playgroud)
这样的每个设置path.php,
/path.php
<?
if(!defined(ROOT_PATH))
define(ROOT_PATH, dirname(__FILE__));
?>
Run Code Online (Sandbox Code Playgroud)
/ajax/path.php & /inc/path.php …