AT 指令集详解

2023-05-16

AT 指令集详解

  • 1.AT的历史与应用
    • 1.1 AT的历史
    • 1.2 AT的优点
    • 1.3 AT命令与ppp协议的关系
  • 2.AT的命令格式
  • 3.DCE的状态切换与AT的命令拨号流程
    • 3.1.初始化DCE的Modem设备
    • 3.2 拨号连接
    • 3.3 数据传输及处理
    • 3.4 从数据状态切换至在线命令状态
  • 4.常用AT命令
    • 4.1 基本操作
    • 4.2、通话操作
    • 4.3、短信息操作

https://blog.csdn.net/yt0813/article/details/88390924

因为指导学员做3G网卡应用,需要用到AT命令.因此整理这一篇文档.

1.AT的历史与应用

1.1 AT的历史

AT命令集是由拨号调制解调器(MODEM)的发明者贺氏公司(Hayes)为了控制Modem发明的控制协议.AT是Attention的缩写,协议本身采用文本.每个命令均以AT打头,因此得名.这段历史参见 http://en.wikipedia.org/wiki/Hayes_command_set

随着网络升级为宽带,速度很低拨号MODEM基本已经退出一般使用市场.我最近一次看见使用拨号MODEM的地方是深圳市的网络报税系统.必要拨号到税务局的服务器才能使用。也就在这个很小的市场才留到一点空间。其余一般都用上ADSL的modem了。

贺氏公司象很多发明伟大的产品的公司一样,在发明了划时代的MODEM产品后,没有进一步升级技术。现在已经于1999年破产消失了,类似的例子有发明浏览器的Netscape,第一个成为网络操作系统的Novell公司,现在都已经边缘化了。
关于Hayes的破产,还能找到一个旧闻http://news.sina.com.cn/richtalk/news/tech/9901/010704.html
但是有意思,http://www.hayes.com仍在销售产品,难到又活过来了?

但是AT命令保留下来了。主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和HP共同为GSM 研制了一整套AT指令,用于控制手机GSM模块。其中就包括对SMS的控制。AT指令在此基础上演化并被加入GSM 07.05标准以及现在的GSM07.07标准。
在随后的GPRS控制,3G模块,以及工业上常用的PDU,均采用AT命令集来控制,这样AT命令实际在这一些产品上成为事实的标准。

1.2 AT的优点

命令简单易懂,并且采用标准串口来收发AT命令,这样对设备控制大大简化了,转换成简单串口编程了。
AT命令提供了一组标准的硬件接口–串口。这个简化的硬件设计.较新的电信网络模块,几乎都采用串口硬件接口。
AT命令功能较全,可以通过一组命令完成设备的控制,完成呼叫、短信、电话本、数据业务、传真.

1.3 AT命令与ppp协议的关系

在数据通讯的应用中,比如说无线拨号上网。除了AT命令,还会常听到另外一个网络协议ppp(Point to Point Protocol)。

在应用串口通讯的场合,我们可以从硬件上明确看到分为两大块。

DTE(Data Terminal Equipment)数据终端设备。通常是一个智能设备,如PC机,嵌入式主机等,用于发送AT命令和PPP命令,
还有用于链路通讯的DCE(Data Circuit Terminal )数据电路终端。用于与外界建立通讯的链路。
DTE与DCE之间用串口相连。比如PC机用串口接入拨号MODEM时,PC机是DTE,拨号MODEM是DCE.

AT和PPP的相同点都是由DTE发送给DCE的协议。不同点是AT只用于DTE来控制DCE。比如初始化设备,用于发送呼叫,发送短消息等,虽然AT有规范,但是大部分DTE产商都扩展了一些AT命令。

而PPP是用于数据通讯,是DTE与远程的接入服务器(Access Server)进行通讯的协议。是属于网络通讯的数据链路层协议,DCE本身收到PPP包时,除了将其调制到物理层上发送到远端服务器外,本身并不处理PPP的内容。
在这里插入图片描述

2.AT的命令格式

