串口的外接按键检测

bhxu 2007-02-05 05:54:14
要在串口上接一个按键,在程序中判断按键是否按下。怎样才能实现?

找了些资料,有说從串口的RTS或CTS線輸入,把RTS線通過按鍵接地,在PC端檢測RTS的電平。
但怎么才能检测电平
...全文
355 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ningxin 2007-02-05
  • 打赏
  • 举报
回复
在windows的串口驱动里,可以用SetCommMask,WaitCommEvent,和GetCommModemStatus来判断相应引脚电平。
程序说明:   (1)定义矩阵键盘管脚。   (2)将扫描时用到的管脚四种输出电平状态定义成一个数组。   (3)按键扫描程序。   (4)定义两个临时变量key,i。   (5)让键盘管脚的高四位输出高电平,第四位为低电平,为扫描按键准备。   (6)如果此时管脚状态电平发生变化。   (7)将之前定义的数组中的值赋予管脚,开始逐次扫描。   (8)延时一段时间,去抖。   (9)输出扫描按键的电平。   (10)再延时一段时间。   (11)如果此时按键管脚电平依旧不是输出的默认电平,表示有键按下。   (12)延时一段时间,让电平稳定。   (13)读取当前按键管脚电平,即键值。   (14)等待按键抬起,死循环,如果按键一直按下则一直等待。   (15)返回键值。   四、调试要点与实验现象   接好硬件,通过冷启动方式将程序所生成的。hex文件下载到单片机运行后,打开串口调试助手软件,设置好波特率9600,复位单片机,然后按下板上的4×4按键中的任意一个,并注意观串口调试助手上的显示。(见图3),可以观察到在接收窗口有按键的数据显示。 图3 按键通过串口调试助手显示界面   此外,在本文所附的实验程序中,其中与串口通信中调用了发送字符函数与发送字符串函数。在没有仿真器和遇到需要显示一些提示信息的时候,可以采用串口打印的方式,这样不仅直观方便而且不增加其他成本。   五、总结   本文介绍了单片机外接键盘的工作原理并给出了实例,通过该文,我们可以知道一个完善的键盘控制程序应具备以下功能:   (1) 检测有无按键按下,并采取硬件或软件措施,消除键盘按键机械触点抖动的影响。   (2) 有可靠的逻辑处理办法。每次只处理一个按键,其间对任何按键的操作对系统不产生影响,且无论一次按键时间有多长,系统仅执行一次按键功能程序。   (3) 准确输出按键值(或键号),以满足按键功能要求。对于矩阵键盘而言,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。   此外,按键的扫描方式有多种,本文中所述的是程序扫描方式,另外常见的还有定时扫描方式和中断扫描方式,这些方式均可以在本学习板上实现,因此希望读者结合前几讲的知识,自行进行程序的编写与调试。下讲将讲述单片机动态驱动数码管原理与实例,敬请期待。
型号:HLK-WIFI-M03 产品特性 接口 双排(2 x 4)插针式接口 支持波特率范围:1200~115200bps 支持硬件 RTS/CTS 流控 单 3.3V 供电 无线 支持 IEEE802.11b/g 无线标准 支持频率范围:2.412~2.484 GHz 支持两种无线网络类型: 基础网(Infra)和自组网(Adhoc) 支持多种安全认证机制: WEP64/WEP128/ TKIP/CCMP(AES) WEP/WPA-PSK/WPA2-PSK 支持快速联网 支持无线漫游 其它 支持多种网络协议: TCP/UDP/ICMP/DHCP/DNS/HTTP 支持自动和命令两种工作模式 支持串口透明传输模式 支持 AT+控制指令集 支持多种参数配置方式: 串口/WEB 服务器/无线连接 应用领域 智能公交网络,如无线刷卡机 小额金融支付网络,如无线 POS 机 业设备联网,如无线传感器 物联网 全面支持串口透明数据传输模式,真 正实现串口的即插即用 全新的 AT+指令集,全部基于 ASCII 格式,简单易懂,使用更容易 更加完备的 TCP/IP 协议栈,支持 DHCP 协议动态 IP 地址分配和 DNS 域名解析功能 内置 WEB 服务器,实现使用 IE 浏览 器通过无线网络远程配置模块参数 更高的传输性能,最高可达11KB/S 的发送速率 嵌入式802.11b/g无线网络 支持点对点访问,支持客户端、串口到WLAN的模式 支持串口到无线信号的桥接 支持64/128位WEP、WPA和WPA2(AES),具有很高的保密性 UART、GPIO、U.FL(WLAN)接口 1.功能概述 硬件部分 项目 指标 模块 串口电平 TTL/UART 3.3v 连接器 插针(8PIN,兼容以前的4PIN连接),具有防插反设计 5 - VCC(IN),8 - GND(OUT) 7 - TX(IN),6 - RX(OUT) 4 - RST(IN),3 – READY(OUT) 2 - LED1(OUT),1 - LED2(OUT) 指示灯 连接状态,板上显示,同时输出信号到外部接口READY 无线传输状态,板上显示,同时输出信号到外部接口LED3 状态1,板上显示,同时输出信号到外部接口LED2 状态2,板上显示 状态3,板上显示 天线 外接天线 体积 55.2x25.4x11.5mm(较小) 功耗 温度范围 -20~70 degC 供电 +3.3V +/-10% 串口转接板 串口电平 RS232 串口接口类型 DB9(Female) 连接器 8针插座 引脚定义同模块连接器 指示灯 1- 电源 2- 串口TX 3- 串口RX 4- 模块连接状态,连接到READY引脚 5- 无线传输状态,连接到LED1引脚 6- 状态1,连接到LED2引脚 复位按键 连接到RST引脚 电源接口 2.0 其它 与模块实现方便、可靠连接, 软件部分 项目 指标 无线功能 协议标准 802.11b/bg 网络类型 Infra/adhoc/private 安全认证 OPEN/WEP64/WEP128/CCMP/TKIP/WPI OPEN/SHAREKEY/WPA/WPA2/WAI 节能 无 网络功能 传输层协议 TCP/IP/UDP/ARP/ICMP/DHCP 应用层协议 HTTP(Server,仅用于远程WEB配置功能) DNS(Client) 用户接口功能 串口波特率 1200bps~115200bps 串口传输模式 命令模式: 透明模式:时间/长度(可设置)触发,特殊字符(可设置)退出 控制协议 AT+命令集 配置参数 掉电保存(flash),支持自动备份与恢复 配置管理方式 配置管理程序(串口、远程无线配置、远程WEB登陆方式) 测试、维护 生产测试 支持Litepoint测试命令集/设置MAC地址/设置发送功率 支持UART接口 固件升级 通过配置管理程序 上位机软件 配置管理程序 用于模块的参数配置、联网、传输功能演示等 生产测试程序 用于生产阶段的出厂检测,包括物理层测试、功率校正、MAC地址烧写 虚拟串口客户端程序 与固件中的虚拟串口服务器程序一起用于实现无线串口功能 其它 用户手册 全部AT+指令集的使用方法Demo源码 2.功能定义 支持802.11b-only、802.11b/g mix 支持1~13信道 支持1M、2M、5.5M、6M、9M、11M、12M、18M、24M、36M、48M、54M传输速率 支持网络扫描 支持加入infra网络 支持创建/加入adhoc网络 支持OPEN/WEP64/WEP128/CCMP/TKIP/WPI加密模式 支持OPEN/WEP/WPA/WPA2/WAI认证方式 支持仅使用ssid联网 支持绑定BSSID联网 支持用户通过AT+指令主动控制联网 支持使用配置参数自动联网 支持TCP/IP协议 IP协议 支持网段穿越(通过设置网关和子网掩码) 不支持分段的接收与发送 ARP协议 支持接收arp请求,并回复响应 支持发送arp请求,并接收响应 ICMP协议 支持接收ping请求,并回复响应 支持发送ping请求,并接收响应 不支持长度大于1460的ping请求 TCP协议 UDP协议 DHCP协议 支持HTTP协议 内置一个http服务器,用于实现远程WEB管理功能。 DNS协议 支持客户端。 1. MAC+RF架构,无需额外的MCU. 2.硬件802.11协议,内嵌TCP/IP协议 3.支持多种网络协议:TCP/UDP/ICMP/DHCP/DNS/HTTP 4.支持自动和工作命令模式,支持DHCP 5.支持串口透明传输,内置WEB服务器 6.支持WEP64/WEP128/WPA-PSK/WPA2-PSK 7.提供配置软件配置和IE浏览器配置参数 8.支持基础网(Infra)和自组网(Adhoc) 9.支持AT+编辑命令控制,并提供MCU控制的C源代码

6,120

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