### AT_command 命令集解析 #### 一、引言 AT命令是与调制解调器(Modem)进行通信的一种标准指令集,广泛应用于各种通信领域,特别是移动通信设备如手机、数据卡等。它允许用户通过简单的文本命令来控制调制解调器的各种功能,例如拨打电话、发送短信、查询网络状态等。本文将详细介绍《AT_command 命令集》中的关键知识点,以便于读者更好地理解和应用这些命令。 #### 二、AT命令集概览 AT命令集按照功能大致可以分为以下几类: 1. **一般命令**:用于配置调制解调器的基本设置。 2. **呼叫控制命令**:用于控制电话呼叫的操作。 3. **网络业务命令**:用于管理和监控网络连接状态。 4. **安全性命令**:用于管理设备的安全设置,如PIN码。 5. **电话本命令**:用于管理电话簿信息。 6. **短消息命令**:用于处理短信的发送和接收。 7. **补充业务命令**:用于激活或取消额外的服务特性。 8. **数据命令**:用于配置数据传输的相关参数。 9. **传真命令**:用于配置和控制传真的发送与接收。 10. **串口控制命令**:用于配置串行接口的工作模式。 #### 三、详细解析 ##### 1. 一般命令 - **AT+CSCS**:选择TE字符集,用于设置调制解调器所使用的字符集。 - **AT+CIMI**:请求IMSI,用于获取国际移动用户身份(IMSI)。 - **AT+GCAP**:性能列表,列出调制解调器支持的所有AT命令能力。 - **A/**:重复刚才的命令,用于再次执行上一条命令。 - **AT^SMSO**:关闭电源,用于关闭调制解调器的电源。 - **AT+CMEE**:报告ME错误,用于设置错误报告的级别。 ##### 2. 呼叫控制命令 - **ATD**:拨号,用于发起电话呼叫。 - **ATH**:呼叫挂起,用于挂断正在进行的呼叫。 - **ATA**:呼叫应答,用于接听来电。 - **AT+CEER**:扩展错误报告,用于启用或禁用扩展错误报告。 - **AT+VTS, AT+VTDDTMF信号**:用于生成DTMF信号。 - **ATS0**:自动应答,用于设置调制解调器是否自动接听来电。 ##### 3. 网络业务命令 - **AT+CSQ**:信号质量,用于查询当前的信号强度和质量。 - **AT+COPS**:运营商选择,用于手动或自动选择网络运营商。 - **AT+CREG**:网络注册,用于查询网络注册状态。 ##### 4. 安全性命令 - **AT+CPIN**:输入PIN码,用于解锁SIM卡。 - **AT+CPIN2**:输入PIN2码,用于解锁某些特定功能。 - **AT+CPIN?**:PIN码剩余尝试次数,用于查询剩余的PIN码输入机会。 - **AT+CLCK**:功能锁定,用于设置锁定功能。 - **AT+CPWD**:更改密码,用于更改PIN码或其他密码。 ##### 5. 电话本命令 - **AT+CPBS**:选择电话本存储区,用于指定电话本数据的存储位置。 - **AT+CPBR**:读取电话本,用于读取电话本中的联系人信息。 - **AT+CPBW**:写电话本,用于向电话本添加新的联系人信息。 ##### 6. 短消息命令 - **AT+CSMS**:选择消息业务,用于设置短消息服务的模式。 - **AT+CPMS**:选择短消息存储区,用于指定短消息的存储位置。 - **AT+CMGF**:选择消息格式,用于设置短消息的格式为文本或PDU。 - **AT+CSDH**:显示TEXT方式参数,用于显示文本模式下的短消息参数。 - **AT+CNMI**:新消息提示,用于设置接收到新短消息时的通知方式。 - **AT+CMGR**:读取短消息,用于读取存储区中的短消息。 - **AT+CMGL**:列举短消息,用于显示所有存储的短消息。 - **AT+CMGS**:发送短消息,用于发送短消息。 - **AT+CMGW**:向内存写入消息,用于将短消息存入存储区。 - **AT+CMSS**:发送存储区内的消息,用于发送存储区中的短消息。 - **AT+CSMP**:设置TEXT方式参数,用于设置文本模式下的短消息参数。 - **AT+CMGD**:删除短消息,用于删除存储区中的短消息。 - **AT+CSCA**:设置短消息中心地址,用于设置短消息服务中心的地址。 - **AT+CSCB**:选择广播消息类型,用于选择接收的广播消息类型。 ##### 7. 补充业务命令 - **AT+CCFC**:呼叫转移,用于设置呼叫转移的功能。 - **AT+CLCK**:呼叫限制,用于设置呼叫限制。 - **AT+CPWD**:更改补充业务密码,用于更改与补充业务相关的密码。 - **AT+CLIP**:呼叫线路识别显示,用于设置呼叫线路识别的显示方式。 - **AT+CHLD**:呼叫保持,用于设置呼叫保持功能。 - **AT+CLCC**:列举当前的电话,用于显示当前正在进行的所有呼叫。 - **AT+CSSN**:补充业务通知,用于设置补充业务的通知方式。 - **AT+CCUG**:用户组业务,用于设置用户组相关的业务功能。 ##### 8. 数据命令 - **AT+CBST**:载波类型选择,用于选择数据传输的载波类型。 - **AT+FCLASS**:选择模式,用于设置调制解调器的数据通信模式。 - **AT+CR**:业务报告控制,用于控制业务报告的输出。 - **AT+CRC**:振铃类型结果码,用于设置振铃类型的输出结果码。 - **AT+ILRRDTE-DCE本地波特率报告**:用于报告DTE到DCE之间的本地波特率。 - **AT+CRLP**:无线链路协议参数,用于设置无线链路的协议参数。 ##### 9. 传真命令 - **AT+FTM**:传送速度,用于设置传真的传送速度。 - **AT+FRM**:接收速度,用于设置传真的接收速度。 - **AT+FTS**:停止传送并等待,用于停止传真传送并等待进一步的指令。 ##### 10. 串口控制命令 - **AT+IPR**:固定DTE波特率,用于设置DTE端的固定波特率。 - **AT&C**:设置DCD信号,用于设置数据载体检测(DCD)信号的状态。 - **AT&D**:设置DTR信号,用于设置数据终端就绪(DTR)信号的状态。 - **AT&S**:设置DSR信号,用于设置数据设备就绪(DSR)信号的状态。 - **ATO**:返回在线模式,用于将调制解调器从命令模式切换到在线模式。 - **ATQ**:结果代码抑制,用于抑制命令执行后的结果代码输出。 - **ATV**:响应格式,用于设置命令响应的格式。 - **ATZ**:缺省配置,用于恢复调制解调器到出厂默认设置。 - **AT&W**:保存设置,用于将当前设置保存至非易失性存储器。 - **ATE**:回显,用于开启或关闭命令输入的回显功能。 通过以上详细介绍,我们可以看到AT命令集的强大功能和灵活性。无论是对于开发人员还是终端用户而言,掌握这些命令都是非常重要的。它们不仅能够帮助我们更有效地管理和控制调制解调器,还能实现各种复杂的通信任务。
2025-08-03 15:45:07 1.82MB AT_command
1
### U-Boot命令详解 U-Boot是一款广泛应用于嵌入式系统的Bootloader,它提供了丰富的命令集用于设备初始化、内存管理、文件系统操作等。本文将根据提供的文档内容,详细介绍U-Boot中的一些常用命令。 #### 1. 获取帮助 **命令**: `help` 或 `?` **功能**: 查看当前U-Boot版本中支持的所有命令列表。 **示例**: ```bash [u-boot@MINI2440]# help ?-alias for 'help' ask - get environment variables from stdin base - print or set address offset bdinfo - print Board Info structure bmp - manipulate BMP image data boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootelf - Boot from an ELF image in memory bootm - boot application image from memory bootp - boot image via network using BOOTP/TFTP protocol bootvx - Boot vxWorks from an ELF image cmp - memory compare coninfo - print console devices and information ``` #### 2. 环境变量与相关指令 环境变量在U-Boot中扮演着重要的角色,它们可以用来存储各种配置信息,如启动参数、设备路径等。 **命令**: - `printenv`: 显示所有环境变量及其值。 - `setenv`: 设置环境变量。 - `saveenv`: 保存当前环境变量至非易失性存储器。 **示例**: ```bash [u-boot@MINI2440]# printenv bootcmd=run bootd bootdelay=1 console=ttymxc0,115200n8 fdt_high= fdtcontroladdr=0x40000000 initrdhigh= ip=dhcp loadaddr=0x10000000 splashpos=m,c splashimage=0x30000000 console=ttymxc0,115200n8 ``` #### 3. 串口传输命令 U-Boot支持通过串口进行数据传输,这对于调试特别有用。 **命令**: - `tftp`: 从TFTP服务器下载文件。 - `sf`: 对SPI Flash进行操作。 - `sf probe`: 探测SPI Flash设备。 **示例**: ```bash [u-boot@MINI2440]# tftp 0x1000000 /path/to/file.bin TFTP from server 192.168.1.100; our IP address is 192.168.1.101 Filename ‘/path/to/file.bin’. Load address: 0x1000000 Loading: ################################################################ done, 102400 bytes transferred in 2.5 seconds (38.5 KiB/s) ``` #### 4. 网络命令 U-Boot支持通过网络进行文件传输和其他操作。 **命令**: - `dhcp`: 获取DHCP分配的IP地址。 - `ping`: 测试网络连接。 - `bootp`: 通过BOOTP/TFTP协议启动镜像。 - `loadb`: 从网络加载内核和启动参数。 - `loadkernel`: 仅加载内核。 **示例**: ```bash [u-boot@MINI2440]# dhcp Starting DHCP client on eth0... DHCP offer from 192.168.1.1 (timeout=10s) DHCP lease obtained, IP address: 192.168.1.101 Subnet mask: 255.255.255.0, Gateway: 192.168.1.1 DNS servers: 8.8.8.8, 8.8.4.4 ``` #### 5. NAND Flash操作指令 NAND Flash通常用于存储操作系统镜像和用户数据。 **命令**: - `nand read`: 从NAND Flash读取数据。 - `nand write`: 向NAND Flash写入数据。 - `nand erase`: 清除NAND Flash区块。 - `nand info`: 显示NAND Flash信息。 **示例**: ```bash [u-boot@MINI2440]# nand info NAND device(s) found: Device #0: DeviceSize = 128 MiB (0x00000000 - 0x08000000) EraseBlockSize = 128 KiB (0x20000) Page size = 2 KiB (0x800) Pages per block = 64 O.E.C. bits = 1 Bad Block Marking Method = 0 ``` #### 6. 内存/寄存器操作指令 这些指令用于直接访问和操作内存及寄存器。 **命令**: - `md`: 显示内存内容。 - `mw`: 写入内存。 - `mr`: 读取寄存器。 - `ms`: 设置寄存器。 **示例**: ```bash [u-boot@MINI2440]# md 0x10000000 10 0x10000000: 0x00000000 0x00000000 0x00000000 0x00000000 0x10000010: 0x00000000 0x00000000 0x00000000 0x00000000 ``` #### 7. Nor Flash指令 Nor Flash常被用于存储较小的程序代码。 **命令**: - `nor read`: 从Nor Flash读取数据。 - `nor write`: 向Nor Flash写入数据。 - `nor erase`: 清除Nor Flash区块。 - `nor info`: 显示Nor Flash信息。 **示例**: ```bash [u-boot@MINI2440]# nor info NOR device(s) found: Device #0: DeviceSize = 16 MiB (0x00000000 - 0x01000000) EraseBlockSize = 64 KiB (0x10000) Page size = 512 B (0x200) ``` #### 8. USB操作指令 U-Boot支持USB设备的操作。 **命令**: - `usb start`: 启动USB控制器。 - `usb devices`: 显示USB设备列表。 - `usb mass_storage`: 挂载USB存储设备。 **示例**: ```bash [u-boot@MINI2440]# usb start USB started, USB configuration done ``` #### 9. SD卡(MMC)指令 SD卡或MMC卡常被用于扩展存储空间。 **命令**: - `mmc info`: 显示SD/MMC卡信息。 - `mmc read`: 从SD/MMC卡读取数据。 - `mmc write`: 向SD/MMC卡写入数据。 **示例**: ```bash [u-boot@MINI2440]# mmc info card: 1 partitions, 8GiB, SDHC, SDR12, c0, ocr=0x40000000 ``` #### 10. FAT文件系统指令 U-Boot支持对FAT文件系统的操作。 **命令**: - `fatls`: 列出FAT文件系统上的文件。 - `fath`: 在FAT文件系统中查找文件。 - `fatrm`: 删除FAT文件系统上的文件。 - `fathcp`: 将文件从主机复制到FAT文件系统。 **示例**: ```bash [u-boot@MINI2440]# fatls /dev/mmcblk0p1 mmcblk0p1: 0x00000000 0x00000000 file.bin 0x00000000 0x00000000 boot.scr ``` #### 11. 系统引导指令 用于控制系统的启动过程。 **命令**: - `bootm`: 从内存启动应用镜像。 - `bootz`: 启动压缩的内核镜像。 - `bootp`: 通过网络启动镜像。 - `bootefi`: 启动EFI格式的镜像。 **示例**: ```bash [u-boot@MINI2440]# bootm 0x10000000 ## Booting from memory at 0x10000000 ... ## Loading: ################################################################ ## OK: loaded 102400 bytes in 2.500 seconds ``` #### 12. EEPROM 读写指令 EEPROM可用于存储小量数据。 **命令**: - `eeprom read`: 从EEPROM读取数据。 - `eeprom write`: 向EEPROM写入数据。 **示例**: ```bash [u-boot@MINI2440]# eeprom read 0x0 0x10 0x00000000: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000010: 0x00000000 0x00000000 0x00000000 0x00000000 ``` #### 13. 设置和读取RTC指令 RTC(实时时钟)用于维持时间信息。 **命令**: - `rtc`: 读取RTC时间。 - `rtcs`: 设置RTC时间。 **示例**: ```bash [u-boot@MINI2440]# rtc Current time is: Sat Apr 04 12:09:25 2010 ``` #### 14. 脚本运行指令 U-Boot支持执行脚本文件。 **命令**: - `source`: 执行脚本文件。 **示例**: ```bash [u-boot@MINI2440]# source boot.scr ``` #### 15. 系统重启指令 用于重启系统。 **命令**: - `reset`: 重启系统。 **示例**: ```bash [u-boot@MINI2440]# reset Resetting system... ``` #### 结论 U-Boot提供了一套强大的命令集合,覆盖了从基本的设备初始化到复杂的系统管理任务。通过对这些命令的学习和实践,开发者能够更好地利用U-Boot的功能,从而实现更高效的嵌入式系统开发。
2025-06-15 17:24:14 121KB boot command 使用说明
1
Command模式是一种行为设计模式,它将请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。在C#编程中,利用.NET框架的特性,如委托和泛型,我们可以优雅地实现Command模式。 我们来理解Command模式的基本结构。模式包含以下几个角色: 1. **Command**(命令):声明一个接口,用于接收执行请求的方法。 2. **ConcreteCommand**(具体命令):实现了Command接口,知道如何接收请求并调用接收者的相应操作。 3. **Invoker**(调用者):持有Command对象并调用其Execute方法来执行请求。 4. **Receiver**(接收者):知道如何执行与请求相关的操作。 在C#中,我们可以使用委托作为Command接口的实现,因为它可以表示一个方法调用。例如: ```csharp public delegate void Command(object parameter); ``` 接下来,创建具体的命令类,如`ConcreteCommandA`和`ConcreteCommandB`,它们分别实现特定的功能: ```csharp public class ConcreteCommandA : Command { private Receiver _receiver; public ConcreteCommandA(Receiver receiver) { _receiver = receiver; } public override void Execute(object parameter) { _receiver.ActionA(parameter); } } public class ConcreteCommandB : Command { private Receiver _receiver; public ConcreteCommandB(Receiver receiver) { _receiver = receiver; } public override void Execute(object parameter) { _receiver.ActionB(parameter); } } ``` 接收者类`Receiver`包含命令需要执行的具体操作: ```csharp public class Receiver { public void ActionA(object parameter) { // 执行操作A } public void ActionB(object parameter) { // 执行操作B } } ``` 调用者`Invoker`持有命令对象并调用`Execute`方法: ```csharp public class Invoker { private Command _command; public void SetCommand(Command command) { _command = command; } public void ExecuteCommand() { _command.Execute(null); // 可以传递参数 } } ``` 现在,你可以根据需求创建不同的具体命令实例,并在调用者中设置它们: ```csharp public static void Main(string[] args) { Receiver receiver = new Receiver(); Invoker invoker = new Invoker(); invoker.SetCommand(new ConcreteCommandA(receiver)); invoker.ExecuteCommand(); // 执行操作A invoker.SetCommand(new ConcreteCommandB(receiver)); invoker.ExecuteCommand(); // 执行操作B } ``` 至于泛型,它允许Command模式更加灵活。通过定义泛型委托,你可以创建能处理不同类型命令的通用命令接口。例如: ```csharp public delegate void GenericCommand(T parameter); ``` 这样,`ConcreteCommandA`和`ConcreteCommandB`可以修改为接受特定类型参数: ```csharp public class ConcreteCommandA : GenericCommand { private Receiver _receiver; public ConcreteCommandA(Receiver receiver) { _receiver = receiver; } public override void Invoke(T parameter) { _receiver.ActionA(parameter); } } // 类似地,为ConcreteCommandB实现 ``` 通过这种方式,Command模式在C#中的实现结合了.NET的委托和泛型,使得代码更加灵活、易于扩展和维护。同时,提供的示例代码如`Command_Demo.zip`、`Command_cs.zip`和`An-implementation-of-Command-pattern-in-C.pdf`将提供更深入的实践理解和应用案例。
2024-11-28 16:20:47 175KB Windows .NET WinXP Win32
1
### VESA Monitor Control Command Set (MCCS) Standard Version 2 Revision 2 #### 标准概述 VESA Monitor Control Command Set (MCCS) Standard Version 2 Revision 2 是由 Video Electronics Standards Association (VESA) 发布的一项标准,旨在为显示器提供一套标准化的命令集与控制方式。此标准于 2009 年 1 月 19 日发布,其主要目的是在保持与 MCCS 2.1 版本完全兼容的基础上,整合 Virtual Control Panel (VCP) 代码以及采用自 MCCS V3.0 的文档格式。 #### 目的 该版本的主要目标是: - 整合 Virtual Control Panel (VCP) 代码及其文档格式。 - 维持与 MCCS V2.1 的完全兼容性。 - 定义了所有 MCCS VCP 代码的合规性要求。 - 增强 Direct Drive Monitor (DDM) 显示器中的性能表现。 #### 标准内容概览 该文档详细介绍了用于识别和控制通过应用程序运行在连接主机上的显示器的一系列标准化命令和控制。这些命令和控制虽然被精简到最少数量,但支持几乎所有与显示器屏幕设置相关的参数控制。值得注意的是,该标准并没有描述如何通过特定视频接口协议来通信这些命令。 此外,文档还假设连接显示器到主机的视频接口可以发出未请求的注意呼叫(中断或热插拔检测 HPD),以通知主机发生了一些超出主机控制范围的事情。该标准的目标设备是连接到 PC、工业显示控制器或消费电子源的显示器,但并不局限于这些领域。 #### 版本 3 的目的及变化 版本 3 包括多个目的: - 纠正已知错误。 - 澄清某些 VCP 代码的使用方法。 - 对部分 VCP 代码进行新定义。 - 引入新的 VCP 代码。 此修订版融合了这些修正、澄清和新定义,但为了保持向后兼容性而重新定义了必要的部分。此外,该修订版不再支持并保留了未来可能不会使用的 VCP 代码 C7h(Display Enable Key)和 VCP 代码 13h(Backlight Control),因为这两个代码并未达到预期的效果。此外,版本 3 中增加的合规性要求被包含在所有定义的 VCP 代码中,除了 Digital Packet Video Link (DPVL) 支持组。 #### VCP 代码 VCP 代码是一组特定的指令,用于控制显示器的各种功能,包括亮度、对比度、色彩调整等。这些代码使得主机能够直接与显示器通信,实现对显示参数的精细控制。MCCS 标准中定义了一系列 VCP 代码,它们按照一定的格式和结构组织起来,以确保各种显示器之间的一致性和互操作性。 - **VCP Code C7h (Display Enable Key)**:最初设计用于控制显示器的开启/关闭功能,但由于未能达到预期效果,在此修订版中已被废弃。 - **VCP Code 13h (Backlight Control)**:用于控制显示器背光强度的功能,同样因未达到预期效果而在修订版中被废弃。 #### 向后兼容性 为了确保新版标准能够无缝地与先前版本兼容,修订版特别注意了以下几个方面: - 在引入新功能的同时,确保旧有功能的可用性。 - 对于被废弃的 VCP 代码,提供了明确的指导原则以避免混淆。 - 保持核心架构不变,只对必要部分进行修改。 #### 结论 VESA Monitor Control Command Set (MCCS) Standard Version 2 Revision 2 是一个重要的行业标准,它为显示器制造商和软件开发者提供了一套标准化的命令集,使得显示器控制更加统一和高效。通过不断改进和完善,该标准不仅增强了显示器的性能,还促进了行业的技术进步和发展。
2024-08-26 08:42:14 699KB VESA Monitor Command Standard
1
Command_WorkStation中文操作说明书
2023-12-24 22:44:04 2.08MB
1
骐骏模块 GSM 模块 AT指令集,指令手册参考。使用骐骏模块必备
2023-06-19 20:13:23 4.39MB 通信模块
1
版本21.13 更新日期Feb 2022 详细解释了Innovus中各指令和参数
2023-04-10 15:47:56 60.07MB Innovus P&R
1
PGP是世界顶级的加密软件,介绍如下: PGP Command Line 是一款加密工具,可加密大量的批处理信息、维护备份过程安全,用户能在自动运行脚本中插入PGP加密和数字签名功能,确保信息在传递、存储或备份过程中的安全。这是PGP的命令行工具.允许组织对秘密信息进行自动加密和签名。 PGP Command Line产品特性: 1.该产品为信息安全负责人员和IT管理员提供了广泛的功能。 2.编密码集成简单——利用脚本语言和选择工具,IT管理员可以将编密码和数字签名集成到批处理程序中。IT工作人员也可以利用他们当前的脚本工具,无需学习新的脚本或配置工具,就可以提供一个简单的途径,将编密码集成到构建好的批处理结构中。 3. 全面数据保护——通过在系统文件级进行加密,PGP Command Line不仅确保了数据的传输安全,同时还实现了在网络两端的安全保存。数据以加密形式保存,避免了未授权的信息访问。将PGP Command Line集成到批处理中,公司能够遵循团体的信息安全要求。 4.ADK技术——PGP Command Line确保全部信息加密为ADK,可以按照企业规则实现以后的复原。如果密钥丢失或不可用,或者需要访问加密数据时,公司可以通过ADK对信息解密并复原数据,这样就降低了数据损失概率。有些公司需要经常保护客户和自身信息,同时还要确保数据能够访问或检查,ADK功能就显得尤其重要。 5.标准方案——PGP Command Line同其他支持OpenPGP 和X.509密钥格式的产品无缝协作,同时支持PGP Keyserver和X.509 LDAP Directory协议。这就增加了企业的灵活性,允许企业根据自身的需求采取混合匹配的最佳方案,最大化其技术投资。 6.可信赖的PGP技术——所有PGP产品都是构建於PGP软件开发包(SDK)之上,提供了强有力的加密、数字签名等其他保密功能。PGP SDK 3.0.3已经获得FIPS 140-2证明。 7.公共源代码——PGP产品源代码公开可用,第三方可以验证标准的加密算法,来证实PGP产品的安全性。 这个注册机可以激活PGP Command Line 10.3.2 MP11
2023-04-04 17:40:46 731KB PGP KeyGen
1
命令行聊天室 使用多线程和 TCP、UDP 连接用 C++ 编写的 Linux 多房间聊天 与服务器的连接基于 tcp,在每个房间或私人聊天中,连接都是基于 UDP 的 P2P
2023-03-13 15:45:27 764KB C++
1
HUAWEI ME909u-521 LTE LGA Module AT Command Interface Specification LTE模块AT指令集
2023-03-01 15:54:52 3.05MB HAIWEI MU909 AT
1