AT指令格式:AT指令都以”AT”开头,以(即\r,回车符)结束,模块运行后,串口默认的设置为:8位数据位、1位停止位、无奇偶校验位、硬件流控制(CTS/RTS).
注意为了发送AT命令,最后还要加上 (即\n,换行符)这是串口终端要求.
有一些命令后面可以加额外信息来.如电话号码

每个AT命令执行后,通常DCE都给状态值,用于判断命令执行的结果.

AT返回状态包括三种情况 OK,ERROR,和命令相关的错误原因字符串.返回状态前后都有一个字符.
如 OK 表示AT命令执行成功.
ERROR 表示AT命令执行失败
NO DIAL TONE 只出现在ATD命令返回状态中,表示没有拨号音,这类返回状态要查命令手册

还有一些命令本身是要向DCE查询数据,数据返回时,一般是+打头命令.返回格式
+命令:命令结果
如:AT+CMGR=8 (获取第8条信息)
返回 +CMGR: “REC UNREAD”,"+8613508485560",“01/07/16,15:37:28+32”,Once more

3.DCE的状态切换与AT的命令拨号流程

这两个协议都是DTE通过串口发往DCE。那DCE是如何区别是AT命令,如何区别PPP协议包?大部分DCE是采用分时段传送的,两个协议并不同时发送。但是可以通过AT命令两个专用命令来用切换是AT命令时段,还是PPP协议时段。

在发送AT命令时称为命令状态,在发送PPP包时或者语音通讯时称为数据状态。

在modem设备启动进,默认进入AT命令接收状态,用ATDn ;命令拨出电话号码n(语音拨号);ATDn 拨出电话号码n(数据拨号),两者区别在于前者有一个分号。用数据拨号拨通后,将进入PPP交互状态。当需要切回接收AT命令状态,DTE需要发送+++命令给DCE.让其保持在线的状态时,但接收是AT命令.如果此时需要切断链接,此时发送ATH挂断命令.
注意发送+++需要前后各一秒的时间。否则会当成数据发送出去。

ATO则是把在线命令状切换到数据接收状态。

在这里插入图片描述
一个DCE的拨号流程是

3.1.初始化DCE的Modem设备

主要DTE要配置好串口参数,并且向设备发送一些AT命令来进行初始化设置。

行软复位的需执行”ATZ\r”命令;

禁止命令回显需执行”ATE0\r”命令;
要使返回结果码为数字形式则要执行”ATV0\r”;
需要设置S 寄存器的需执行”ATSn=X\r”等等。

3.2 拨号连接

AT拨号连接分语音拨号连接和数据拨好连接。语音拨号命令为”ATDn;\r”(注意带分号);数据拨号命令为”ATDn\r”(注意不带分号)。连接成功返回”\r\nCONNECTXXXX/RLP\r\n”,其中XXXX 表示连接速率。在这里我们只讨论数据拨号连接。要注意的是拨号连接需要一定的时间,编程时要根据实际情况进行适当的延时等待。

3.3 数据传输及处理

在建立起连接后用户就可通过DCE进行数据发送、接收及数据处理操作。这时发送数据就是简单的写串口,收数据是读串口,即使数据中含有AT 命令字符串DCE也不会对其进行处理。此时进行PPP拨号处理流程了。

3.4 从数据状态切换至在线命令状态

数据收发结束后,就要使DCE从数据状态切换至在线命令状态。向DCE发送换码序列命令”+++”,并且前后各有至少一秒的延迟(不向TC35 发数据),可使DCE从数据状态切换至在线命令状态,否则DEC会将”+++”当作数据发送出去。在离线命令状态时发送”ATO\r”可回到数据状态。
3.5 挂断连接
挂断连接(即挂机)是向DCE发送”ATH\r”

4.常用AT命令

不同产商的AT命令大同小异,但是还是有所区别,一般要看产品手册,如下列产商的

西门子 TC35i 的 http://www.sendsms.cn/download/TC35i_AT_C.pdf
Nokia的 http://wiki.forum.nokia.com/index.php/AT_Commands
华为CM300 http://www.sangrong.com/download/cm300.pdf

这里罗列一些常见的AT命令

4.1 基本操作

1.1 AT
命令解释:检测Module与串口是否连通,能否接收AT命令;
命令格式:AT
命令返回:OK (与串口通信正常)(无返回,与串口通信未连通)

