仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1192|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页设计读写串行口数据,实际上很复杂,PHP倒没...

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:22:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
理解动态语言的概念,运做机制,熟悉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 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
海妖 该用户已被删除
5#
发表于 2015-2-19 08:26:05 | 只看该作者
爱上php,他也会爱上你。
活着的死人 该用户已被删除
6#
 楼主| 发表于 2015-3-6 14:20:53 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
精灵巫婆 该用户已被删除
7#
发表于 2015-3-11 16:55:44 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
再见西城 该用户已被删除
8#
发表于 2015-3-19 01:49:30 | 只看该作者
本文当是我的笔记啦,遇到的问题随时填充
谁可相欹 该用户已被删除
9#
发表于 2015-3-26 21:49:54 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
不帅 该用户已被删除
10#
发表于 2015-3-27 06:07:27 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
因胸联盟 该用户已被删除
11#
发表于 2015-4-6 20:32:30 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
若天明 该用户已被删除
12#
发表于 2015-4-7 17:01:26 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
莫相离 该用户已被删除
13#
发表于 2015-4-11 08:29:24 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
14#
发表于 2015-4-11 15:11:45 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
分手快乐 该用户已被删除
15#
发表于 2015-4-19 10:16:39 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
若相依 该用户已被删除
16#
发表于 2015-4-21 21:19:04 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
再现理想 该用户已被删除
17#
发表于 2015-6-4 00:36:19 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
小妖女 该用户已被删除
18#
发表于 2015-6-12 14:11:12 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
简单生活 该用户已被删除
19#
发表于 2015-7-6 10:17:45 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
透明 该用户已被删除
20#
发表于 2015-7-7 06:13:48 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-14 14:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表