完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在从事的项目是使用超声波检测器的水位传感器。事情的那一面工作正常;问题出在网页显示上。
为了演示这个问题,我把程序缩减到最少。这是清单: 代码:全选memclear v$ = \"\" dtg$ = \"\" serial2begin 9600, 12, 13 gosub [paintscreen] timer 5000, [doit] wait [doit] gosub [gettime] gosub [getdata] wait [gettime] dtg$ = time(\"day month year hour:min:sec\") return [getdata] serial2print \"U\" serial2input v$ return [paintscreen] cls textbox dtg$ cssid htmlid(), \"left: 0px; top: 0px; width: 140px;\" button \"Exit\", [TestExit] cssid htmlid(), \"background-color: green; color: white; left: 370px;\" gosub [gettime] return [TestExit] serialprintln \"Exit pressed!\" end 初始化几个变量后,我打开 serial2 通讯并调用例程来显示网页。在这个缩减示例中,这只是一个包含时间的文本框和一个退出程序的按钮。 然后计时器调用每五秒运行一次 [doit] 例程。这会调用 [gettime] 例程来更新时间,并调用 [getdata] 例程来获取传感器数据。同样,我已将 [getdata] 例程缩减到最少,它实际上什么也不做。正常的操作是我写一个“U”字符到超声波控制器触发传感器,然后读取返回的数据。但是... ...如果我注释掉第二行 - serial2input v$ - 该程序按预期工作。该网页显示一个显示时间的文本框,紧接着是一个绿色的退出按钮。时间每五秒更新一次,当我单击“退出”按钮时,程序终止。当然可以! 然而,有了第二条线,情况就大不相同了。网页显示如前,五秒后时间更新。但仅此而已。然后时间保持完全相同,绿色退出按钮不起作用。在 serial1 端口上,它开始 显示“0 winsock connected 192.168.1.180” !我可以中断程序的唯一方法是返回编辑页面并执行 。 问题是,到底为什么读取 serial2 输入会导致这种效果? 在任何人询问之前,读取数据和计算电平的实际例程工作正常,我可以通过 serial1 端口输出此信息 - 我无法解决此网页显示问题。 有任何想法吗? |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
321 浏览 0 评论
1178 浏览 1 评论
586浏览 6评论
483浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
468浏览 5评论
467浏览 4评论
442浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 04:35 , Processed in 0.894462 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号