1.2 AT+CSQ
命令解释:检查网络信号强度和SIM卡情况
命令格式:AT+CSQ
命令返回:+CSQ: ,##
其中应在10到31之间,数值越大表明信号质量越好,##应为99。
否则应检查天线或SIM卡是否正确安装
测试结果:AT+CSQ
+CSQ: 31, 99
信号强度值会有少许变化,用手遮住天线,信号强度值会下降(大致在26左右)。
1.3 ATZ
命令解释:恢复原厂设置
命令格式:ATZ
命令返回:OK

1.4 AT+CGMR
命令解释:查询模块版本;
命令格式:AT+CGMR
命令返回:
+CMEERROR
测试结果:AT+CGMR
R4A021 CXC1122528
OK
解释:模块版本号为R4A021

1.5 AT+IPR
命令解释:修改串口1波特率;
命令格式:AT+IPR=
命令返回: ERROR
OK
测试结果:AT+IPR=19200
OK
注意:串口波特率修改为19200后要把串口调试工具的波特率设为相应
波特率后模块才会有返回

1.6 AT&W
命令解释:保存模块设置;
命令格式:AT&W
命令返回: OK
ERROR(保存不成功)
测试结果:AT&W
OK

4.2、通话操作

2.1ATD
命令解释:拨打电话
命令格式:ATD**********;(****为电话号码)
命令返回:OK
NO DIAL TONE(没有拨号音)
NO CARRIER(无载波)
测试结果:a. ATD13510090403;
OK
呼叫成功;
b. ATD13510090403;
NO DIAL TONE
天线未接好,接触不良;
c. ATD13510090403
NO CARRIER
命令错误,缺{;};
2.2 RING
命令解释:有电话呼入
命令格式:
命令返回:无

2.3 ATA
命令解释:摘机
命令格式:ATA
命令返回:OK
测试结果:RING
RING
ATA
OK
接通电话;

2.4 ATH
命令解释:挂机
命令格式:ATH
命令返回:OK
测试结果:ATH
OK
电话挂断(通话过程中);

2.5 AT+CHUP
命令解释:挂机
命令格式:AT+CHUP
命令返回:OK
测试结果:RING
ATH
OK
电话挂断(尚未接通来电);

2.6AT+VTS
命令解释:拨打分机
命令格式:AT+VTS=“分机号码”
命令返回:OK
测试结果:
AT+VTS=“0”
OK

4.3、短信息操作

短信操作步骤及相关命令:
(1) 设置短信格式——AT+CMGF
(2) 设置短信存储载体——AT+CPMS
(3) 设置短信接收提示方式——AT+CNMI
(4) 发送短信——AT+CMGS
(5) 显示短信——AT+CMGL

3.1 AT+CPMS
命令解释:选择短信存储载体

3.1.1命令格式:AT+CPMS=[,][,]
设置短信存储载体
命令返回:+CPMS:,
OK
ERROR
测试结果:a. AT+CPMS=”SM”
+CPMS: 8,15,8,15,1,40
OK
设置成功,并显示状态:SM(SIM卡)存储器总容量为15,当前存储量8;
ME(模块)存储器总容量为40,当前存储量1;mem1定义为SM;
b. AT+CPMS=”SM”,”SM”
+CPMS: 8,15,8,15,1,40
OK
设置成功,并显示状态:SM存储器总容量为15,当前存储量8;
ME存储器总容量为40,当前存储量1;mem1定义为SM;mem2
定义为SM;
c. AT+CPMS=”SM”,”SM”,”SM”
+CPMS: 8,15,8,15,8,15
OK
设置成功,并显示状态:SM存储器总容量为15,当前存储量8;
ME存储器总容量为40,当前存储量1;mem1定义为SM;mem2
定义为SM;mem3定义为SM;
d. AT+CPMS=”ME”,”SM”,”SM”
+CPMS: 1,40,8,15,8,15
OK
设置成功,并显示状态:SM存储器总容量为15,当前存储量8;
ME存储器总容量为40,当前存储量1;mem1定义为ME;mem2
定义为SM;mem3定义为SM;
e. AT+CPMS=”ME”,”SM”,”ME”
+CPMS: 1,40,8,15,1,40
OK
设置成功,并显示状态:SM存储器总容量为15,当前存储量8;
ME存储器总容量为40,当前存储量1;mem1定义为ME;mem2
定义为SM;mem3定义为ME;
f. AT+CPMS=”ME
ERROR
命令格式错误,缺少{”};

