自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(123)
  • 资源 (2)
  • 收藏
  • 关注

原创 RTThread-Nano学习三-线程管理

将线程的状态更改为就绪状态,并放到相应优先级队列中等待调度。如果新启动的献策会给你优先级比当前线程优先级高,则立刻切换到高优先级线程。可以看到,任务1和任务2是在交替运行,各自运行设置的20tick时间片,运行后会进行任务切换。可以看到,任务1执行的时间变长为40tick了,而任务2还是20tick。如果使用动态创建的方式,需要在rtconfig.h中打开动态内存设置项。这里创建了两个线程,优先级相同,时间片相同,各自打印日志。这里创建两个线程,运行各自的内容。,创建任务时使用静态的方式,可以节省空间。

2024-10-19 16:04:56 800

原创 RTThread-Nano学习二-RT-Thread启动流程

本章我们就来继续了解一下,RTT的启动流程。

2024-10-17 16:56:47 923

原创 RTThread-Nano学习一-基于MDK移植

关于RTThread-nano的介绍,这里不做过多解释,官方文档已经介绍的非常详细了,有兴趣的可以参考如下文档

2024-10-14 19:10:22 877

原创 Windows bat脚本学习九(srec_cat)

srec_cat是一个在嵌入式开发中,使用非常频繁的软件,这里做个常用功能的介绍。

2024-09-06 15:37:15 1626

原创 Windows bat脚本学习八(文件操作)

在使用批处理时,跟文件打交道的频率非常高,所以,这篇文章介绍一下“文件”的相关操作。

2024-09-05 15:58:36 1843

原创 hex文件转bin文件

在进行MCU开发时,经常需要使用到hex和bin文件,这里总结几种hex转bin的方法。

2024-09-05 11:01:01 1574

原创 Windows bat脚本学习七(从hex文件中获取bin大小)

看一下用jflash转化过来的bin文件。

2024-09-03 16:51:41 520

原创 Windows bat脚本学习六(十六进制与十进制互转)

十六进制数转十进制数相对比较简单,可以直接通过0x来实现。

2024-08-30 17:15:57 566

原创 Windows bat脚本学习五(函数)

使用bat脚本时,经常要使用函数,而函数的传参和返回值也是非常重要的,今天就总结一下bat中函数相关的使用方法。 在Bat中,使用“:函数名”来定义一个函数。 见如下代码: 结果: 这里定义了一个名叫“end”的函数。 可以看到,虽然程序中并没有调用,但是还是执行了end函数相关的内容。这是因为bat代码是顺序执行的,就算没有调用,程序也会继续往下执行。 如果把代码改成这个样子 结果:

2024-08-30 14:12:28 1757

原创 Windows bat脚本学习四(字符串操作)

在使用Bat批处理的时候,经常需要对字符串进行操作,所以这里单独写一篇文章介绍一下。

2024-08-29 16:18:27 900

原创 HardFault Err,无法调试,错误定位

在平时开发的时候,经常会遇到程序报错的情况。对于来说,的方式进行定位问题。但是对于系统来时,很多MCU/SOC是的,此时,如果系统报错,我们就需要根据系统的报错信息来定位到出问题的问题点。不可在线调试,参考本文章。

2024-06-17 17:31:09 525

原创 VSCODE gcc运行多个.c文件

任务类型,有3个可选值,shell(执行shell)process(运行进程)cppbuild(C++程序编译构建)。其中前2个事VSCODE安装后即可提供的。cppbuild是安装C++扩展之后支持的。代表在什么系统上运行。

2024-05-24 16:50:37 1848

原创 C语言:__attribute__((packed)) 与 #pragma pack()

在使用结构体的时候,经常要。但是按照C语言的规则,会对不同类型的数据类型进行。有时候就会造成一些问题,如果不需要使用自动对齐的功能,就需要使用到本章的关键字。

2024-05-08 16:37:24 907

原创 蓝牙学习十(扫描)

扫描分为。

2024-04-07 17:03:23 2313 1

原创 蓝牙学习九(定向广播 ADV_DIRECT_IND)

广播类型有如下:可连接的非定向广播,表示当前设备。可连接的定向广播,设备。的非定向广播,仅发送广播数据,而。设备。的,设备。即可以发送广播数据,也可以响应扫描发送回应数据,但。本章主要介绍。

2024-04-03 16:11:51 2300

原创 nRF Sniffer 在Wireshark中的使用

使用nRF Sniffer在wireshark中抓包是经常使用的。但是每次抓包会获取到,数据量非常大。而对于开发人员而言,。此时就需要掌握数据的。

2024-03-21 09:49:25 1003

原创 nRF Sniffer在wireshark下的环境搭建

进入nrf_sniifer_for_bluetooth--》extcap文件,按住shirft,右键,选择打开shell窗口。运行成功后,如果此时nrf sniffer插在电脑上,就可以看到sniffer的。(2).将nrf_sniffer_for_bluetooth文件夹下的extcap的一些信息。(4).将nrf_sniffer_for_bluetooth文件夹下的。而Pyserial是安装在3.7版本下的。将下载的nrf_sniffer包解压。打开wireshark的extcap文件夹。

