- 博客(427)
- 资源 (133)
- 论坛 (4)
- 收藏
- 关注

原创 【12月原创】从菜鸟到起飞的 RT-Thread 开发指南
Hello,大家好,我是 RT-Thread 宣传委员(自封的)????我经常给大家安利 RT-Thread,尤其是那些还没用上 RT-Thread、在纠结选择哪个 RTOS、要不要学习 RTOS 的朋友。RT-Thread 简介RT-Thread 是什么据不完全统计,世界有成千上万个 RTOS(Real-time operating system,实时操作系统),RT-Thread 就是其中一个优秀的作品。RT-Thread 内核的第一个版本是熊谱翔先生在 2006 年年初发布的 0.1 版本。
2020-12-26 03:56:51
1520
2

原创 我的2020——一颗红心,两手准备
今年做了什么Flag 验收看回 2019年总结,又啪啪打脸了。。。果然计划赶不上变化,以后立 Flag 还是要慎重! 编制并出版一本书 设计并发布一个网站平台 做一个电台节目 去菲律宾读语言学校进修英语 考个无人机驾驶证(极飞农业无人机操作员考试)先汇报一下:之前构思了好多遍,要写一本关于 Linux 和物联网方面的书,于是在 Gitee 上用小号折腾了一年,还是没搞定!(希望在 2021 年 Q1 结束这场战斗)不过倒是因为参与了《开源指北》的编写计划,算是共同协作出了一本电子书
2020-12-24 18:27:24
230
2

原创 Read the Docs 从懵逼到入门
继《GitBook 从懵逼到入门》,时隔两年,终于推出姐妹篇《Read the Docs 从懵逼到入门》。从阅读量来看,笔者已经感受到大家对 GitBook 和 Markdown 写作的关注度,所以决定再给大家介绍一种常见的文档管理方案 —— Sphinx + GitHub + Read the Docs 的文档管理方法。简单来说,就是先用 Sphinx 生成文档,然后用 GitHub 托管文档,再导入到 Read the Docs 生成在线文档。无论是管理技术文档、写书、写笔记,亦或想搭建一个属于你的
2020-10-11 00:16:46
741
3

原创 10分钟入门 - 微信小程序开发
注册微信小程序如果你还没有微信公众平台的账号,请先进入微信公众平台首页,点击 “立即注册” 按钮进行注册。注册的账号类型可以是订阅号、服务号、小程序以及企业微信,我们选择 “小程序” 即可。接着填写账号信息,需要注意的是,填写的邮箱必须是未被微信公众平台注册、未被个人微信号绑定的邮箱,而且每个邮箱仅能申请一个小程序。激活邮箱之后,选择主体类型为 “个人类型”,并按要求登记主体信息。主体信息提...
2019-01-09 21:33:14
59968
7