3.1.2命令格式:AT+CPMS?
显示当前短信存储载体设置
命令返回:+CPMS:,
,
OK
ERROR
测试结果:a. AT+CPMS?
+CPMS: “SM”,8,15,“SM”,8,15,“ME”,1,40
OK
当前短信存储载体设置为:mem1为SM,mem2为SM,mem3
为ME;
b. AT+CPMS!
ERROR
命令错误;

3.1.3命令格式:AT+CPMS=?
显示本命令支持的参数
命令返回:+CPMS: (list of supporteds),(list of supporteds),
(list of supporteds)
OK
ERROR
测试结果:AT+CPMS=?
+CPMS: (“ME”,“SM”),(“ME”,“SM”),(“ME”,“SM”)
OK

3.2 AT+CMGF
命令解释:设置短信格式
3.2.1命令格式:AT+CMGF=
命令返回:OK
ERROR
设置短信格式

3.2.2命令格式:AT+CMGF=?
命令返回:OK
ERROR
显示本命令支持的参数

3.2.3命令格式:AT+CMGF?
命令返回:OK
ERROR
显示当前短信格式
测试结果:AT+CMGF=?
+CMGF: (0,1)
OK
AT+CMGF?
+CMGF: 0
OK
AT+CMGF=1
OK
AT+CMGF?
+CMGF: 1
OK

3.3 AT+CMGS
命令解释:发送短信
命令格式:AT+CMGS=[,]
Text is entered<ctrl-z/ESC>
命令返回:+CMGS:[,]
+CMS ERROR:
OK
ERROR
测试结果:a. AT+CMGS=13510090403

ABCD1234.456
+CMS ERROR:500
命令错误;
b. AT+CMGS=“13510090403”

IT IS TEST NOW
+CMGS: 235
OK

3.4 AT+CMGR
命令解释:读短信
命令格式:AT+CMGR=
命令返回:+CMGS:,[],]
+CMS ERROR:
OK
ERROR
测试结果:a. AT+CMGR=5
+CMS ERROR:500
命令错误,5号短信位置为空;
b. AT+CMGR=2
+CMGL: 2,“REC READ”,"+8613682326205",“N?R”,“03/08/28 17:30:35+00”
998B76844F60002E518D5FCD5FCD5427+CMGS: 235
OK
读出2号短信;

3.5 AT+CMGW
命令解释:写短信,并保存到存储载体
命令格式:AT+CMGW=[,]
命令返回:+CMGS:
+CMS ERROR:
OK
ERROR
测试结果:AT+CMGW=“13534139079”

SHELLEY123456
+CMGW: 1
OK
把目标地址为13534139079的短信存入存储载体,且被分配的地址
为1号短信;

3.6 AT+CMGD
命令解释:删除短信
命令格式:AT+CMGD=
命令返回:+CMS ERROR:
OK
ERROR
测试结果:AT+CMGD=1
OK
1号短信被删除;