2024-03-20 15:55:16 1627

原创 windows下不同python版本切换

有时候在windows环境下会安装很,但是在运行一些特定环境时,又需要特定的python版本。于是就需要。

2024-03-20 15:12:25 1942

原创 PKI证书体系

10 PKI证书体系 - 哔哩哔哩

2024-03-14 11:52:10 224

原创 C语言-数组指针与指针数组

对于使用C语言开发的人来说,指针,大家都是非常熟悉的。数组,大家也同样熟悉。但是这两个组合到一起的话,很多人就开始蒙圈了。这篇文章,就详细的介绍一下这两个概念。 指针数组和数组指针,听起来非常像,但是两者是完全不同的概念。从名字上就可以知道,一个是数组,一个是指针。 那如何区分呢? 最简单的方法,就是根据语句中符号的优先级来。 优先级关系:( ) > [ ] > *。 有了这个概念后,我们再来看如下两个定义: *a[4

2024-02-23 19:39:10 2306

原创 C语言:static inline关键字

本来想自己写一篇文章的,但是看到这篇文章发现作者已经写的很详细了。

2024-02-04 14:31:09 453 1

原创 Base64加解密C语言版

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一。Base64就是一种基于64个可打印字符来表示二进制数据的方法。Base64包含小写字母a-z、大写字母A-Z、数字0-9、符号“+”、“/”一共64个字符的字符集。任何符号都可以转换成这个字符集中的字符,这个转换过程就叫做base64编码。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用base64编码具有不可读性,需要解码后才能阅读。

2024-01-26 18:33:37 3915

原创 海思Hi3861L开发三-新建自定义项目

上一篇文章,介绍了如何下载安装SDK,并且编译和下载。但都是基于SDK原生提供的demo。那本节我们就来介绍一下,如果。

2023-08-24 16:06:43 757

原创 海思Hi3861L开发二-SDK编译与下载

将SDK解压后,会出现如下目录:这里介绍一下SDK目录目录说明app应用层代码(其中包含demo程序,即参考实例)bootFlash bootloader代码buildSDK构建所需的库文件、链接文件、配置文件componentsSDK组件目录configSDK系统配置文件documents文档目录(包括:SDK说明文档)inclludeAPI头文件存放目录output编译时生成的目标文件与中间文件(包括:库文件、打印LOG、生成的二进制文件等)platform。

2023-08-24 11:44:12 2264 2

原创 海思Hi3861L开发一-环境搭建

之前的文章中有详细介绍了HarmonyOS的Hi3861开发,但是该开发是基于HarmonyOS来的。实际在项目开发中,可能不会用到HarmonyOS,用的还是原生的Hi3861。那这次就重新学习Hi3861L。

2023-08-23 17:20:13 1683

原创 鸿蒙Hi3861学习二十-编译构造

在使用编译构造子系统前,应了解如下基本概念: 子系统是一个逻辑概念,它由一个或多个具体的组件构成、OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、架构层和应用层。系统功能按照“系统 > 子系统 > 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或组件。 系统最小的可复用、可配置、可剪裁的功能单元。组件具备目录独立可并行开发、可独立编译、可独立测试的特征。 Generate ninja的缩写,用于产生ninja文

2023-05-29 16:52:22 2150 1

原创 鸿蒙Hi3861问题解决-DevEco VSCode无法跳转

使用Windows和Ubuntu,在windows下搭建环境。通过远程Ubuntu系统进行代码修改与编译。在VSCode中,。按住Ctrl键,鼠标移到函数上,也不会有任何反应。

2023-05-25 16:23:44 2445

原创 鸿蒙Hi3861学习十九-DevEco Device Tool源码获取、编译、下载

1.创建工程目录架构在SDK/applications/sample/wifi-iot/app路径下新建一个hello_world文件夹。在hello_world文件夹下创建一个hello_world.c文件,并将start_up文件夹下的BUILD.gn文件拷贝到hello_world文件夹下。2.编写业务代码是OpenHarmony启动恢复模块接口,该接口用来启动业务。也可以使用SYS_RUN来实现,效果是一样的。(APP_FEATURE_INIT和SYS_RUN定义都在)文件中。

2023-05-25 15:57:17 4004 1

原创 鸿蒙Hi3861问题解决-[OHOS ERROR] clang not found, install it please

在使用进行时出现问题,导致,这里做个问题记录。

2023-05-25 10:18:05 2610

原创 鸿蒙Hi3861学习十八-DevEco Device Tool环境搭建

在之前的文章中,我们是通过的方式进行开发。今天我们同样是采用。为什么要采用这种方式呢?因为就目前而言,大部分的开发板还,如Hi3861、Hi3516系列开发板。本次的任务就是可视化界面进行相关操作,的方式对接ubuntu下的DevEco Device Tool(可以不安装Visual Studio Code),然后对ubuntu下的源码进行开发、编译、烧录等。ubuntu版本:20.04windows版本:win10。

2023-05-23 15:29:09 3196 1

原创 C语言-printf打印%*s、%.*s与%-.*s的区别

在平时的使用中,会经常使用到printf进行打印,而最长使用的方式是printf("%s",string)进行打印。但是有个问题,如果string结尾不是0。那么printf会继续打印,直到遇到0为止。这样就会有内存溢出的风险。显然,这种是不符合预期的

2023-05-22 17:34:33 5480

原创 鸿蒙Hi3861学习十七-Huawei LiteOS-M(MQTT)

初始化MQTT相关的参数和回调。n网络参数,结构体为Network} Network;my_socket:后续mqtt要使用到的描述符。mqttread:mqtt的读回调函数mqttwrite:mqtt的写回调函数无。

