
各语言
文章平均质量分 93
whaosoft-143
这个作者很懒,什么都没留下…
展开
-
51c~C语言~合集5
在头文件中定义变量,将会由于头文件被其他.c文件包含而导致变量重复定义。原创 2025-05-16 00:15:00 · 677 阅读 · 0 评论 -
51c~C语言~合集4~指针
因为“野指针”可能指向任意内存段,因此它可能会损坏正常的数据,也有可能引发其他未知错误,所以C语言中的“野指针”危害性甚至比“悬空指针”还要严重。C语言中的指针可以指向一块内存,如果这块内存稍后被操作系统回收(被释放),但是指针仍然指向这块内存,那么,此时该指针就是“悬空指针”。上面我们讲的“悬空指针”是指向被释放内存的指针,“野指针”则是不确定其具体指向的指针。提起C语言大部分开发者很自然就会想到指针二字,指针中的两个特有名词:“悬空指针”和“野指针”。原创 2025-05-15 00:45:00 · 495 阅读 · 0 评论 -
w~嵌入式C语言~合集6
每个硬件如LED控制,GPIO口需要初始化,初始化函数bsp_led_init();原创 2025-04-28 00:15:00 · 836 阅读 · 0 评论 -
w~嵌入式C语言~合集4
STM32,从字面上来理解,ST是意法半导体,M是Microelectronics的缩写,32表示32位,合起来理解,STM32就是指ST公司开发的32位微控制器。在如今的32位控制器当中,STM32可以说是最璀璨的新星,它受宠若娇,大受工程师和市场的青睐,无芯能出其右。STM32属于一个微控制器,自带了各种常用通信接口,比如USART、I2C、SPI等,可接非常多的传感器,可以控制很多的设备。原创 2025-04-28 00:15:00 · 902 阅读 · 0 评论 -
w~嵌入式C语言~合集5~面试题系列
我自己的原文哦~ https://blog.51cto.com/whaosoft/13870328给自己的学习总结帖~~ 这里仅都是c语言 嵌入式相关代码第5季啊#error的作用是什么?#error 指令让预处理器发出一条错误信息,并且会中断编译过程。下面我们从Linux代码中抽取出来一小段代码并做修改得到示例代码:这段示例代码很简单,当RX_BUF_IDX宏的值不为0~3时,在预处理阶段就会通过 #error 指令输出一条错误提示信息:"Invalid configuration for原创 2025-04-27 00:15:00 · 807 阅读 · 0 评论 -
w~嵌入式C语言~合集3
我自己的原文哦~ https://blog.51cto.com/whaosoft/13870307单片机的ROM与RAM存贮空间有限,一般没有多线程可用,给复杂的单片机项目带来困扰。 经过多年的单片机项目实践,借鉴windows消息机制的思想,编写了单片机多任务事件驱动C代码,应用于单片机项目,无论复杂的项目,还是简单的项目,都可以达到优化代码架构的目的。 经过几轮的精简、优化,现在分享给大家。 代码分为3个模块:任务列表、事件列表、定时器列表。 任务列表创建一个全局列表管理原创 2025-04-27 00:15:00 · 909 阅读 · 0 评论 -
w~嵌入式C语言~合集2
使用通用定时器进行中断的原理,其实和开发板Systick定时器进行中断延时很相似(Stm32入门——Systick定时器),即:用psc(预分频系数)设置好定时器时钟后,arr(预装载值)在每个时钟周期内减1,当arr减为0时触发中断然后进入中断处理程序进行中断处理。原创 2025-04-26 01:00:00 · 910 阅读 · 0 评论 -
w~嵌入式C语言~合集1
define是C语言中的预处理命令,它用于宏定义(定义的是常量),可以提高源代码的可读性,为编程提供方便。常见的格式:定义标识符HSE_VALUE的值为8000000,数字后的U表示unsigned的意思。至于define宏定义的其他一些知识,比如宏定义带参数这里我们就不多讲解。原创 2025-04-26 01:00:00 · 949 阅读 · 0 评论 -
51c~C语言~合集3~内存
未初始化局部静态变量(或初始化为0的局部静态变量)放到.bss段,对于未初始化全局变量(或初始化为0的全局变量),不同语言与编译器的实现有不同的处理,有的只是在.baa段预留一个未定义的全局变量符号,等到最终链接成可执行文件的时候再在 .bss 段分配空间。内存还很容易被破坏。目标文件一般包含编译后的机器指令代码、数据、调试信息,还有链接时所需要的一些信息,比如重定位信息和符号表等,而且一般目标文件会将这些不同的信息按照不同的属性,以“节(section)”也叫“段(segment)”的形式进行存储。原创 2025-04-11 04:15:00 · 864 阅读 · 0 评论 -
51c~C++合集1
举一个例子,当我们的线程池中有100个任务,开了50个线程,当有49个线程都在工作时,此时还剩下一个任务没有执行,显而易见应当是剩下的那个线程去偷取剩下的一个任务,但是如果我们有30个任务组盛放了这100的任务,此时剩下的一个任务还不知道被放在哪里了呢。当然不是,我们可以设置一个缓存空间的最大任务数量,当传入的任务缓存满时,我们可以让后面的任务等一等不要着急,当任务队列中的任务减少的时候,我们就让缓存队列中的任务读出加入任务队列,同时写入新的任务。需要说明的是,真实的多线程情况远比我们刚才讨论的复杂。原创 2025-03-21 22:07:49 · 1014 阅读 · 0 评论 -
51c~嵌入式~C语言~合集1
怎么才能做好嵌入式开发?学好C语言吧!今天就来推荐一篇大佬写的嵌入式C语言知识点总结。C语言中的关键字数据类型(常用char, short, int, long, unsigned, float, double)运算和表达式( =, +, -, *, while, do-while, if, goto, switch-case)数据存储(auto, static, extern,const, register,volatile,restricted),原创 2024-12-25 02:00:00 · 2203 阅读 · 0 评论 -
51c~C语言~合集2
这里声明了拥有30个元素的数组,不幸的是for循环代码中误用了本不存在的数组元素SensorData[30],但C语言却默许这么使用,并欣然的按照代码改变了数组元素SensorData[30]所在位置的值, SensorData[30]所在的位置原本是一个LCD显示变量,这正是显示屏上的那个值不正常被改变的原因。实际上,编译器是将数组名Sensor隐含的转化为指向数组第一个元素的指针,函数体是使用指针的形式来访问数组的,它当然也不会知道数组元素的个数了。C语言会千方百计的为程序员创造出错的机会,可见一斑。原创 2024-11-25 18:40:05 · 1106 阅读 · 0 评论 -
51c~C语言~合集1
C 语言把文件看作是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组织形式,可分为 ASCⅡ 文件和二进制文件。文件的操作包括:文件的打开、文件的关闭、文件的读写操作、文件状态检查以及文件的定位等。1 文件的打开1.1 函数原型1.2 功能说明按照 mode 规定的方式,打开由 pname指定的文件。此时如 mode 规定按写方式打开文件,就按由pname 指定的名字建立一个新文件;此时如 mode 规定按读方式打开文件,就会产生一个错误;原创 2024-11-01 17:30:50 · 1045 阅读 · 0 评论 -
w~C语言~合集1
本文是AliOS Things提供的一套C语言代码规范,适用的对象为符合C99标准的C语言工程。原创 2024-10-30 20:14:49 · 1159 阅读 · 0 评论 -
w~python~合集1
SVM从过去的炙手可热到如今的日薄西山,仅仅过去了十年的时间,无论是精度还是效率,SVM都完败于当下随处可见的神经网络,关于从零开始实现SVM的意义,我也感到迷茫,但这一过程或多或少改变了我对机器学习的认知,一个简洁优雅的多项式时间精确算法,也许只能满足理论研究者的洁癖,而优化复杂模型的近似算法,在工程上赢得了未来。从零开始实现支持向量机。所以说要实现插值算法,我们的目标是通过给定的x值和y值,创建一个函数y=f(x),可以在该函数中插入想要的任何值a并获得相应的值y=f(a)。定义数据点坐标的数组。原创 2024-10-22 16:13:50 · 1110 阅读 · 0 评论