3.7 AT+CMGL
命令解释:显示短信清单
命令格式:AT+CMGL=
命令返回:+CMGL:,<oa/da>,[],[] [,<tooa/toda>,]
[
测试结果:见总测试结果;

3.8 AT+CMSS
命令解释:发送存储载体中的短信
命令格式:AT+CMSS=
命令返回:+CMSS:
+CMS ERROR:
OK
ERROR
测试结果:AT+CMSS=2
+CMSS: 204
OK

3.9AT+CNMI
命令解释:新短信提示
3.9.1命令格式:AT+CNMI=[[,[,[,]]]]
命令返回:OK
ERROR
测试结果:AT+CNMI=3,2
OK

3.9.2命令格式:AT+CNMI?
命令返回:+CNMI:,
OK
ERROR
测试结果:AT+CNMI?
+CNMI: 3,2,0,0
OK

3.9.3命令格式:AT+CNMI=?
命令返回:+CNMI:(list of supporteds), (list of supporteds), (list of supporteds),
(list of supporteds)
OK
ERROR
测试结果:AT+CNMI=3,2
OK

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AT 指令集详解 的相关文章

  • 树莓派报错“Cannot currently show the desktop”的完美解决办法

    最近在利用树莓派部署神经网络的时候出现了一些大大小小的问题 xff0c 很多问题都可以在网上直接或间接地找到答案 xff0c 但有个别问题即使按照网上的高赞博客说的去做了仍然没用 笔者根据最近遇到的有关树莓派VNC win10远程桌面连接
  • Nvidia Jetson XAvier NX开发套件从装机到pytorch环境搭建YoloV5+DeepSort+TensorRT

    目录 1 刷机与装机1 1 准备VMware工作站和linux的unbuntu16 04虚拟机 xff1a 1 2 将SD上的系统移动至SSD1 3 SSH配置1 4 查看Jetpack版本1 5 启动风扇 2 深度学习环境配置2 1 py
  • Python+OpenCV+matplotlib+wxPython实现的图像处理程序

    Python 43 OpenCV 43 matplotlib 43 wxPython实现的图像处理程序 背景 xff1a 本学期多媒体技术原理与应用课程的实验部分代码结果截图结语 背景 xff1a 本学期多媒体技术原理与应用课程的实验 本学
  • 按量购买阿里云服务器、k8s集群

    基础配置 创建私有网络 注意这里的交换区必须和服务器的所选区相同 连接测试 ping a 172 31 0 141 172 31 0 143 172 31 0 142 ping一下私有网络 ping 172 32 0 141 设置弹性ip
  • 小米6渲染图曝光 边框惊艳 国产曲面旗舰要发黑色版

    昨天咱们刚刚说过 小米6会有陶瓷版本 并且估计会在四月发布 今天 网友的渲染图又来了 没上车的赶紧上车 别忘了底部打卡 最近 对于小米6的传言很众多 xff0c 但不管怎么说 xff0c 骁龙835处理器 IMX400传感器以及高屏占比等都
  • 时间戳对齐的简单算法(原创)

    实际融合算法过程中常常出现时间戳对不齐的情况 为了解决此问题 xff0c 用了两个队列来解决时间戳匹配问题 时间戳对齐算法实现原理如下下图为插入状态 如图所示共有两个队列 xff0c 有七个状态 xff0c 通过对于轮速递推结果的动态保存
  • java中equals和==的区别(简单介绍)

    java中equals和 61 61 的区别 简单介绍 equals方法是java lang Object类的方法 有两种用法说明 一 对于字符串变量来说 xff0c 使用 61 61 和 equals 方法比较字符串时 xff0c 其比较
  • 如何上传到GitHub的main分支而不是master分支

    由于在2020年10月01日后 xff0c 在 GitHub 上创建的仓库都默认命名为 main 而非原本的 master 所以 有人看了我的 https blog csdn net m0 46419510 article details
  • Python中的Pandas、Matplotlib库详解

    文章目录 Pandas数据分析库Pandas的基本数据结构访问数据算术运算和对齐数据整理 Matplotlib绘图库Matplotlib简介几种常见的图形多图绘制使用Pandas绘图 Pandas数据分析库 1 xff09 Pandas是目
  • 卡尔曼滤波模型及Matlab模型建立

    目录 一 卡尔曼滤波 1 概念解析 xff1a 2 卡尔曼滤波的最优估计模型 3 实例 小车匀加速直线运动 4 Matlab建模 二 扩展卡尔曼滤波 xff08 EKF Extended KAlman Filter xff09 1 非线性系
  • 智能车 PID 调试

    智能车 PID 调试 文章目录 智能车 PID 调试学习目的开环控制与闭环控制开环控制闭环控制小结 PID 概述简介PID 公式 xff1a 舵机 PID分析算法 电机 PID分析算法调试口决 注意事项 学习目的 使电机速度和舵机转向更精准
  • ORBSLAM2系统学习(二)

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 目录 前言 一 ORBSLAM2简介 二 系统综述 系统框架 追踪线程Tracking 局部建图线程local mapping 回环检测l
  • QT-串口调试助手自动定时收发、十六进制转换

    这篇调试助手比较详细 xff1a 不仅有十六进制转换 串口自动识别还有自动发送等功能 程序链接 xff0d xff0d 欢迎关注哦 https download csdn net download m0 46436890 13793486
  • [记录]webpack打包引用了fluent-ffmpeg的js报错解决

    参考博客 xff1a Cannot resolve module fs npm 编译失败 xff1a Can t resolve child process
  • 2020年三非上岸北邮计算机院考研经验贴(励志)

    64 TOC 两次北邮考研经验 前言 xff1a 这是我两次考北邮的日常生活的点点滴滴 xff0c 我不是什么名校出身 xff0c 也不是什么学霸 xff0c 但是有梦想终归会成功的 xff0c 希望我的经历能够带给你们一些鼓励 xff0c
  • 23条养生小常识,赶紧看看吧,千万不要错过!

    一 情绪不畅容易生病 天气多变时 xff0c 人们情绪很容易受气候的影响而抑郁 xff0c 情绪变化也影响了食欲 xff0c 从而引发胃病 在胃病的预防上要重视精神与饮食的调摄 xff0c 一个人经常情绪不畅 xff0c 很容易被疾病侵袭
  • Windows上安装GPU版本TensorFlow的详细安装步骤

    1 检查并安装VS环境 安装GPU版本的TensorFlow xff0c 首先需要检查VS环境 xff0c 如果没有需要安装 xff0c 但是VS全部安装会占内存 xff0c 因此可以去Download Visual C 43 43 Red
  • ISE14.7逻辑综合与实现工作过程

    1 1 ISE14 7逻辑综合与实现工作过程 1 1 1 本节目录 1 本节目录 2 本节引言 3 FPGA简介 4 ISE14 7逻辑综合与实现工作过程 5 结束语 1 1 2 本节引言 不积跬步 无以至千里 不积小流 无以成江海 就是说

随机推荐

  • (4)FPGA开发工具介绍(第1天)

    4 FPGA开发工具介绍 第1天 1 文章目录 1 文章目录 2 FPGA初级课程介绍 3 FPGA初级课程架构 4 FPGA开发工具介绍 第1天 5 技术交流 6 参考资料 2 FPGA初级课程介绍 1 FPGA初级就业课程共100篇文章
  • (02)Shell脚本【可执行程序】

    02 Shell脚本 可执行程序 1 目录 1 1 Shell脚本简介 1 2 nbsp Shell脚本文件 1 3 nbsp Shell脚本作用 1 4 nbsp Shell运行环境 1 5 nbsp Shell脚本 可执行程序 1 6
  • AD20知识补充及四层板了解

    之前自己动手画过一个stm32c8t6最小系统的板子 xff0c 但由于当时学的比较仓促对AD的很多东西不了解 xff0c 如今想了解四层板子 xff0c 就从b站上把AD20从新建项目工程到最后画完板子整个完整的流程又重新学习了一遍 xf
  • 常用服务器和存储设备管理口默认IP用户名密码汇总(持续更新)

    一 服务器设备默认管理 1 宝德4卡服务器 默认用户名 xff1a ADMIN 密码 xff1a 11111111 2 超微服务器 默认用户名 xff1a ADMIN 密码 xff1a admin000 默认用户名 xff1a ADMIN
  • RS232,RS485原理与应用

    Uart存在的问题 1 没有一个统一连接器的标准 xff0c 且只规定了数据传输的顺序 xff08 只规定了两根线 xff09 2 只规定了高电平为1 xff0c 低电平为0 xff08 例 xff1a 51是5v xff0c stm32为
  • STM32的面试题

    一 STM32F1和F4的区别 1 内核不同 xff1a F1内核为cortex m3 xff0c F4为cortex m4 2 主频不同 xff1a F1主频72MHz xff0c F4168MHz xff08 主频就是CPU内核时钟频率
  • GCC【3】-Win10 + CMake + MinGW+搭建STM32 GCC开源开发环境

    文章目录 前言一 安装git bash二 安装MinGW MinGW w642 1 MinGW是什么 xff1f 2 2 MinGW gcc安装简图2 2 MinGW make安装简图 三 安装Make for Windows3 1 下载安
  • Zookeeper集群无法启动的原因分析

    Zookeeper集群无法启动的原因分析 xff1a centos7上搭建三台zookeeper xff0c 相关文件配置没有问题 问题描述 xff1a span class token punctuation span atguigu 6
  • 美女体验小米无人机4K版:直接解锁新手模式

    其实说实话 xff0c 这小米无人机4K版我们拿到手上已经挺长时间的了 但是奈何全北京禁飞 xff0c 所以一直没有机会飞飞看 xff0c 于是我们就在解禁之后的第一时间 xff0c 跑到了六环外为大家带来试飞 就让我们从开箱开始 xff0
  • intel realsense摄像头标定教程(win10环境)

    intel realsense摄像头标定教程 准备工具 Intel RealSense D400 Series Dynamic Calibration Toolsprint target fixed width pdf或者对应手机app I
  • TCP网络编程例子(C语言实现)

    说明 xff1a 之前在CSDN上找TCP编程时 xff0c 发现有各种版本 不同版本之间写法不一 xff0c 所以自己写了个C语言版本的 xff0c 记录下来 服务端代码 xff1a span class token comment TC
  • D435i相机的标定及VINS-Fusion config文件修改

    引言 当我们想使用D435i相机去跑VINS Fusion时 xff0c 如果不把标定过的相机信息写入config文件中就运行 xff0c 这样运动轨迹会抖动十分严重 xff0c 里程计很容易漂 接下来将介绍如何标定D435i相机 xff0
  • 【C语言】--- while(1)语句内的if(i--)的无限循环

    例子 span class token macro property span class token directive keyword include span span class token string lt stdio h gt
  • uC/OS-III移植后发现程序停在空闲任务出不来

    今天移植了一下UCOS III的源码到STM32F103RCT6的板子上 xff0c 然后发现在所有任务都初始化完成后 xff0c 使用OSTimeDlyHMSM函数进行延时后就再也跳不出空闲任务了 xff0c 当时还以为是在移植程序的时候
  • 对uC/OS-III时钟节拍运转机制的一点理解

    目录 如何产生时基信号系统时钟中断管理时基任务时基列表更新写在最后 我在初学uC OS III的时候 xff0c 时基产生后到底是如何去驱动操作系统运转的 xff0c 对于这个问题一直有很多疑问 xff0c 最后读了手册并且仔细推敲源码后终
  • Altium Designer 常见的问题和解决办法,常更!

    本人的Altium Designer 版本是18 1 8 问题1 xff1a AD左上角有一个坐标显示框 xff0c 今天按键盘不小心弄没了 xff0c 然后弄出来后发现又会随着鼠标移动跟着移动 xff0c 不再固定到左上角了 相关解释 x
  • 推荐一款串口调试助手(win10,无广告,功能齐全,操作简单)

    目录 1 安装2 打开软件3 测试功能4 使用脚本功能5 波形显示功能6 升级专业版 作为一个搞嵌入式软件的 xff0c 串口是我们经常需要使用的一个外设资源 xff0c 对应的我们在调试的时候就需要用到一些工具 xff0c 本人也用过目前
  • STM32L1单片机的ADC必须开启HSI才能工作

    之前玩过F1和F4的板子 xff0c 这段时间 xff0c 接个项目需要用低功耗 xff0c 所以就整了STM32L151单片机 xff0c 然后今天在写ADC的时候 xff0c 发现了一个问题 xff0c 就是STM32L151MCU必须
  • 深入理解Linux文件系统与日志文件,快来看!

    目录 一 inode与block1 1 inode和block概述1 2 inode的内容 1 11 3 inode的内容 1 21 4 inode的内容 1 31 5 inode的号码1 6 文件存储小结1 7 inode的大小1 8 i
  • AT 指令集详解

    AT 指令集详解 1 AT的历史与应用1 1 AT的历史1 2 AT的优点1 3 AT命令与ppp协议的关系 2 AT的命令格式3 DCE的状态切换与AT的命令拨号流程3 1 初始化DCE的Modem设备3 2 拨号连接3 3 数据传输及处