原创 GitBook 从懵逼到入门
本文从 “是什么”、“为什么”、“怎么办”、“好不好” 四个维度来介绍 GitBook,带你从黑暗之中走出来,get 这种美妙的写作方式。是什么? 在我认识 GitBook 之前,我已经在使用 Git 了,毋容置疑,Git 是目前世界上最先进的分布式版本控制系统。 我认为 Git 不仅是程序员管理代码的工具,它的分布式协作方式同样适用于很多场合,其中一个就是写作(这会是一个...
2018-07-18 16:36:57
142226
91

原创 开启终身学习之旅
Linux公社(LinuxIDC.com)于2006年9月25日注册并开通网站,Linux现在已经成为一种广受关注和支持的一种操作系统,IDC是互联网数据中心,LinuxIDC就是关于Linux的数据中心。Linux公社是专业的Linux系统门户网站,实时发布最新Linux资讯,包括Linux、Ubuntu、Fedora、RedHat、红旗Linux、Linux教程、Linux认证、SUSE ...
2016-04-27 21:42:37
3736
1
原创 Linux 模块导出符号 EXPORT_SYMBOL
概述EXPORT_SYMBOL 宏的使用时出现在 Linux 2.6 版本之后,在 Linux 2.4 内核中,默认的非 static 函数和变量都会自动导入到内核空间,不需要用 EXPORT_SYMBOL() 做标记的。出于安全考虑,不久之后 Linux 2.6 修改为默认不导出所有的符号,需要导出的符号使用 EXPORT_SYMBOL() 进行标记。1. EXPORT_SYMBOL 宏的作用EXPORT_SYMBOL 标签内指定的符号(函数或变量)对全部内核代码公开,不用修改内核代码就可以在内核模
2021-01-20 17:41:17
55
原创 【Funpack】使用 pygatt 读取 Thunderboard 温度数值并控制 LED
pygatt 是一个用于读写蓝牙设备的 GATT 描述符的 Python 模块,可用于任何符合标准 GATT 描述符行为的设备,例如健身追踪器、传感器等等。pygatt 支持两种不同后端并提供了 Pythonic API:BlueZ (requires Linux), using the gatttool command-line utility.Bluegiga’s BGAPI, compatible with USB adapters like the BLED112.我们在 Linux 上
2021-01-07 13:19:09
229
原创 【Funpack】BlueZ gatttool 操作 Thunderboard 蓝牙开发板
BlueZ 是 Linux 官方蓝牙协议栈。它是一个基于 GPL 发布的开源项目,从 Linux2.4.6 开始便成为 Linux 内核的一部分。其基础代码均是由就职于 Qualcomm 的 Maxim Krasnyansky 完成,包括 HCI、L2CAP、RFCOMM 和基本 socket 的实现。安装$ sudo apt install bluez安装完 Bluez 协议栈后,系统会增加一些调试工具,包括 bluetootchctl、hciconfig、hcitool 和 gatttool。
2021-01-07 12:57:45
135
原创 【Funpack】低功耗蓝牙 BLE 协议架构
想要开发蓝牙应用,了解蓝牙协议架构是必不可少的。本文以低功耗蓝牙 BLE 为例,简要介绍 BLE 蓝牙协议架构,帮助开发者快速了解蓝牙协议概况。BLE 协议分层BLE 协议栈主要由如下几部分组成:PHY 层(Physical layer 物理层)。PHY层用来指定 BLE 所用的无线频段,调制解调方式和方法等。PHY层做得好不好,直接决定整个 BLE 芯片的功耗,灵敏度以及 selectivity 等射频指标。LL 层(Link Layer 链路层)。LL层是整个 BLE 协议栈的核心,也是 B
2021-01-07 12:36:26
230
2
原创 【Funpack】蓝牙技术 Q&A
蓝牙技术的应用场景?蓝牙其实有很多应用场景。目前很多的消费品类产品如蓝牙耳机、蓝牙音箱、车载多媒体、蓝牙手环、蓝牙防丢器、蓝牙血压计、蓝牙体重秤,都使用蓝牙进行数据交互与控制。比如开车时,开启导航将手机蓝牙与车载蓝牙连接,可以将音频视频数据流通过手机蓝牙传送到耳机、音箱等设备上。都是智能设备与蓝牙手机连接,将数据发送到手机终端。在某一些应用场景当中,需要考虑低于安卓5.0系统的手机不支持 BLE,所以选择双模,以保证手机的兼容性。但随着手机产品的迭代和更新,较老的型号被淘汰,价格等因素,双模逐渐被单模替
2021-01-07 12:00:28
88
原创 【Funpack】Thunderboard BG22 蓝牙开发板
硬件平台Thunderboard BG22 是一款来自 Silicon Labs(芯科科技)的蓝牙开发套件。Silicon Labs 公司一直提供丰富的业内先进的无线连接产品,BG22 是 2020 年推出的第二代蓝牙 SoC。蓝牙通信是短距离无线通信中增长最快的协议之一,其最大的优势是其低功耗特色。BG22 相对于之前 BG13 和 BG21 系列功耗更低,主要定位于电池供电带定位功能的极低功耗物联网应用。支持蓝牙 5.2 协议,更快的传输速度,更高精度和安全性,同时易于开发。开发板上有 USB M
2021-01-07 11:38:51
181
原创 已初始化和未初始化的局部变量和全局变量在内存中如何分布?
在 C 语言中,通常可以把内存理解为四个分区:栈、堆、全局/静态存储区和常量存储区。栈(stack,也称“堆栈”)通常是用于存储在编译期间就能确定存储大小的变量,用于在函数作用域内创建,在离开作用域后自动销毁的变量的存储区。通常是局部变量、函数参数等的存储区。它的存储空间是连续的,两个紧密挨着定义的局部变量,它们的存储空间也是紧挨着的。栈的大小是有限的,在 Linux 中可以通过命令 ulimit -s 查看默认栈空间大小,默认情况下为 8192 KB(即 8MB)。因此如果在程序内部分配超大的数据
2020-12-31 01:00:22
148
原创 【C语言】assert() 断言的作用
assert 是宏,而不是函数。它的原型定义在头文件 assert.h 中:void assert( int expression );宏 assert 经常用于在函数开始处检验传入参数的合法性,可以将其看作是异常处理的一种高级形式。assert 的作用是 先计算表达式 expression,然后判断:如果表达式值为假,那么它先向 stderr 打印错误信息,然后通过调用 abort 来终止程序运行。如果表达式值为真,继续运行后面的程序。注意:assert 只在 DEBUG 下生效,在调试结
2020-12-31 00:12:12
151
原创 static 和 extern 的作用
问题:static 和 extern 修饰变量和函数时有什么作用?请举例说明。static简单来说,static 关键字有两个作用:限制变量的作用域设置变量的存储域具体来说,在不同的使用场景有不同的表现。(函数名也是变量)静态全局变量用 static 声明静态全局变量:限制本文件外使用static int a;定义全局变量时加一个 static 声明,该变量只限于被本文件引用,而不能被其他文件引用。静态全局变量和全局变量一样存放在静态区。静态局部变量使用 static 修饰局部
2020-12-30 23:46:11
94
原创 【经典面试题】strlen 函数的实现
分析strlen 是 C 库函数,它的作用是计算字符串的长度。函数 strlen 的原型是:size_t strlen(const char *str);strlen 函数从字符串的开头位置依次向后计数,直到遇见 \0,然后返回计时器的值。最终统计的字符串长度不包括 \0。实现int strlen(const char* str){ assert(str != NULL); int len = 0; while((*str++) != '\0') ++len; return le
2020-12-30 22:27:01
81
原创 【经典面试题】strcpy 函数的实现
分析strcpy 是 C 库函数,它的作用是将一个字符串复制到另一个地址空间。函数 strcpy 的原型是:char* strcpy(char* des , const char* src);调用 strcpy 函数,将 src 所指向的字符串复制到 dest 所指向的地址空间,同时返回复制后的字符串。注意:des 和 src 所指内存区域不可以重叠,且 des 必须有足够的空间来容纳 src 的字符串,否则会造成缓冲溢出(buffer overflow)错误。实现#include <
2020-12-30 22:17:32
241
原创 【经典面试题】strcmp 函数的实现
分析strcmp 是 C 库函数,strcmp 是 string compare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数。函数 strcmp 的原型是:int strcmp(const char *s1,const char *s2)返回值:若 s1==s2,返回零;若 s1>s2,返回正数;若 s1<s2,返回负数。因此 strcmp 需要做的就是将两个字符串自左向右逐个字符相比(按 ASCII 值大小相比较),直到出现不同的字符或遇 \0 为止。
2020-12-30 21:53:15
71
原创 【经典面试题】strcat 函数的实现
分析strcat 是 C 库函数,它的作用是连接两个字符串。函数 strcat 的原型是:char* strcat(char* des, char* src);调用 strcat 函数,将 src 所指向的字符串追加到 dest 所指向的字符串的结尾,同时返回连接后的字符串。注意:des 和 src 所指内存区域不可以重叠,且 des 必须有足够的空间来容纳 src 的字符串。实现#include <assert.h>#include <stdio.h>char
2020-12-30 21:46:30
76
原创 我与 RT-Thread 社区一起成长的故事
成长故事技术成长之路,包括自我介绍、擅长的技术领域等Hello,大家好,我是 Rudy(卢华东)。我刚拿了 2020 年 RT-Thread 社区杰出贡献奖,现在还沉浸在喜悦之中。2020 年度 RT-Thread 社区杰出贡献奖颁奖现场我在 CSDN 上的名字是「阿基米东」,因为我希望自己也能像那个举得起地球的巨人——阿基米德一样充满智慧。因为在 CSDN 上的简介写了“以前运动员,现在程序员”,所以有些小伙伴就问我咋回事?我高中的时候练长跑,拿过一些小奖,后来练过排球和橄榄球,大学在球
2020-12-22 22:34:49
129
1
原创 如果你知道去哪,全世界都会为你让路
每个人都有自己所热爱的东西,一旦目标确定下来,它将会迸发出源源不断的动力。我常常问自己:如果我只剩十年寿命,我要怎么度过?我一定会划掉哪些无关紧要的人生大事,全力以赴地追逐梦想。可我又怕十年太短,无法实现梦想。但你愿意为了它日以继夜地工作,直到它在你眼中是完美无瑕的。那其实并没有什么可害怕的,因为你已经知道自己要去哪儿了。如果一个人连自己感兴趣的事情都不肯为之努力的话,那又怎么可能期待生命的辉煌?拒绝诱惑,在充满危机和挑战的道路奋勇前行,嗯,这是正确的路。Just do it, I am h
2020-12-20 01:44:04
181
1
原创 Convert 命令与图像处理
Linux 中可以用 convert 命令对图像进行转换,比如图像的大小和格式等。convert 命令在 ImageMagick 内,因此只需要安装 ImageMagick 即可。sudo apt install imagemagick安装完成后,执行如下命令确认 convert 是否安装成功。convert --version缩放图片大小Convert 的 resize 子命令应该是在 ImageMagick 中使用较多的命令,它实现了图片任意大小的缩放,唯一需要掌握的就是如何使用它的一些
2020-11-11 16:32:35
101
原创 什么是开源
引言:最近参加了 Gitee《开源指北》编写计划,领了第一章第一节 —— 什么是开源,挺有压力的,希望路过的各位同行评审一下,尽量保证内容正确,兼顾通俗易懂。谢谢啦!????开源的概念“开源”一词对应英文 Open Source,最初起源于软件开发领域,因此也称为“开放源代码”,对应的软件则称为开源软件(Open Source Software)。那是不是公开源代码的软件就是开源软件呢?实际上并不是。按照 OSI 组织(Open Source Initiative Association)的 OS
2020-11-05 12:57:26
258
1
原创 【RED-V】运行 RT-Thread 操作系统
准备工作BSP目前 RT-Thread 官方仓库还没有提供 Sparkfun RED-V 开发板的 BSP 包,想尝试的小伙伴可以先克隆我的!仓库地址:https://github.com/luhuadong/rt-thread/tree/riscv/bsp/sparkfun-redv配置工具链编译工具依然使用 Freedom Studio 集成的 riscv64-unknown-elf-gcc 编译工具链。因此,在开始之前,您还需要安装 Freedom Studio 集成开发环境。特别地,如果
2020-11-04 17:20:43
705
原创 【RED-V】驱动 I2C 显示 OLED 屏
打开 FreedomStudio 软件,依次在菜单栏中选择【File】->【New】->【Freedom E SDK Software Project】新建工程。在 Select Target 中选择“sifive-hifive1-revb”,在 Select Example Program 中选择“example-i2c”示例程序。接下来我们将修改这个程序。虽然 E310 只有一个 I2C 外设,但是 RED-V 板卡上引出了 3 组接口,包括 Arduino 插槽上的两组以及一个 Qwi
2020-11-04 16:34:11
136
原创 【RED-V】驱动 PWM 实现呼吸灯
打开 FreedomStudio 软件,依次在菜单栏中选择【File】->【New】->【Freedom E SDK Software Project】新建工程。在 Select Target 中选择“sifive-hifive1-revb”,在 Select Example Program 中选择“example-pwm”示例程序。接下来我们将修改这个程序。由于板载的 LED 连接的 D13(GPIO_5)引脚没有 PWM 功能,因此本次实验使用具有 PWM 输出功能的 D9(GPIO_1
2020-11-04 15:56:39
185
原创 【RED-V】开发环境搭建及快速入门
开发工具介绍RED-V 的主控芯片是 SiFive 的 FE310,因此可以使用 SiFive 提供的开发工具进行开发。网址:https://www.sifive.com/software因此,RED-V 支持多种开发方式,常见的开发方式是使用 SiFive 官方支持的 Freedom E SDK 和 Freedom Studio 工具。Freedom E SDK 包含多个板卡的板级支持包(BSP)、测试程序和示例程序。仓库地址:https://github.com/sifive/freedom-e
2020-11-04 14:11:10
497
1
原创 【RED-V】基于 RISC-V 架构的开源开发板
板卡介绍RED-V RedBoard 是 SparkFun 出品的开源开发板,主控芯片是基于 RISC-V 架构的 SoC SiFive FE310。FE310 是全球第一款基于 RISC-V 架构的 32 位商用 SoC,采用了 180nm 的工艺,最大工作频率可以到 320MHz,性能大致相当于 Arm Cortex-M3。RED-V RedBoard 采用了大家熟悉的 Arduino UNO R3 规格,板上包括 SiFive Freedom E310 内核、32MB QSPI 闪存、NXP K
2020-11-04 09:59:15
488
原创 分享两个决策方法WCCA和WADM
前几天,朋友给我推荐 MJ DeMarco 的《The Millionaire Fastlane》,里面提到两个帮助我们更好地作出决策的方法,非常实用,分享给大家!WCCA(最坏情况后果分析,Worst Case Consequence Analysis)WADM(加权平均决策矩阵,The Weighted Average Decision Matrix)相信大家在日常工作、学习、生活中常常面临选择,比如该选哪份工作?该去哪个城市发展?要不要复读?该选哪个专业?要不要买房?在哪里买房?要不要和这个
2020-10-09 17:13:23
488
3
原创 /proc/config.gz 是什么
简述Linux 可以在内核本身存储用于内核构建的 gzip 内核配置文件副本,并通过 /proc/config.gz 提供给用户。也就是说,/proc/config.gz 就是当前的 Linux 内核配置文件,并且是用 gzip 格式压缩过的。但不是所有的 Linux 发行版都有 /proc/config.gz 文件,大部分常见的 Linux 发行版就没有提供,比如 Ubuntu。只有当内核配置 CONFIG_IKCONFIG 和 CONFIG_IKCONFIG_PROC 为 y,才会在 /proc 中
2020-10-03 10:52:20
358
原创 【ODYSSEY-STM32MP157C】上报数据到阿里云 IoT 平台
我们在上一节《【ODYSSEY-STM32MP157C】驱动 UART 读取传感器数据》 已经成功读取到 PMS5003ST 传感器的数据,本节我们将学习如何将设备接入阿里云 IoT 平台,并上报数据到云端。准备材料阿里云:阿里云物联网平台账号Seeed:ODYSSEY-STM32MP157C 开发板攀藤:PMS5003ST 传感器创建产品与设备登录阿里云物联网平台,进入“控制台”,选择“设备管理” -> “产品”页面,创建产品。添加自定义功能,我在这里共添加了 6 个属性,分别
2020-10-02 15:05:46
226
原创 【ODYSSEY-STM32MP157C】驱动 UART 读取传感器数据
我们在上一节《【ODYSSEY-STM32MP157C】驱动 GPIO 实现呼吸灯》 已经驱动 GPIO 实现呼吸灯功能,本节我们将在 Linux 上操作 STM32MP157C 的 UART2 串口与传感器进行通信,并将传感器数据打印出来。准备材料Seeed:ODYSSEY-STM32MP157C 开发板攀藤:PMS5003ST 传感器PMS5003ST 简介PMS5003ST 是攀藤科技的一款空气质量传感器,可以同时监测空气中颗粒物浓度(PM1.0、PM2.5、PM10)、甲醛浓度和环境
2020-10-02 11:48:42
1148
1
原创 【ODYSSEY-STM32MP157C】驱动 GPIO 实现呼吸灯
Grove 接口Grove 是一种规范的嵌入式开发套件连接接口定义。什么是 Grove 系统Grove 是一个模块化的标准连接器原型系统。Grove 采用积木式组装电子技术。与基于跳线或焊接的系统相比,连接、试验和构建更容易,并简化了学习系统。Grove 系统允许你构建真正的系统。因而它需要一些学习和专业知识才能正确地将物件联接起来。Grove 系统由基本处理单元(树干)和具有标准化连接器的各种模块(树枝)组成。基本单元(通常为微处理器)允许从 Grove 模块轻松连接任何输入或输出。每个 Gro
2020-09-26 19:01:43
674
4
原创 【ODYSSEY-STM32MP157C】环境搭建与系统运行
在上一篇《【ODYSSEY-STM32MP157C】硬件平台及学习资源》中,我们大体了解了 ODYSSEY-STM32MP157C 开发板的情况。除了核心板上的 eMMC,载板上还提供了 SD 卡插槽,通过载板上的滑动开关选择从 eMMC 启动或者从 SD 卡启动。因此开发者可以像树莓派一样,将 Linux 系统镜像烧写到 SD 卡中,即可开启本趟学习之旅。准备材料发车之前,请各位旅客对照如下清单并准备号材料。 ODYSSEY – STM32MP157C 开发板一个 Wi-Fi 网络 4GB 以
2020-09-25 17:08:08
595
2
原创 【ODYSSEY-STM32MP157C】硬件平台及学习资源
STM32MP1ST 于 2019 年正式发表首款 MPU 产品线系列 STM32MP1,希望延续过去 STM32 MCU 在全球 MCU 市场的成功经验,进一步朝 MPU 市场迈进。作为能够支持轻松开发更广泛应用的通用微处理器产品线,STM32MP1 系列基于单核或双核 Cortex-A7 与 Cortex-M4 组成的异构架构,加强了支持多应用和灵活应用的能力,可以随时实现最佳性能和功率数据。Cortex-A7 内核提供对开源操作系统(Linux/Android)的支持,而 Cortex-M4 内核可
2020-09-24 13:32:54
535
2
原创 华为联合教指委发布《物联网实践系列教材》
华为物联网实践系列教材发布会2020年9月10日,华为在杭州举行以“智联万物 悦启新程”为主题的教材发布会。据称,这套教材由高校资深教师、华为资深研发专家、人邮出版社资深编辑按 1:1:1 配比进行投入。由教育部高等学校计算机类专业教学指导委员会(简称“教指委”)主导推进的物联网开发实践系列教材,目的是为近千所开设物联网相关专业的高校、近20万名物联网专业学生提供学习参考,协助高校培养出更多符合产业需求的物联网优秀人才。教材介绍该系列教材共包含 12 本图书:《物联网概论》《物联网操作系统原
2020-09-10 17:43:27
1097
原创 面向未来的安全实时操作系统 —— MS-RTOS
概述MS-RTOS(Micro Safe RTOS)是翼辉信息设计的一款面向未来的安全实时操作系统,主要面向小型物联网设备端的应用。其最大的特点是开创性地在没有 MMU 和资源受限的 MCU上也能支持多进程与动态装载技术。使得应用与系统能分离开发、独立升级。MS-RTOS 支持内核空间内存保护(应用程序通过 syscall 访问内核),使得内核有着非常高的安全性。MS-RTOS 在提供足够丰富功能的同时,保持了高效简洁的实现,对 ROM、RAM 消耗极低,特别适用于对硬件成本敏感、安全性要求特别高的产.
2020-09-10 00:08:01
319
原创 制作 Kali Linux 随身 U 盘并实现持久化
制作 Kali Linux 随身 U 盘Kali Linux 的前身是 BackTrack Linux 发行版。Kali Linux 是一个基于 Debian 的 Linux 发行版,包括很多安全和取证方面的相关工具。它由 Offensive Security Ltd 维护和资助,最先由 Offensive Security 的 MatiAharoni 和 Devon Kearns 通过重写 Back Track 来完成。Back Track 是基于 Ubuntu 的一个 Linux 发行版。Kali
2020-08-27 15:50:44
1065
3
转载 35年老程序员个人谈:C语言时代行将落幕
这几天来,我(Eric Raymond)在思考那些正在挑战C语言的系统编程语言领袖地位的新潮语言,尤其是Go和Rust。思考的过程中,我意识到了一个让我震惊的事实——我有着35年的C语言经验。每周我都要写很多C代码,但是我已经记不清楚上一次我 创建一个新的C语言项目 是在什么时候了。如果你完全不认为这种情况令人震惊,那你很可能不是一个系统程序员。我知道有很多程序员使用更高级的语言工作。但是我把大部分时间都花在了深入打磨像NTPsec、 GPSD以及giflib这些东西上。熟练使用C语言在这几十年里一直就是
2020-08-16 16:28:26
368
原创 标准 sscanf 解析语法与数据解析
概述在C语言应用开发过程中,常常需要对字符串数据进行解析,这些字符串可能是从文件、键盘或者其他设备读入。比如与 AT 设备通信时,需要对 AT 设备发送过来的数据进行解析,从而获得我们想要的一些数据。然而,处理字符串却是一件很麻烦的事!幸运的是,我们有 sscanf() 函数。sscanf 可以认为是标准 C 库自带的 split string (字符串分割)函数,它强大的功能体现在对 format 的支持上。sscanf 函数说明在 stdio.h 中,提供了三个类似的函数,函数原型如下:int
2020-08-16 15:42:11
200
I210 MAC EEPROM(包含 Eeupdate.exe)
2017-02-21
从零开始使用CubeMX创建以太网工程
2017-07-11
POSIX标准文档
2017-03-07
新型智能垃圾桶的设计方案
2017-10-09
eGTouch_v2.5.5814.L-ma.tar.gz
2016-11-11
STM32 HAL 库开发实战指南—基于F7
2018-05-30
TCP&UDP测试工具 V1.02
2017-07-11
TCP/UDP Socket调试工具V2.3
2017-07-11
eGTouch_v2.5.5814.L-x.tar.gz
2017-06-29
阿基米东的留言板
发表于 2020-01-02 最后回复 2020-04-03
小白提问:做视频监控需要用到实时操作系统吗?
发表于 2016-10-24 最后回复 2020-01-02
make menuconfig 提示 Unable to find the ncurses ......
发表于 2017-01-25 最后回复 2018-04-28
Linux socket 编程遇到问题
发表于 2016-12-15 最后回复 2016-12-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