2023-05-22 16:26:09 1993

原创 鸿蒙Hi3861学习十六-Huawei LiteOS-M(Socket服务端)

将socket和输入参数的地址与属性进行绑定fd:套接字描述符,socket()函数返回值。addr:要绑定的属性值。包括端口IP地址等//长度//地址族(address family),也就是地址类型//16位端口号//32位IP地址//不使用,一般用0填充这里需要注意的是,bind函数的第二个参数,会将sockaddr_in类型强转为socketaddr。//长度//地址族(address family),也就是地址类型//IP地址和端口号sockaddr和的长度相同。

2023-05-18 17:53:45 1003

原创 鸿蒙Hi3861学习十五-Huawei LiteOS-M(Socket客户端)

创建一个socket描述符,用来唯一标识一个socket。后续需要通过该描述符进行读写操作。domain:IP地址类型。常用的类型有AF_INET(IPV4)、AF_INET6(IPV6)。type:数据传输方式/套接字类型。常用的类型有(流格式套接字/面向连接的套接字TCPSOCK_DGRAM(数据报套接字/无连接的套接字UDP。protocol:传输协议。默认为0,系统自动推演使用的协议。也可以手动输入,常用的协议有,

2023-05-18 14:48:07 1764

原创 鸿蒙Hi3861学习十四-Huawei LiteOS-M(AP模式)

为指定的WIFI事件注册回调函数。当WIFIEVENT中定义的WIFI事件发生时,将调用已注册的回调函数。event:相关事件,结构体为WifiEvent。:网络连接状态改变回调。与STA有关。具体含义见上一章。:扫描结果回调。与STA有关。具体含义见上一章。:热点状态改变回调,即热点创建时的回调。与AP有关。state热点状态。WIFI_HOTSPOT_ACTIVE(1)热点已创建成功。WIFI_HOTSPOT_NOT_ACTIVE(0)热点已关闭。有STA连接回调与AP有关。

2023-05-16 15:55:44 812

原创 鸿蒙Hi3861学习十三-Huawei LiteOS-M(STA模式)

为指定的WIFI事件注册回调函数。当wifiEvent中定义的wifi事件发生时,将调用已注册的回调函数。

2023-05-15 15:56:24 1772 2

原创 鸿蒙Hi3861学习十二-Huawei LiteOS-M(osXX与LOS_XX)

osXX是cmsis标准的接口,例如osThreadNew、osTimerNew、osSemaphoreNew等。因为这些函数我们在之前的文章中都有详细介绍,这里不做过多介绍,只介绍这些文件的位置,感兴趣的自行研究。

2023-05-11 15:00:19 931

原创 鸿蒙Hi3861学习十一-Huawei LiteOS-M(内存池)

创建内存池。不能在中断中调用。block_count:申请的内存块个数block_size:每个内存块的大小attr:属性。自定义内存时使用,默认为NULLNULL:失败其他值:内存池ID。

2023-05-11 09:46:02 1666

原创 鸿蒙Hi3861学习十-Huawei LiteOS-M(消息队列)

函数功能:创建队列。不能在中断中使用。msg_count:队列元素总个数msg_size:队列单个元素大小attr:属性,自定义地址时使用。默认为NULLNULL:失败其他:队列标识符char *Buf;

2023-05-09 15:23:47 1653

原创 鸿蒙Hi3861学习九-Huawei LiteOS-M(互斥锁)

创建互斥锁。不可在中断中使用。attr:属性,自定义内存时使用。默认NULL锁标识符。

2023-05-08 17:45:36 1343

vscode,linux下的安装包 (旧)

适配Ubuntu18.04版本

2024-11-25

hex文件转bin文件

hex文件转bin文件

2024-08-28

Hi3861L原生SDK

Hi3861L原生SDK

2023-08-23

bin文件转txt文件

bin文件转txt文件

2023-02-16

MT7682 SDK开发资源包

MT7682 SDK开发资源包

2022-01-26

STM32F103ZET6 IAP串口下载

压缩文件中总共包含了3个文件,一个主程序、一个IAP串口下载程序、一个刷新程序。主程序是正常执行的程序,亮LED,在串口收到指定命令后进入IAP程序,亮另外一个LED,然后通过串口发送刷新程序的烧写文件,同时亮两个LED。 有关本程序IAP详细介绍,看一下链接。 https://blog.csdn.net/qq_26226375/article/details/80158869

2018-05-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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