活着的死人 发表于 2015-2-4 00:22:51

PHP网页设计读写串行口数据,实际上很复杂,PHP倒没...

理解动态语言的概念,运做机制,熟悉PHP语法数据   我没看过PHP源码,但它有文件操作函数,我想应当可以吧?其实不可,那末做个CGI来完成也能够,并且自力性好,轻易保护。之前我在BCB情况下做过,思绪以下:(其实相当于通俗的文件读写操作,呵呵)

1、翻开文件

//先用文件体例翻开一个串口(COM1~~COM4中任一个)
HANDLE m_hComm = CreateFile("COM2", GENERIC_READ | GENERIC_WRITE, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);

然后就能够用WriteFile()和ReadFile()来对串行口停止读写了,最初记得CloseHandle(m_hComm);把以后翻开的串行口封闭哦。
因为CreateFile()函数采取FILE_FLAG_OVERLAPPED常量,那末注重一下WriteFile()和ReadFile()函数的最初一个参数是OVERLAPPED布局的,读写前需求先初始化该布局:

OVERLAPPED m_ov;

m_ov.Offset = 0;
m_ov.OffsetHigh = 0;
m_ov.hEvent = NULL;

好了,下面已翻开COM2,那末就停止复杂读写:

2、写:

BOOL bResult = true;
char* m_WriteBuffer;
DWORD BytesSent = 0;

strcpy(m_WriteBuffer, "尝尝写出来");
bResult = WriteFile(m_hComm, m_WriteBuffer, strlen((char*)m_WriteBuffer), &BytesSent, m_ov);


3、读:

COMSTAT comstat;//该布局包括通讯装备的形态。
BOOL bResult = true;
DWORD dwError = 0;
DWORD BytesRead = 0;
unsigned char m_ReadBuff;
//入手下手轮回读
for (;;)
{
bResult = ClearCommError(m_hComm, &dwError, &comstat);//更新COMSTAT布局并排除一切毛病
if (comstat.cbInQue == 0)
{
    break;//假如读完了就加入for轮回
}

bResult = ReadFile(m_hComm, &ReadBuff, 1, &BytesRead, m_ov);//一次读一名,假如喜好,你也能够一次读n位
......
//在这里放入你的处置模块,归正ReadBuff里是内容(1位),可以兼并起来......
......
}

4、关失落
CloseHandle(m_hComm);


以上思绪可以经由过程函数前往值停止毛病处置,至于各毛病常量的意思可以查书,完全处置是费事点,晓得办法就能够了,只需你是复杂使用,那末复杂读写就足够了。这个文件读写体例还合用于打印口LPT1、LPT2~~~LPTn。在Unix下我没试过,但既然Unix类的操作体系比Windows加倍强调装备文件,信任在Unix、Linux下用文件体例读写COM口更复杂更通用吧。。。?仍是这句:晓得办法就行。该出手时就出手。^_^
不外假如在Unix、Linux下作为CGI来用的话,能够要设置编译后CGI文件的权限,本人试哦。
小试一下身手,大概是没问题了,那么交给你个任务,做个留言本吧,这和HELLO WORLD有一比啊!^_^,同是新手面临的第一道关。

兰色精灵 发表于 2015-2-4 12:50:05

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

爱飞 发表于 2015-2-9 22:40:38

刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。

灵魂腐蚀 发表于 2015-2-13 03:15:06

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

海妖 发表于 2015-2-19 08:26:05

爱上php,他也会爱上你。

活着的死人 发表于 2015-3-6 14:20:53

写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。

精灵巫婆 发表于 2015-3-11 16:55:44

作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。

再见西城 发表于 2015-3-19 01:49:30

本文当是我的笔记啦,遇到的问题随时填充

谁可相欹 发表于 2015-3-26 21:49:54

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

不帅 发表于 2015-3-27 06:07:27

不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。

因胸联盟 发表于 2015-4-6 20:32:30

首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。

若天明 发表于 2015-4-7 17:01:26

建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。

莫相离 发表于 2015-4-11 08:29:24

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

仓酷云 发表于 2015-4-11 15:11:45

,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。

分手快乐 发表于 2015-4-19 10:16:39

建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。

若相依 发表于 2015-4-21 21:19:04

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

再现理想 发表于 2015-6-4 00:36:19

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

小妖女 发表于 2015-6-12 14:11:12

小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。

简单生活 发表于 2015-7-6 10:17:45

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

透明 发表于 2015-7-7 06:13:48

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
页: [1]
查看完整版本: PHP网页设计读写串行口数据,实际上很复杂,PHP倒没...