- 博客(27)
- 收藏
- 关注
原创 CSS安装出错:Unicode Character Check -> Your temp directory path contains Unicode characters........
安装css,的时候出现上面内容,并导致无法安装css,上面内容报错原因是:**Unicode字符检查->您的临时目录路径包含Unicode字符,这些字符可能破坏套接字。**这将导致css无法安装。我的出错原因:电脑买的比较早,那时候不懂电脑,用户名只用了中文,后来懂电脑了,只修改了登录账号的用户名,其他原来相关的目录名,并没有修改为非中文,想重装系统,但资料比较多,比较麻烦.讲TEMP环境变量改到新建到D盘TEMP路径。在D盘建立TEMP文件夹。
2023-11-19 11:41:05
2381
2
原创 什么是硬开关和软开关?
我们知道理想开关状态下,开关器件的端电压为0或流过开关管的电流为0,而两者的过渡状态下,电压、电流均不为0,两者出现交叠,因此会产生开关损耗,而电压和电流变化速度很快,波形会产生明显过充,从而产生了开关噪声,如图1a所示。这种开关过程被称为硬开关。从上述定义可知,若要实现开关器件的软开关,则需要使其开通前两端电压降为0或使其关断前流过的电流降为0,如图1b所示。最经典的软开关电路是利用谐振构造软开关条件,但是谐振往往需要外加谐振器件和电路,这不仅会增加电路的复杂度,也对电路的谐振参数计算有很高要求。
2023-08-05 21:40:15
11344
原创 指针作函数返回值和指针为函数形参的使用
int num=12;//num是局部变量,函数调用结束后内存回释放,所以返回它的地址是不安全。3,可以返回动态内存分配的地址,因为不会自动释放,需要我们手动释放.1,不要返回局部变量的地址,函数调用结束后内存回释放不安全,2,可以返回静态变量(全局变量的)地址,因为生命周期长,__sleep(2000);//延时2s 等待它释放。//延时2s 等待它释放。//延时2s 等待它释放。结果为str2为maye。
2023-03-19 14:19:50
331
原创 GD30303 看门狗
当你用一款单片机开发具体产品的时候,为了保证软件的可靠性,除了一系列的框架与流程图等等,也需要有类似定时检查的机制,去保证我们的MCU在正常按照你的软件逻辑在运行,这就是我们单片机功能中的看门狗模块。看门狗定时器在内部计数值达到了预设的门限的时候,会触发一个复位(对于窗口看门狗定时器来说,会产生一个中断)。对绝大多数产品而言,我们需要的看门狗还是定时检查然后复位的功能,计数精度并不是特别重要(如1s变成1.01s)。两者所做的最终目的都是同一件事——定时检查,异常的情况下自动复位。/* 某种条件触发 */
2023-03-12 21:35:46
1039
转载 HAL库中的 SYS Timebase Source 和 SysTick_Handler()
HAL库中的 SYS Timebase Source 和 SysTick_Handler()
2022-09-24 22:36:18
3191
原创 warning: unknown attribute ‘at‘ ignored [-Wunknown-attributes] keil报错处理
KEIL 报错处理
2022-08-09 18:55:28
6032
3
原创 Stm32 freertos队列串口缓冲区的使用
main.c#include "Config.h"#include "Command.h" #include "Control.h"#include "bsp.h"#include "delay.h"#include "24C512.h"#include "FreeRTOS.h"#include "task.h"#include "queue.h"//==================================================//任务优先级#defi.
2022-04-17 15:37:54
2264
原创 NI6509输出遇到的问题
在做某一项目的时候使用NI卡来驱动报警塔灯遇到,只要给自己做的板卡上电蜂鸣器塔灯就开始工作,开工控机后恢复正常,后查明NI卡有两种状态一种是上电输出低电平状态,一种是开工控机初始化后为高电平状态.电路图如下图所示因为给NI6509供电后,它的管脚输出管脚会出现输出低电平情况,此时工控机都未开,无法使用它软件可配置电平状态.那怎么办呢,改输出电平逻辑吧.后来使用高电平控制,配合配置NI 6509 初始状态故障消除. 其中P1.7口高电平5V 低电平0V改动后电路如下.(R.
2022-04-14 10:59:08
700
原创 函数指针的应用
函数指针的形式:形式1:返回类型(*函数名)(参数表)char(*PTRFun)(int);char glFun(int a){ a=a+2; printf("a=%d",a); return 0;}void main(){ PTRFun=glFun; (*PTRFun)(2);}也可以用typedef 来定义而typedef可以让函数指针更直观方便形式2:typedef 返回类型(*新类型)(参数表)typedef char(*PTRFun)(...
2022-04-06 16:24:01
155
转载 常量指针、指针常量与指向常量的指针常量的区别
常量指针、指针常量、指向常量的指针常量三个名词虽然非常绕嘴,不过说的非常准确。用中国话的语义分析就可以很方便地把三个概念区分开。一) 常量指针。常量是形容词,指针是名词,以指针为中心的一个偏正结构短语。这样看,常量指针本质是指针,常量修饰它,表示这个指针乃是一个指向常量的指针(变量)。指针指向的对象是常量,那么这个对象不能被更改。在C/C++中,常量指针是这样声明的:1)const int *p;2)int const *p;常量指针的使用要注意,指针指向的对象不能通过这个指..
2022-04-03 10:56:37
1092
2
原创 什么是“NULL指针”,“悬空指针”和“野指针”?
1,什么是NULL指针?NULL用于指示指针未指向有效位置。理想情况下,如果在声明时不知道指针的值,则应将指针初始化为NULL。另外,当由它指向的内存在程序中间被释放时,我们应该使指针为NULL。2,什么是悬空指针?悬空指针是没有指向有效内存位置的指针。当删除或释放对象时,如果不修改指针的值,就会出现悬空指针,因此指针仍然指向释放后的内存的存储位置。以下是示例。悬空指针C语言中的指针可以指向一块内存,如果这块内存稍后被操作系统回收(被释放),但是指针仍然指向这块内存,那么,此时...
2022-03-29 21:29:57
2660
原创 结构体对齐问题
32位系统 数据类型占内存的大小如下图所示.struct name1{char str;short x;int num;}struct name2{char str;int num;short x;}sizeof(struct name1)=8,sizeof(struct name2)=12在第二个结构中,为保证num按四个字节对齐,char后必须留出3字节的空间;同一时候为保证整个结构的自然对齐(这里是4字节对齐),在x后还要补齐2个字节,这样就是12字节。...
2022-03-28 21:23:49
392
转载 指针知多少
前言:复杂类型说明 要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理解一个复杂类型,要理解复杂类型其实很简单,一个类型里会出现很多运算符,他们也像普通的表达式一样,有优先级,其优先级和运算优先级一样,所以我总结了一下其原则:从变量名处起,根据运算符优先级结合,一步一步分析.下面让我们先从简单的类型开始慢慢分析吧: int p; //这是一个普通的整型变量 int *p; //首先从P 处开始,先与*结合,所以说明P 是一个指针,然后再与int 结合,说...
2022-03-21 20:47:17
108
原创 Inline的作用
inline关键字仅仅是建议编译器做内联展开处理,即将函数直接嵌入调用程序的主体,省去了调用/返回指令.在C语言中,如果一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗。为了解决这个问题,特别的引入了inline修饰符,表示为内联函数。函数调用我们大家都很熟悉,我们都知道函数调用是发生在栈上的。首先,我们来了解一下程序对内存使用的分区情况:栈空间就是指放置程序代码的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的,假如频繁大量的使用就会造成因
2022-03-21 16:26:34
1027
原创 指针(++p, p++, *p++,*(p++),(*p)++,*++p,++*p)的区别
一,++p,p++++p是先对p自增,再使用p的值.p++是先使用p的值,再自增二,*p++,*(p++) 两者相同 " * 和++ "优先级相同 自右向左结合,*p++可以看作为*(p++) 其中(p++)先使用p的值,再自增1 假设地址为0x00, *(p+1)则取0x00的地址值.三,(*p)++先分析优先级,有括号,先计算括号内,即先计算(*p)得到X,再计算X++.四,*++p*和++优先级一样,考虑自右向左结合,所以++p先计算得到X,再计算*X.++p是对p地址
2022-03-20 12:35:53
6299
原创 指针的指针
示例:int main(void){ int a[6]={1,2,3,4,5,6},x,y; int *p,**k; p=a; k=&p; x=*(p++); y=**k; printf("x=%d",x); printf("y=%d\n",y);}上面输出的结果为x=1 y=2p为指向数组a[6]数组名为a的指针,p指向数组的首地址,即p指向数组元素a[0]=1的地址。k为指向指针p的地址的指针,即指向指针的指针。*(p++) 先输出*p 然后p++,
2022-03-19 22:39:07
668
原创 C语言中static作用
1,static修饰局部变量在局部变量之前加上关键字static,局部变量就被定义成为一个局部静态变量。特点如下: 1)存储区:由于栈变为静态存储区rw data,生存期为整个源程序,只能在定义该变量的函数内使用。退出该函数后, 尽管该变量还继续存在,但不能使用它;当static修饰局部变量时,可以达到改变局部变量生命周期的目的. 2)作用域:作用域仍为局部作用域,当定义它的函数或者语句块结束的时候,作用域随之结束。void test(){ static...
2022-03-19 19:26:51
2719
原创 C语言常见问题
1,常量赋值问题请问以下代码有什么问题char* s="AAA";printf("%s",s);s[0]='B';printf("%s",s);有什么错?"AAA" 是字符串常量。s是指针,指向这个字符串常量,所以声明s的时候就有问题。cosnt char* s="AAA";然后又因为是常量,所以对是s[0] 的赋值操作是不合法的。2.指针数组,数组指针:用变量a给出下面的定义(1)一个有10个指针的数组,该指针是指向一个整型数的;int *a[10]; //[]”的
2022-03-18 21:48:01
2151
原创 C语言知识点
1,#include<> 与#include ""的区别?include<>到系统指定⽬录寻找头⽂件,#include ""先到项⽬所在⽬录寻找头⽂件,如果没有找再到系统指定的⽬录下寻找2,描述⼀下变量的命名规则变量名有字⺟、数值、下划线组成,但不能以数值开头3,变量的声明与定义有啥区别?变量声明不需要开辟存储空间,定义需要4,谈谈计算机中补码的意义统⼀了零的编码将符号位与其他位统⼀处理将减法运算转换成加法运算5,谈谈数组的特点同⼀个数组所有的成
2022-03-02 22:32:02
988
原创 define的使用
#表示这是一条预处理指令1, 用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECOND_PER_YEAR (356*24*60*60)UL注意点:预处理指令结尾无分号 表达式将使一个16位机的整型数溢出-因此要用到无符号长整型符号U2. 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个#define MIN(a,b) ((a)>=(b)?(b):(a))3. 宏只是简单的文本替换#defi...
2022-03-01 17:07:12
2894
原创 volatile的作用
volatile:字面翻译为易变的一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地从(内存中)重新读取这个变量的值,而不是使用保存在寄存器里的备份存储器映射的硬件寄存器通常也要加voliate,因为每次对它的读写都可能有不同意义; 在中断函数中的交互变量,一定要加上volatile关键字修饰,这样每次读取非自动存储类型的值(全局变量,静态变量)都是在其内存地址中读取的,确保是我们想要的数据
2022-03-01 13:50:03
571
原创 函数指针和指针函数
定义不同:1,函数指针:函数的指针 修饰词是"函数的“ 它是一个指针,其指向一个函数2,指针函数:指针的函数 修饰词是"指针的" 它是一个函数, 其返回值为指针写法不同:1,函数指针:int (*fun)(int x,int y) *号是属于函数名 需要括号括起来(针对函数名)2,指针函数:int* fun(int x,int y) 返回值为指针*号是属于数据类型 不需要括号...
2022-03-01 13:33:26
172
转载 FreeRTOS在Cortex-M3上的移植
移植过程1 添加RTOS核心代码将tasks.c、queue.c和list.c这三个内核代码加入工程,将port.c和heap_1.c这两个与处理器相关代码加入工程。port.c位于FreeRTOS\Source\portable\RVDS\ARM_CM3文件夹下,heap_1.c位于FreeRTOS/Source/portable/MemMang文件夹下。2 添加头文件...
2019-02-28 11:21:17
612
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人