自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

R先生一天不学习就浑身难受

Rome was not built in one day.

  • 博客(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 1546 2

原创 我的2020——一颗红心,两手准备

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

2020-12-24 18:27:24 233 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 763 3

原创 10分钟入门 - 微信小程序开发

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

2019-01-09 21:33:14 60193 7

原创 GitBook 从懵逼到入门

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

2018-07-18 16:36:57 142448 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 3739 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 89

原创 【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 230

原创 【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 142

原创 【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 235 2

原创 【Funpack】蓝牙技术 Q&A

蓝牙技术的应用场景?蓝牙其实有很多应用场景。目前很多的消费品类产品如蓝牙耳机、蓝牙音箱、车载多媒体、蓝牙手环、蓝牙防丢器、蓝牙血压计、蓝牙体重秤,都使用蓝牙进行数据交互与控制。比如开车时,开启导航将手机蓝牙与车载蓝牙连接,可以将音频视频数据流通过手机蓝牙传送到耳机、音箱等设备上。都是智能设备与蓝牙手机连接,将数据发送到手机终端。在某一些应用场景当中,需要考虑低于安卓5.0系统的手机不支持 BLE,所以选择双模,以保证手机的兼容性。但随着手机产品的迭代和更新,较老的型号被淘汰,价格等因素,双模逐渐被单模替

2021-01-07 12:00:28 89

原创 【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 186

原创 已初始化和未初始化的局部变量和全局变量在内存中如何分布?

在 C 语言中,通常可以把内存理解为四个分区:栈、堆、全局/静态存储区和常量存储区。栈(stack,也称“堆栈”)通常是用于存储在编译期间就能确定存储大小的变量,用于在函数作用域内创建,在离开作用域后自动销毁的变量的存储区。通常是局部变量、函数参数等的存储区。它的存储空间是连续的,两个紧密挨着定义的局部变量,它们的存储空间也是紧挨着的。栈的大小是有限的,在 Linux 中可以通过命令 ulimit -s 查看默认栈空间大小,默认情况下为 8192 KB(即 8MB)。因此如果在程序内部分配超大的数据

2020-12-31 01:00:22 152

原创 【C语言】assert() 断言的作用

assert 是宏,而不是函数。它的原型定义在头文件 assert.h 中:void assert( int expression );宏 assert 经常用于在函数开始处检验传入参数的合法性,可以将其看作是异常处理的一种高级形式。assert 的作用是 先计算表达式 expression,然后判断:如果表达式值为假,那么它先向 stderr 打印错误信息,然后通过调用 abort 来终止程序运行。如果表达式值为真,继续运行后面的程序。注意:assert 只在 DEBUG 下生效,在调试结

2020-12-31 00:12:12 152

原创 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 245

原创 【经典面试题】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 78

原创 我与 RT-Thread 社区一起成长的故事

成长故事技术成长之路,包括自我介绍、擅长的技术领域等Hello,大家好,我是 Rudy(卢华东)。我刚拿了 2020 年 RT-Thread 社区杰出贡献奖,现在还沉浸在喜悦之中。2020 年度 RT-Thread 社区杰出贡献奖颁奖现场我在 CSDN 上的名字是「阿基米东」,因为我希望自己也能像那个举得起地球的巨人——阿基米德一样充满智慧。因为在 CSDN 上的简介写了“以前运动员,现在程序员”,所以有些小伙伴就问我咋回事?我高中的时候练长跑,拿过一些小奖,后来练过排球和橄榄球,大学在球

2020-12-22 22:34:49 136 1

原创 如果你知道去哪,全世界都会为你让路

每个人都有自己所热爱的东西,一旦目标确定下来,它将会迸发出源源不断的动力。我常常问自己:如果我只剩十年寿命,我要怎么度过?我一定会划掉哪些无关紧要的人生大事,全力以赴地追逐梦想。可我又怕十年太短,无法实现梦想。但你愿意为了它日以继夜地工作,直到它在你眼中是完美无瑕的。那其实并没有什么可害怕的,因为你已经知道自己要去哪儿了。如果一个人连自己感兴趣的事情都不肯为之努力的话,那又怎么可能期待生命的辉煌?拒绝诱惑,在充满危机和挑战的道路奋勇前行,嗯,这是正确的路。Just do it, I am h

2020-12-20 01:44:04 182 1

原创 Convert 命令与图像处理

Linux 中可以用 convert 命令对图像进行转换,比如图像的大小和格式等。convert 命令在 ImageMagick 内,因此只需要安装 ImageMagick 即可。sudo apt install imagemagick安装完成后,执行如下命令确认 convert 是否安装成功。convert --version缩放图片大小Convert 的 resize 子命令应该是在 ImageMagick 中使用较多的命令,它实现了图片任意大小的缩放,唯一需要掌握的就是如何使用它的一些

2020-11-11 16:32:35 102

原创 什么是开源

引言:最近参加了 Gitee《开源指北》编写计划,领了第一章第一节 —— 什么是开源,挺有压力的,希望路过的各位同行评审一下,尽量保证内容正确,兼顾通俗易懂。谢谢啦!????开源的概念“开源”一词对应英文 Open Source,最初起源于软件开发领域,因此也称为“开放源代码”,对应的软件则称为开源软件(Open Source Software)。那是不是公开源代码的软件就是开源软件呢?实际上并不是。按照 OSI 组织(Open Source Initiative Association)的 OS

2020-11-05 12:57:26 259 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 139

原创 【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 500 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 495

原创 分享两个决策方法WCCA和WADM

前几天,朋友给我推荐 MJ DeMarco 的《The Millionaire Fastlane》,里面提到两个帮助我们更好地作出决策的方法,非常实用,分享给大家!WCCA(最坏情况后果分析,Worst Case Consequence Analysis)WADM(加权平均决策矩阵,The Weighted Average Decision Matrix)相信大家在日常工作、学习、生活中常常面临选择,比如该选哪份工作?该去哪个城市发展?要不要复读?该选哪个专业?要不要买房?在哪里买房?要不要和这个

2020-10-09 17:13:23 497 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 367

原创 【ODYSSEY-STM32MP157C】上报数据到阿里云 IoT 平台

我们在上一节《【ODYSSEY-STM32MP157C】驱动 UART 读取传感器数据》 已经成功读取到 PMS5003ST 传感器的数据,本节我们将学习如何将设备接入阿里云 IoT 平台,并上报数据到云端。准备材料阿里云:阿里云物联网平台账号Seeed:ODYSSEY-STM32MP157C 开发板攀藤:PMS5003ST 传感器创建产品与设备登录阿里云物联网平台,进入“控制台”,选择“设备管理” -> “产品”页面,创建产品。添加自定义功能,我在这里共添加了 6 个属性,分别

2020-10-02 15:05:46 234

原创 【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 1151 1

原创 【ODYSSEY-STM32MP157C】驱动 GPIO 实现呼吸灯

Grove 接口Grove 是一种规范的嵌入式开发套件连接接口定义。什么是 Grove 系统Grove 是一个模块化的标准连接器原型系统。Grove 采用积木式组装电子技术。与基于跳线或焊接的系统相比,连接、试验和构建更容易,并简化了学习系统。Grove 系统允许你构建真正的系统。因而它需要一些学习和专业知识才能正确地将物件联接起来。Grove 系统由基本处理单元(树干)和具有标准化连接器的各种模块(树枝)组成。基本单元(通常为微处理器)允许从 Grove 模块轻松连接任何输入或输出。每个 Gro

2020-09-26 19:01:43 680 4

原创 【ODYSSEY-STM32MP157C】环境搭建与系统运行

在上一篇《【ODYSSEY-STM32MP157C】硬件平台及学习资源》中,我们大体了解了 ODYSSEY-STM32MP157C 开发板的情况。除了核心板上的 eMMC,载板上还提供了 SD 卡插槽,通过载板上的滑动开关选择从 eMMC 启动或者从 SD 卡启动。因此开发者可以像树莓派一样,将 Linux 系统镜像烧写到 SD 卡中,即可开启本趟学习之旅。准备材料发车之前,请各位旅客对照如下清单并准备号材料。 ODYSSEY – STM32MP157C 开发板一个 Wi-Fi 网络 4GB 以

2020-09-25 17:08:08 600 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 541 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 322

原创 制作 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 1083 3

转载 35年老程序员个人谈:C语言时代行将落幕

这几天来,我(Eric Raymond)在思考那些正在挑战C语言的系统编程语言领袖地位的新潮语言,尤其是Go和Rust。思考的过程中,我意识到了一个让我震惊的事实——我有着35年的C语言经验。每周我都要写很多C代码,但是我已经记不清楚上一次我 创建一个新的C语言项目 是在什么时候了。如果你完全不认为这种情况令人震惊,那你很可能不是一个系统程序员。我知道有很多程序员使用更高级的语言工作。但是我把大部分时间都花在了深入打磨像NTPsec、 GPSD以及giflib这些东西上。熟练使用C语言在这几十年里一直就是

2020-08-16 16:28:26 372

原创 标准 sscanf 解析语法与数据解析

概述在C语言应用开发过程中,常常需要对字符串数据进行解析,这些字符串可能是从文件、键盘或者其他设备读入。比如与 AT 设备通信时,需要对 AT 设备发送过来的数据进行解析,从而获得我们想要的一些数据。然而,处理字符串却是一件很麻烦的事!幸运的是,我们有 sscanf() 函数。sscanf 可以认为是标准 C 库自带的 split string (字符串分割)函数,它强大的功能体现在对 format 的支持上。sscanf 函数说明在 stdio.h 中,提供了三个类似的函数,函数原型如下:int

2020-08-16 15:42:11 204

CoDeSys 软件

CoDeSys 软件版本 23928,运动控制软件,工业机器人,电机控制

2019-04-07

I210 MAC EEPROM(包含 Eeupdate.exe)

Intel I210网卡芯片MAC地址更新工具。 ---------------------------- 更新方法: 1. 将附件解压缩并复制到U盘DOS启动盘, 2. 开机引导进入DOS启动盘后,输入EEUPDATE命令并敲回车,确认Intel I210这张网卡的NIC号是0还是1, 3. 输入Eeupdate /nic=X /d 8Mb.bin (X=Intel I210的NIC号) ,并敲回车键来更新eeprom文件 4. 输入Eeupdate /nic=X /mac=********(X=Intel I210的NIC号,*****=你们买的MAC地址,例如:74FE4804F54C

2017-02-21

getevent 源码

getevent源码,可用于测试Linux内核input事件

2016-11-11

vsftpd-3.0.2.tar.gz

vsftpd-3.0.2.tar.gz

2017-03-21

LwIP协议栈源码详解——TCP/IP协议的实现

《LwIP协议栈源码详解——TCP/IP协议的实现》,老衲五木

2017-07-24

80款Linux运维监控工具(最终版)

80款Linux运维监控工具(最终版),来自高效运维社区

2016-12-02

电阻式触摸屏原理

电阻式触摸屏原理(作者:吴仲远)

2016-11-07

从零开始使用CubeMX创建以太网工程

从零开始使用CubeMX创建以太网工程.pdf 视频地址:http://v.youku.com/v_show/id_XMTg4NjI5MzY4OA==.html

2017-07-11

华邦 W25Q80 数据手册

华邦 W25Q80英文版数据手册,注意是英文版,是英文版!

2018-05-28

POSIX标准文档

POSIX标准文档,压缩包中包含以下文件: 《POSIX Base Definitions》 《POSIX Base Specifications, Issue 7》 《POSIX Rationale (Informative)》 《POSIX Realtime and Embedded Application Support》 《POSIX Shell and Utilities》 《POSIX System Interfaces》 《POSIX Technical Corrigendum 1》 《POSIX Technical Corrigendum 2》

2017-03-07

新型智能垃圾桶的设计方案

《新型智能垃圾桶的设计方案》周慧珺,许锦标(2006年) ------------------- 提出了一种新型智能垃圾桶的设计方案.采用基于单片机的智能化红外感应控制系统、无线通信系统,实现自动开关桶盖并调节开盖角度、遥控垃圾桶走动、智能封袋的功能.与传统智能垃圾桶相比较,功能性更强,智能化程度更高.

2017-10-09

rt-tests-v0.27.tar.bz2

Linux环境的rt-tests实时测试工具集

2016-11-22

ATKKPING工具

一款小型、免安装的Windows上的ping包测试工具

2017-07-28

eGTouch_v2.5.5814.L-ma.tar.gz

eGalaxTouch Driver for Linux Detail: http://www.eeti.com/drivers_Linux.html

2016-11-11

Xenomai 3 Programmer's Reference Manual

Xenomai 3 Programmer's Reference Manual

2017-01-05

libpng-1.6.26.tar.gz

libpng-1.6.26.tar.gz

2016-12-29

STM32H7数据手册

STM32H7数据手册(STM32H7x3_rm.pdf)英文版

2017-06-20

Cadence&Allegro中文教程

此为Cadence & Allegro 的简易中文教程。

2013-12-15

TCP-IP详解卷1:协议

此为《TCP-IP详解卷1:协议》电子版,欢迎下载!

2013-12-15

busybox-1.21

BusyBox 是一个集成了一百多个最常用linux命令和工具的软件。

2013-12-14

嵌入式Linux应用程序开发详解

此为《嵌入式Linux应用程序开发详解》(人民邮电-华清远见)电子版,欢迎下载

2013-12-14

ARM_AEG-AAE_Entry_level.pdf

此为AAE(ARM认证工程师)认证的考试大纲,主题领域包括:ARM架构、软件开发、软件优化、系统、软件调试和实施。

2013-12-15

sqlite3.8.1

此为嵌入式数据库sqlite3.8.1的安装源代码,在ubuntu在运行情况良好。

2013-12-11

STM32参考手册(中文)

此为STM32F101xx、STM32F102xx、STM32F103xx系列微处理器参考手册,中文版。

2013-12-11

STM32固件库使用手册(中文)

此文档为STM32系列处理器固件库使用手册的中文版

2013-12-10

程序员生存定律

整理了《程序员生存定律》部分章节,希望对刚入行的小朋友们有些帮助。有些事真是入行很久后才明白,感觉上如果能预先明白了,应该挺有帮助的。

2019-10-04

OtoStudio可视化界面开发示例代码

OtoStudio可视化界面开发示例代码 move_car、robot、Machine Tool 三个项目代码

2019-04-07

CoDeSys2.3 文档

CoDeSys2.3 文档,包括中文和英文文档,编程手册、可视化界面手册

2019-04-07

STM32 HAL 库开发实战指南—基于F7

野火新书《STM32 HAL 库开发实战指南—基于F7》,该书基于野火挑战者F7开发板,使用的是HAL库,全书共980页。该书只有电子版,纸质版不会出版,因为F7只是ST在Cortex-M7内核中的一个过渡产品,真正的大杀器是H7。后面会出版H7的书籍,但跟F7的内容差别不大,只是小改。欢迎下载!

2018-05-30

意法半导体 M95080W 数据手册

意法半导体 M95080W 英文版数据手册,注意是英文版,是英文版!

2018-05-28

STM32F7高性能应用_Hands-On代码

STM32F7高性能应用_Hands-On代码,基于STM32F769I-DISCO,2017年10月

2017-11-05

Makefile 编程手册

GNU make中文手册 ver - 3.8 翻译整理:徐海兵 2004-09-11

2017-08-06

GNU make中文手册

GNU make中文手册 ver - 3.8 翻译整理:徐海兵 2004-09-11

2017-08-06

Vimtutor_VIM教程1.5

Vimtutor_VIM教程1.5 中文版

2017-08-05

丢包测试工具

Windows下的网络丢包测试工具(Ping)

2017-07-29

TCP&UDP测试工具 V1.02

【TCP&UDP测试工具基本介绍】 此测试工具用于开发网络通讯程序时,在服务器或客户端测试TCP/UDP通讯连接和测试数据的接收和发送情况。 【TCP&UDP测试工具软件功能】 1.可收发TCP/UDP数据。 2.对于TCP,支持服务器和客户端模式。 3.支持多连接,可同时对多路网络连接进行操作。 4.对于UDP,支持组播方式。 5.可显示当前数据传输速度。 6.数据显示方式分为ASCII和HEX两种。 7.可发送文件。 8.可把接收到的数据实时保存到文件。

2017-07-11

TCP/UDP Socket调试工具V2.3

SocketTool调试软件是一款网络TCP/UDP通信调试工具,本工具集功能强大与简单易用为一体,是无需安装的免费绿色软件。 它可以帮助网络编程人员、网络维护人员检查所开发的网络应用软硬件的通信状况。 是一款非常好用的socket 链接测试工具。 ----------------------------------------- TCP/UDP Socket调试工具的特色: ★ 全面集成 TCP服务器/客户端; UDP服务器/客户端; UDP广播/组播 功能 ★ 支持多Socket并行测试, 采用树状Socket可视化界面,所有Socket句柄一目了然 ★ 在一个程序内可进行多句柄/多类型的Socket的创建/删除/以及数据收发等操作 ★ 支持16进制的发送和16进制接收显示,支持汉字以及文本发送 ★ 用户可以方便的把接收到的数据保存下来 ★ 支持发送、接收字节数统计 ★ 支持数据循环发送,同一内容可自动发送1次至10000次

2017-07-11

eGTouch_v2.5.5814.L-x.tar.gz

eGTouch_v2.5.5814.L-x.tar.gz,Kernel 2.6.24 Upward and 3.x.x / 4.x.x,X86 (32/64bits) 最后更新时间:2015/10/22

2017-06-29

eGTouch_v2.5.5814.A-all

eGTouch_v2.5.5814.A-all.zip 是 Android 的EETI触摸控制器驱动

2017-06-28

嵌入式Linux应用开发完全手册(韦东山)

韦东山老师的《嵌入式Linux应用开发完全手册》电子版

2017-06-09

阿基米东的留言板

发表于 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的粉丝

提示
确定要删除当前文章?
取消 删除