- 博客(86)
- 收藏
- 关注
原创 硬盘协议、接口、总线
硬盘接口目前的固态硬盘按照传输通道来分:PCIe和SATA。而接口形式又分为:SATA、M.2、U.2、AIC(all in card)。SATA接口SATA即使一种总线标准,也是比价普遍的接口,SAS兼容SATA接口,主板上的mSATA接口,支持SSD,如下图。SAS接口SAS是新一代串行连接SCSI协议,SAS向下兼容SATA接口及其协议。M.2接口M.2接口支持PCIe、SATA通道,NVMe协议走的PCIe通道。在接口方面:如果是SATA协议,针脚初有两个凹口,三段
2021-09-28 19:23:36 2459 1
原创 PHY卡 网卡区别联系
网卡网卡也分为:软硬卡。是因为以太网接口可分为协议层、物理层,协议层是由一个叫MAC(Media Access Layer,媒体访问层)控制器的单一模块实现。物理层由两部分组成,即PHY(Physical Layer,物理层)和传输器。常见的网卡芯片都是把MAC和PHY集成在一个芯片中,但目前很多主板的南桥芯片已包含了以太网MAC控制功能,只是未提供物理层接口,因此,需外接PHY芯片以提供以太网的接入通道。这类PHY网络芯片就是俗称的“软网卡芯片”,常见的PHY功能的芯片有RTL8201BL、VT6
2021-09-13 15:18:47 4164
原创 DIMM DDR 区别和联系
DIMMDual-Inline-Memory-Modules,即双列直插式存储模块,是指的平时说的内存条,现在基本上所有的内存条都是DIMM的。DDRDouble Data Rate双倍速率,指的是内存条上面的内存颗粒的性质。
2021-09-13 14:34:29 1768
原创 单片机串口发送16进制、ASCII
单片机串口发送16进制、ASCII单片机的串口是,你给的是什么格式他就发送什么格式,在使用串口助手接收到时候也会出现“用什么显示的选项”:1.如果你串口发送的是16进制数,可以直接把16进制数放到数组里面进行发送,也可以用sprintf函数对数据进行格式化成16进制格式,在进行发送。2.如果你想发送ASCII码,就要把数据转换成字符串或者ASCII码进行发送个人理解,互进。...
2020-06-18 11:13:44 6259 1
原创 c++面试--类中常数据成员的初始化
类中常数据成员的初始化1.只能通过构造函数的参数初始化常成员数据,2.常成员函数只能引用类中的数据成员,但是不能修改它。
2020-05-06 00:28:55 726
原创 c++面试--运算符重载作为友元函数
运算符重载作为友元函数运算符重载作为友元函数:1.单目运算符最好重载为类的成员函数2.双目运算符最好重载为类的友元函数3.双目运算符“=、()、[]、->"不能重载为类的友元函数...
2020-05-05 20:18:51 344
原创 uboot操作流程
uboot操作流程1.解压缩(Linux解压缩命令)2.打补丁(patch命令:patch -p 。。。)3.配置(1)使用命令make menuconfig (2)使用默认的配置文件,在上面修改。在arch–arm–defconfig下找到相似的配置文件xxx_defconfig,就直接执行make xxx_defconfig。会生成.config文件,然后执行make menuc...
2020-05-03 20:09:05 187
原创 栈的顺序存储结构
栈的顺序存储结构栈的顺序存储结构,主要有:栈顶指针、栈底指针、栈长度组成,通过malloc函数申请一片连续的内存,一般栈都是使用顺序存储结构。栈的特点:先进后出。...
2020-04-25 23:22:42 192
原创 c--*tp++理解
*tp++理解char *tp="test";a=*tp++;//*tp++理解:在指针中 * & ++ --是同一优先级,且都是自右向左结合。//*tp++:先取出tp当前地址上的值,在tp地址++。
2020-04-23 18:46:22 560
原创 c++--解决cin输入流中遇到空格结束问题
解决cin输入流中遇到空格结束问题 cout<<"请输一个字符串"<<endl; cin>>a; cout<<a<<endl; //例如输入“h kj s”,则在a中只有‘h’,因为cin遇到空格直接结束。 //解决办法: getline(cin,a);//从输入流得到一行字符串到a,默认遇到换行结束。...
2020-04-22 19:36:58 7076
原创 c++--设计函数重载:输入一个参数求平方、两个参数求积、三个参数求和
#include<iostream>using namespace std;//F=C*9.0/5.0+32int cala(int x);int cala(int x,int y);int cala(int x,int y,int z);int main(){ int a[3],i=0;// int typetx, typety,typez; co...
2020-04-19 11:13:59 917
原创 C++--结构体占用内存大小
结构体占用内存大小struct student{ char name[10]; int score;};struct student class1[5];在vs2010用sizeof显示占用内存大小80字节,结构体在内存大小的本质是:字节对齐结构体每个成员相对于结构体首地址的偏移量都是成员大小的整数倍什么是字节对齐:在默认的情况下,该类型数据的首地址应该是该类型字节的倍数,...
2020-04-06 22:09:33 343
原创 c++/C面试
编写一个程序,要求用户输入一串整数和任意数目的空格,这些整数必须位于同一行中,但允许出现在该行中的任何位置。当用户按下键盘上的“Enter”键时,数据输入结束。程序自动对所有的整数进行求和并打印出结果。#include<iostream>using namespace std;int main(){ int i; cout<<"请输入一串整数和任意数目的空格"&...
2020-04-03 00:09:05 114 1
原创 c++/c面试--指针&数组
指针&数组int main(){ int arry[]={0,1,2,3,4,5,6,7,8,9}; cout<<sizeof(arry)<<endl;//1 add(arry,..);//2}void add(int arr[],int n){ ... cout<<sizeof(arr)<<endl;}注释:1:...
2020-04-02 22:11:56 145
原创 C++--int *ptr =(int *)1000
int *ptr =(int *)1000;//声明了一个内存地址为1000的变量ptr,通俗来讲:待续
2020-03-30 23:05:36 330
原创 c++--*c = b与c = &b相同与不同之处
*c = b与c = &b相同与不同之处*c=b:指针c内存上存储的某个地址,这个地址上的数据被赋值成b。通俗来讲:是把b的值赋值给指针c,但是改变c的值b不改变c=&b:是把变量b的地址存储在指针c变量所在的内存空间,如果用*改变指针c所指向的变量,就会造成b的改变。...
2020-03-30 00:26:56 558
原创 c++--指针取值&取址
指针取值&取址 int testData=100; int *ptr1=&testData; int **ptr2=&ptr1; int ***ptr3=&ptr2; cout<<*ptr3<<endl; cout<<ptr2<<endl;首先说取值*:1.指针不是基本数据类型,指针在内存中存放的不...
2020-03-28 00:49:34 14711
原创 C++--cout
coutc++d的cout输出char、unsigned char类型数据的时候,只能输出相对应的acsii码。cout输出10进制数:cout输出16进制数:cout输出18进制数:int testData=56;cout<<hex<<testData<<endl;cout<<oct<<testData<&l...
2020-03-24 16:39:21 190
原创 AD16画图--unspecified sheet entry object
unspecified sheet entry object在画原理图的时候,使用图表符的功能,编译原理图提示unspecified sheet entry object。这是因为图表符的端口没有定义为输入还是输出。要详细定义端口的io类型。...
2020-01-31 21:27:46 1381
原创 C语言--typedef的四种用法
typedef的四种用法typedef的四种用法:1)为基本数据类型定义类型名typedef unsigned int uint_8;2)为自定义数据类型(结构体、枚举、共用体)定义别名3)为数组定义简易的别名typedef int a[200];a b;//定义了一个b[200]的数组。通过typedef别名定义的。4)为指针定义简洁的名称typedef v...
2020-01-22 10:19:49 792
原创 C语言--数组指针
数组指针数组指针和指针数组不是同一个概念,数组指针:指向数组的指针,前提他是个指针。指针数组:前提他是个数组,但是数组的每一个元素都是指针;//格式:int(* p)[10];//定义一个指针p指向一个数组,这个数组有10元素//如果没有()int* p[10];//定义一个有10个元素的数组,数组的每一个元素都是int型的指针//例程1:int(* p)[10];int a[...
2020-01-22 00:32:10 154
原创 GNU汇编--部分代码理解
部分代码理解//下面是s3c2440部分汇编代码.text/*.text是对应的代码段,一个汇编语言的开始一定有代码段*/.global _start/*.global是定义一个全局函数_start,start也是代码段函数的缺省入口,汇编语言从start开始执行*/_start: b reset /* vector 0 : reset */ ldr pc, und_addr /* ...
2020-01-19 23:02:13 261
原创 arm指令--ldr指令
ldr指令ldr作为指令、伪指令在arm汇编中。ldr指令格式:LDR{条件} 目的寄存器,<存储器地址>LDR R0,[R1] ;将存储器地址为R1的字数据读入寄存器R0。LDR R0,[R1,R2] ;将存储器地址为R1+R2的字数据读入寄存器R0。LDR R0,[R1,#8] ;将存储器地址为R1+8的字数据读入寄存器R0。LDR R0,[...
2020-01-19 17:45:25 2976
原创 ArmGNU汇编&Arm汇编
ArmGNU汇编&Arm汇编arm芯片做汇编开发有两种汇编形式可以选择,1.arm汇编2.arm gnu汇编两者用的都是汇编指令,不同在于两者的伪指令、伪操作不一样。arm汇编用的是arm的编译器,而armgnu的汇编用的是arm–gcc编译器。GNU-ARM的注释代码中的注释可以是@,整段注释/…/整行注释符号#语句分隔符;立即数的前缀#或者$。Linux的汇编语...
2020-01-16 23:34:18 493
原创 labview--生成窗口固定大小的EXE程序
生成窗口固定大小的EXE程序在vi属性–》窗口出现–》更改窗口显示的工具条在窗口大小更改大小,图片中两个选项都不打钩。在窗口运行位置–》设置为位置不变...
2019-12-29 16:55:07 5238 5
原创 IAR--cubemx生成32程序
cubemx生成32程序不要使用中文路径和特殊非法字符作为文件名。尽量养成良好的习惯,含有中文路径会造成生成工程错误。
2019-12-28 11:20:09 208
原创 单片机--main函数流程
main函数流程举例:串口接收中断、dma发送、定时器检测、dac转换int main(void){ HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_DMA_Init(); MX_USART1_UART_Init(); MX_DAC_Init(); MX_TIM3_Init(); HAL_UART_R...
2019-12-27 14:38:08 2520 1
原创 单片机--hal库串口dma
hal库串口dma在使用hal库的串口dma时候,串口dma发送默认会打开dma传输中断,并且关闭串口接收中断,导致串口接收中断一直进不来,解决办法:在串口dma发送之后再加入一个函数:HAL_UART_Receive_IT(&huart1, (uint8_t *)&aRxBuffer, 1); //再开启接收中断假如程序奔,死循环只有串口dma发送,这样在...
2019-12-27 10:26:53 418
原创 C语言面试--转义字符
转义字符所有的ASCII码都可以用“\”加数字来表示,数字一般是8进制数,而C语言定义了一些用""加字母来表示那些不能用键盘输入的ASCII字符。例如:char code[1]='\109';//因为109超出的8进制数,所以109表示两个字符,一个\10 ;另一个9.又因为code是char型,只能存储一个字符型所以只能存储最后一个‘9’.//以上是本人的理解,望批评指正in...
2019-12-24 13:18:29 216 1
原创 单片机--中断接收
中断接收问题描述:在while(1)里面进行串口的发送,在中断进行串口的接收,但是接收一会后就再也进不去中断了。有可能串口发送的过程中停止了串口接收中断。...
2019-12-22 16:19:24 348
原创 单片机C语言--定位数组字符
//返回数组中字符的位置,//Cchar:字符 *pbuff数组uint8_t buffanaly(uint8_t *pbuff,uint8_t Cchar ){ uint8_t CcharLocat=0; while((*pbuff)!=Cchar) { pbuff++; CcharLocat++; if(CcharLocat==254) { ...
2019-12-18 15:42:36 308
原创 C语言--float与零值比较
float与零值比较float类型不能直接与整形0值比较,一般情况是根据工程需要进行设计零值周围的上下线。例如程序:const float EPSINON = 0.00001; if ((x >= - EPSINON) && (x <= EPSINON)解析:当x处于EPSINON 的范围之内就是零值。...
2019-11-29 09:13:07 2957
原创 C语言面试--01
######C语言面试–01void main() { unsigned int i; for(i=9;i>=0;i--) { printf("%u\n\r",i); //while(!i); } 代码分析:1.无符号整形i,i始终大于等于0,2.i>.=0始终为真。3.当i=0时,i-- =-1;-1在内存里以补码的形式存储,4.而这个补码又赋值给无符...
2019-11-24 15:39:53 103
原创 C语言--null
null在C语言中,NULL和0的值都是一样的,但是为了目的和用途及容易识别的原因,NULL用于指针和对象,0用于数值。对于字符串的结尾,使用’\0’,它的值也是0,但是让人一看就知道这是字符串的结尾,不是指针,也不是普通的数值。...
2019-11-24 11:10:05 134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人