snmplink
嵌入式系统设计应用
展开
-
AR502H-CN开发笔记00:目录
本系列文章将向大家讲述华为网关AR502H的开发方法。本文是整体的章节安排,大家阅读本系列文章时,应参考此文章。日志:2020.08.04重新梳理容器的制作方法。目录:1、容器的制作(图文)(1)...原创 2020-08-04 21:20:40 · 2215 阅读 · 0 评论 -
AR502H-CN开发笔记70:解决485接收数据高位错误问题
文章目录前言一、问题描述二、问题解决1、原始驱动程序2、参数解释3、修正后的驱动程序前言使用AR502H进行485数据通信,无校验情况下数据收发正常,有校验(奇校验或偶校验)的情况下,发送正常,高位接收不正确,本篇文章阐述其原因,并予以解决。一、问题描述使用AR502H进行DL/T645-2007电表数据读取,并使用485转换器进行网络检测。DL/T645-2007要求偶校验。发送数据如下:FE FE FE FE 68 63 04 09 39 00 00 68 11 04 33 33 33原创 2022-05-10 00:26:53 · 842 阅读 · 0 评论 -
AR502H-CN开发笔记69:解决“nft命令设置后重启失效”的问题
文章目录前言一、nft配置命令1、介绍2、样例3、相关命令二、问题解决1、保存系统配置2、问题真相前言使用nft命令进行网络配置后,当前有效,设备重启后,又变为原先设置。本篇文章予以解决。一、nft配置命令1、介绍nft又称NAT指令,平时很多见的,如家庭中在使用路由器共享上网时,一般用的就是 NAT 技术,它可以实现众多内网 IP 共享一个公网 IP 上网。NAT 的原理 简单的说就是当内网主机访问外网时,当内网主机的数据包要通过路由器时,路由器将数据包中的源内网 IP 地址改为路由器上的公网原创 2022-01-20 01:48:58 · 819 阅读 · 0 评论 -
AR502H-CN开发笔记68:解决failed to umount问题
文章目录前言一、问题1、U盘插入后,可在/mnt/usb0下看见U盘内容2、使用umnout /mnt/usb0命令报错二、解决问题1、问题分析2、解决问题前言用户提问卸载U盘时,出现failed to umount问题,本文予以解答。一、问题1、U盘插入后,可在/mnt/usb0下看见U盘内容2、使用umnout /mnt/usb0命令报错二、解决问题1、问题分析U盘不能卸载,需考虑U盘被占用问题,此时可以查找相应的进程,用kill命令终止即可。本问题,是在已确认无进程占用的情况下原创 2021-10-12 00:13:10 · 507 阅读 · 0 评论 -
AR502H-CN开发笔记67:将U盘格式化为FAT32格式
文章目录前言一、华为已认证的U盘二、步骤1、下载DiskGenus并运行2、右键选中U盘,选择“格式化当前分区”命令3、文件系统选择“FAT32”进行格式化即可前言系统中要求U盘为FAT32格式,硬件接口是标准的USB2.0,其已认证的U盘容量均小于32GB,但现在很难买到此种规格U盘,本文就讲述将当前流行的U盘格式华为FAT32的方法。一、华为已认证的U盘朗科:U208(4GB)、U208S(16GB)Kingston:DT108、DT101(8GB)、DTSE9(8GB、16GB)原创 2021-10-11 23:33:54 · 5714 阅读 · 2 评论 -
AR502H-CN开发笔记66:U盘开局索引文件
文章目录前言一、U盘开局索引文件二、制作步骤1、下载HashCalc2、启动 HashCalc前言开局文件制作完毕后,还需制作索引文件,本文介绍索引文件的制作方法。一、U盘开局索引文件格式:[USB CONFIG]SN=MAC=字段说明:USB CONFIG:U盘配置信息,此字段不能修改。SN:数据变更时间标识,建议使用格式为:年月日.时分秒。例如,2018年07月18日16时20分48秒,则设置为SN=20180718.162048。该字段是必选信息。MAC:用于对us原创 2021-10-06 23:14:00 · 317 阅读 · 0 评论 -
AR502H-CN开发笔记65:U盘开局文件
文章目录前言一、U盘开局文件二、制作步骤1、在硬盘上建立usb-start-upg文件夹2、拷贝进容器文件、APP文件和配置文件3、建立config.ini文件4、编辑config.ini文件5、建立default.ini文件6、编辑default.ini文件前言 本文讲述U盘开局文件的相关知识和制作步骤。一、U盘开局文件 用于开局的U盘需存储两个文件,分别是:索引文件:usb-start-upg.ini开局文件:usb-start-upg.zip 开局文件,可由以下文件构成:系原创 2021-10-06 15:50:48 · 281 阅读 · 0 评论 -
AR502H-CN开发笔记64:获得eciot.cfg文件
文章目录前言1、登陆设备2、切换至/mnt/system目录3、使用ftp登陆4、使用put命令,将eciot.cfg文件传到服务器5、在服务器端,查看并修改文件前言U盘开局时,需要使用eciot.cfg文件,该文件记录了AR502H的配置信息,无法自己建立,从已有的系统中导出时唯一的方式,本文介绍如何从已有的系统中导出eciot.cfg文件。1、登陆设备2、切换至/mnt/system目录3、使用ftp登陆4、使用put命令,将eciot.cfg文件传到服务器5、在服务器端,查看并原创 2021-10-06 11:14:15 · 2146 阅读 · 0 评论 -
AR502H-CN开发笔记63:U盘开局命令usb-auto-upg
文章目录前言1、准备工作2、使能U盘开局功能3、去使能U盘开局功能4、查询U盘开局的进行状态5、指定U盘开局认证密码前言本文介绍U盘开局命令usb-auto-upg的使用方法。1、准备工作 登陆设备后,可以使用U盘开局命令usb-auto-upg。 usb-auto-upg命令用来使能U盘开局功能、查询U盘开局的状态、配置U盘开局认证的密码、查询设备是否使能U盘开局功能和是否配置U盘开局认证的密码。缺省情况下,U盘开局功能处于使能状态。2、使能U盘开局功能命令:usb-auto-upg原创 2021-10-05 00:55:02 · 345 阅读 · 0 评论 -
AR502H-CN开发笔记62:U盘开局设备运行流程
文章目录前言一、设备运行流程图二、流程介绍1、U盘插入需要升级的设备,设备检测到U盘在位。2、设备是否开启了U盘开局功能:3、设备检测U盘中是否存在U盘开局索引文件4、系统检测U盘开局索引文件的合法性5、系统检测设备中的U盘开局时间标志是否为原始状态,判断是否为首次开局6、通过执行命令配置开局密码,通过HMAC-SHA256加密算法进行加密,生成密钥7、检查密钥是否和索引文件中的MAC字段一致8、设备从U盘的usb-start-upg.zip文件中提取config.ini文件9、系统检测U盘中是否存在升级文原创 2021-10-04 09:59:44 · 259 阅读 · 0 评论 -
AR502H-CN开发笔记61:U盘开局介绍
文章目录前言1、什么是U盘开局?2、U盘开局流程3、开局文件分类前言 本文介绍U盘开局的相关基础知识。1、什么是U盘开局? U盘开局是指设备在开局部署时,用户预先将开局文件存储在U盘中,然后将U盘插入设备,通过从U盘下载开局文件来对设备实现目标版本以及相关业务的部署。 随着网络规模的扩大,网络中需要部署的设备数量越来越多,开局部署也日渐增多。相比传统的通过专业工程师逐台去给设备开局的模式,U盘开局功能只需要让专业工程师把所有开局文件存储到U盘中即可,具体开局任务可以通过开局现场非专业人员来原创 2021-10-04 09:38:20 · 336 阅读 · 0 评论 -
AR502H-CN开发笔记60:选择性编译第3方库
文章目录前言1、拷贝开源组件2、取消编译相应的库文件3、增加第3方库4、管理编译镜像前言在生成buster镜像中,会编译asn1c,libcoap和paho.mqtt.c 3个开源组件,用户提问,所选开源组件的版本与生成buster镜像中下载的开源组件不同,应如何处理,本文予以解答。1、拷贝开源组件自己使用的开源组件与生成buster镜像中下载的开源组件不同时,可以将自己使用的开源组件的压缩包拷贝到相应的目录中即可,如下图所示。注:只复制压缩包即可,不需解压缩。2、取消编译相应的库文件也原创 2021-10-03 01:40:34 · 278 阅读 · 0 评论 -
AR502H-CN开发笔记59:启动和停止APP
文章目录前言一、概述二、步骤演示1、登入网关2、启动APP3、停止APP4、关键日志信息前言本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍APP的运行方法。一、概述APP安装好后,可以使用下列命令启动、停止、使能与去使能APP:启动APP:appm -s –c container-name –n app-name停止APP:appm -S –c container-name –n app-name使能APP:appm -e –c container-name原创 2021-08-16 16:12:31 · 398 阅读 · 0 评论 -
AR502H-CN开发笔记58:快速生成安装APP
文章目录前言一、制作deb包1、在工程目录中建立program.service文件2、在工程目录中建立build_app.sh文件3、将整个工程目录复制到Linux自身的磁盘下4、进入环境5、调用build_app.sh 生成deb二、生成OVA文件1、执行create-ova命令2、执行ls命令查看生成的文件3、复制ova文件到ftp目录三、安装APP1、登陆设备2、进入/mnt/internal_storage目录3、使用ftp命令登陆ftp服务器4、使用get命令,得到program.ova文件,并使原创 2021-08-13 09:14:44 · 395 阅读 · 0 评论 -
AR502H-CN开发笔记57:解决bad file descriptor问题
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍有关解决badfile descriptor问题的方法。调试程序时,接有传感器一切正常,不接传感器报badfile descriptor错误。badfile descriptor错误是Linux的常见错误,一般在调用write函数时,参数设置不当,会产生此错误。我们在程序设计时,可以使用perror函数来获知错误类型。1、错误语句的定位通过调试程序,进行错误定位,源程序如下:void CRs485::SetDi...原创 2021-05-24 22:34:59 · 872 阅读 · 1 评论 -
AR502H-CN开发笔记56:安装APP
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍APP的安装方法。OVA文件生成后,就可以进一步进行APP的安装了。1、将生成后的ova文件复制到ftp服务器目录下2、登陆设备3、进入/mnt/internal_storage目录4、使用ftp命令登陆ftp服务器用户名和密码为空,直接回车即可。5、使用get命令,得到program.ova文件6、使用quit命令,退出ftp7、安装APPappm-i-clxc01-...原创 2021-04-24 23:36:50 · 657 阅读 · 2 评论 -
AR502H-CN开发笔记55:生成OVA文件
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍OVA文件的生成方法。生成deb文件后,就可以直接生成ova文件了,在编译后的容器环境中自带create-ova命令,可以使用create-ova命令生成ova文件。1、create-ova的命令格式create-ova -t app -d appdemo1.deb -n appdemo1 -s srv1 40 50 -s srv2 40 50 -version_short SV01.001 -ar arm64 -ot deb原创 2021-04-21 11:52:54 · 1265 阅读 · 0 评论 -
AR502H-CN开发笔记54:OVF和OVA的区别
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍OVF和OVA的区别。一、什么是OVF文件开源虚拟化格式OVF文件是一种开源的文件规范,它描述了一个开源、安全、有效、可拓展的便携式虚拟打包以及软件分布格式,它一般有几个部分组成,分别是ovf文件、mf文件、cert文件、vmdk文件和iso文件。二、OVF文件工作原理以及各组件的作用简单来说,OVF文件可以抽象看做一个由规定的几个不同类型的文件所组成的文件包,这个文件包可作为以后不同虚拟机之间一个标准可靠的虚拟文件格式,实现转载 2021-04-21 11:19:36 · 875 阅读 · 0 评论 -
AR502H-CN开发笔记53:deb包的制作
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍deb包的制作流程。1、在工程目录中新建program.service文件代码如下:[Unit]Description=program service[Service]ExecStart=/usr/bin/programExecReload=/bin/kill -HUP $MAINPIDKillMode=processRestart=always[Install]WantedBy=multi-user.tar原创 2021-04-21 00:25:18 · 325 阅读 · 0 评论 -
AR502H-CN开发笔记52:deb包的相关知识
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍deb包的相关知识。一、包结构首先要了解一个包的是有什么构成的,这里我就用我做测试的包来大概列一下。其中包括:DEBIAN目录 和 软件具体安装目录(模拟安装目录)(如etc, usr, opt, tmp等)。在DEBIAN目录中至少有control文件,还可能有postinst(postinstallation)、postrm(postremove)、preinst(preinstallation)、prerm(prerem转载 2021-04-20 23:01:30 · 322 阅读 · 0 评论 -
AR502H-CN开发笔记51:Systemd中Unit的配置文件
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍Systemd有关Unit配置文件的相关内容。1、有关Unit的概述每一个 Unit 都有一个配置文件,告诉 Systemd 怎么启动这个 Unit 。Systemd 默认从目录/etc/systemd/system/读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录/usr/lib/systemd/system/,真正的配置文件存放在那个目录。systemctl enable命令用于在上面两个目录之间,建立符号链接关系。转载 2021-04-16 22:57:34 · 340 阅读 · 0 评论 -
AR502H-CN开发笔记50:Systemd介绍
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍解决有关Systemd的相关内容。一、Systemd概述1、init进程历史上,Linux 的启动一直采用init进程,命令如下:$ sudo /etc/init.d/apache2 start# 或者$ service apache2 start这种方法有两个缺点。(1)启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。(2)启动脚本复杂。init进程只是执行启动脚本,不管其他事转载 2021-04-16 10:56:49 · 297 阅读 · 0 评论 -
AR502H-CN开发笔记49:解决多线程调用printf函数同步问题
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍解决“多线程调用printf函数时,输出不同步”问题的方法。1、问题printf函数时编程时经常使用的函数,但时由于printf函数涉及到和显示器或磁盘等外设的交互,所以操作涉及到从“用户态-内核态-用户态”等一系列内核转换过程,这些状态切换是需要时间的。更糟糕的是,如果printf函数的目标设备是显示器这种字符设备(单次传输一个字节),那么显然不能每输入一个字节就通过中断调用系统API输出一个字节,这显然会导致CPU浪费大量的时间在原创 2021-03-01 10:30:08 · 610 阅读 · 0 评论 -
AR502H-CN开发笔记48:SQLite中的数据类型
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍SQLite中的数据类型。1、引言对于SQL而言,有多种数据类型,但是查阅SQLite手册,未指明每种数据类型所占用的长度,如下图所示,所以产生疑问。仔细翻看手册后,找到原因。2、动态数据类型SQLite采用动态数据类型,具体可进一理解为存储类型和数据类型。如INTEGER存储类别可以包含6种不同长度的Integer数据类型,然而这些INTEGER数据一旦被读入到内存后,SQLite会将其全部视为占用8个字节无符号整型。.原创 2021-01-20 10:51:11 · 242 阅读 · 0 评论 -
AR502H-CN开发笔记47:另一种编译SQLite动态库的方法
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍编译SQLite动态库的方法。本文介绍另一种编译动态库的方法,该方法比较简洁,但不会生成sqlite的可执行文件,如果需要此文件还需参看AR502H-CN开发笔记46:编译SQLite动态库。1、下载SQLite源文件网址:https://www.sqlite.org/download.html下载sqlite-amalgamation-3330000.zip压缩包。2、解压缩到本地文件夹3、运行Ubuntu,原创 2020-11-01 02:32:29 · 368 阅读 · 3 评论 -
AR502H-CN开发笔记46:编译SQLite动态库
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍编译SQLite动态库的方法。1、下载SQLite数据库网址:https://www.sqlite.org/download.html下载Pre-release Snapshots压缩包。2、解压缩至data文件夹,并建立目录,在这里使用sqlite3、运行Ubuntu,并进入buster镜像sudodockerrun-v/media/sf_data:/data-v/dev:/dev-v/l...原创 2020-11-01 02:14:03 · 343 阅读 · 0 评论 -
AR502H-CN开发笔记45:Ubuntu中的时间同步
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍运行时出现“设备节点无权限”的解决方法。1、问题描述在Ubuntu中编译程序提示如下警告信息:查看系统时间比windows系统时间(此时间准确)晚了7分钟。2、解决方法(1)安装ntpdate程序包,命令为:sudo apt-get install ntpdate(2)然后使用ntpdate命令同步时间服务器,命令如下:sudo ntpdate cn.pool.ntp.org(3)再次对程序进行编译,.原创 2020-10-28 00:58:12 · 311 阅读 · 0 评论 -
AR502H-CN开发笔记44:解决设备节点的权限问题
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍运行时出现“设备节点无权限”的解决方法。1、问题描述按照AR502H-CN开发笔记43:在容器中添加设备节点所述的方法,加入设备节点后,会出现运行时权限不足的问题。可以使用下列命令进行尝试,系统报权限不足。cat /dev/ttyRS1使用下列命令查看权限,系统提示属主为nobody,组为nogroup。ls -l /dev/ttyRS*尝试改变权限、属主、组别均失败。2、解决方法(1)重新登陆设备原创 2020-09-13 00:56:01 · 486 阅读 · 0 评论 -
AR502H-CN开发笔记43:在容器中添加设备节点
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍如何在容器中添加设备。AR502H通过containershow-dev、containeradd-dev、containerdel-dev命令对设备进行管理,下面以实例的形式进行描述。1、登陆到设备使用SSH进行设备登陆,IP地址为网络连接的端口IP地址,端口号为22。输入用户名和密码,用户名为admin。2、查看容器状态可通过containerstatus命令,查看容器状态。3、停止容器运...原创 2020-09-12 01:19:23 · 473 阅读 · 0 评论 -
AR502H-CN开发笔记42:使用cJSON解析MQTT
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍应用cJSON来解析AR502HMQTTBroker传回的数据。一、下载cJSONcJSON下载地址:https://github.com/DaveGamble/cJSON二、原创 2020-09-02 02:12:26 · 762 阅读 · 0 评论 -
AR502H-CN开发笔记41:认识JSON
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍有关JSON的基础知识。一、JSON简介JSON 指的是 JavaScript 对象表示法(JavaScriptObjectNotation)JSON 是轻量级的文本数据交换格式JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。J..转载 2020-08-31 00:04:25 · 276 阅读 · 0 评论 -
AR502H-CN开发笔记40:MQTT消息订阅程序
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍MQTT消息订阅程序的设计方法。本文使用paho-mqtt库来完成消息的订阅,paho-mqtt库的安装和使用方法可参照AR502H-CN开发笔记35:在AR502H中进行MQTT调试,AR502H-CN开发笔记36:paho-mqtt客户端的使用方法,AR502H-CN开发笔记38:链接paho动态库,AR502H-CN开发笔记39:链接paho动态库V1.1。本文使用paho-mqttV1.1库。一、程序组成同步订阅程序结构比原创 2020-08-27 23:58:24 · 528 阅读 · 0 评论 -
AR502H-CN开发笔记39:链接paho动态库V1.1
本系列文章将向大家讲述华为网关AR502H的开发方法。本文以链接paho动态库V1.1版本为例,介绍链接动态库的快捷方法。文章AR502H-CN开发笔记24:base镜像的制作介绍了制作base镜像的方法,文章AR502H-CN开发笔记25:buster镜像的制作介绍了制作buster镜像的方法。buster镜像相对于base镜像来说,只是增加了asn1C,libcoap和paho.mqtt.c 3个开源组件。华为手册中介绍了对这3个开源组件打包deb的方法,但看上去还是比较难理解的。相对于其它开源原创 2020-08-26 01:15:42 · 354 阅读 · 0 评论 -
AR502H-CN开发笔记38:链接paho动态库
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍连接paho动态库的方法。在AR502H-CN开发笔记25:buster镜像的制作中已经提到,buster镜像是在base镜像的基础上建立的,相对与base镜像,增加了asn1c、libcoap和paho.mqtt.c 3个开源组件。其中paho.mqtt.c用于对mqtt的访问。下图是在buster镜像中已编译好的库文件,可以看到这些嗯见均已打包成deb文件。此时,我们进入buster镜像,然后连接-lpaho-mqtt3c原创 2020-08-25 00:38:49 · 395 阅读 · 0 评论 -
AR502H-CN开发笔记37:链接动态库
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍在makefile文件中链接动态库的方法。1、静态链接库在linux环境中,静态链接库一般以libXXX.a命名,静态库会在链接时整合进目标文件中,编译后的可执行程序不再需要外部函数库支持。2、动态链接库在linux环境中,动态链接库一般以libXXX。so命名,链接时,不进入目标文件中,当程序执行时,才调用相关的库函数。3、makefile文件链接动态库,需要在makeffile文件中加入3个选项,分别为:(1)原创 2020-08-21 01:22:06 · 387 阅读 · 0 评论 -
AR502H-CN开发笔记36:paho-mqtt客户端的使用方法
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍在AR502H中使用paho-mqtt库,进行客户端设计的步骤和方法。原创 2020-08-20 00:18:19 · 412 阅读 · 0 评论 -
AR502H-CN开发笔记35:在AR502H中进行MQTT调试
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍在AR502H中进行MQTT调试的方法。1、AR502H容器中内置mosquittoEclipse Mosquitto是一个开源消息代理,实现了MQTT协议版本3.1和3.1.1。Mosquitto轻量,适用于低功耗单板计算机到完整服务器的所有设备。Mosquitto项目还提供了用于实现MQTT客户端的C库以及非常受欢迎的mosquitto_pub和mosquitto_sub命令行MQTT客户端。2、AR502H中的MQTT总线原创 2020-08-19 23:35:14 · 659 阅读 · 0 评论 -
AR502H-CN开发笔记34:socket中的read和write函数
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍socket中read和write函数的使用方法。本文转载自:浅谈TCP/IP网络编程中socket的行为我认为,想要熟练掌握Linux下的TCP/IP网络编程,至少有三个层面的知识需要熟悉:1. TCP/IP协议(如连接的建立和终止、重传和确认、滑动窗口和拥塞控制等等)2. Socket I/O系统调用(重点如read/write),这是TCP/IP协议在应用层表现出来的行为。3. 编写Performant, Scal转载 2020-08-12 22:23:11 · 1156 阅读 · 0 评论 -
AR502H-CN开发笔记33:查看操作系统整型数据类型占用字节情况
本系列文章将向大家讲述华为网关AR502H的开发方法。本文介绍查看操作胸膛那个整型数据类型占用字节情况的方法。不同操作系统整型数据类型占用字节是不一致的,所以在程序设计前,应先确认当前操作系统整型数据类型占用字节的情况,可以按照以下方法完成。1、编写查看函数,代码如下:void CObject::OutputIntegerRange(void){ this->OutputDebugInformation("char min = %11d, max = %11d\n", S原创 2020-08-12 00:17:33 · 328 阅读 · 0 评论 -
AR502H-CN开发笔记32:perror函数
本系列文章将向大家讲述华为网关AR502H的开发方法。本文详细描述perror函数的使用方法。1、函数作用perror()用来将上一个函数发生错误的原因输出到标准设备。2、函数原型void perror(const char *s);3、解释参数s所指的字符串会先打印,后面加上错误原因字符串。错误原因依据全局变量errno的值决定要输出的字符串。errno是库函数中的一个变量,每个errno值对应着以字符串表示的错误类型,当调用函数出错时,该函数将重新设置errno的值。原创 2020-08-11 21:43:46 · 292 阅读 · 0 评论