- 博客(9)
- 问答 (1)
- 收藏
- 关注
原创 值传递、指针传递、引用传递
函数调用时,将实参的引用传递给形参,形参是实参的别名。对形参的操作实际上就是对实参的操作。在函数内部修改实参的值,避免了数据的复制。引用传递比指针传递更安全,因为引用必须在定义时初始化,且不能为。将实参的地址传递给形参,形参是一个指针。通过指针可以直接访问和修改实参所指向的内存空间。可在函数内部修改实参的值,避免了数据复制。特点:传入的是实参的副本。函数内部对形参修改,实参不影响。
2025-04-03 21:05:32
95
原创 单工、半双工、全双工、同步、异步
在数据通信过程中,发送端和接收端双方只有相互“协调”,才能实现数据的正确传输。发送端和接收端之间的协调方式有两种:同步和异步。由于每个数据帧中都包含额外的起始位(1位)和停止位(1位~2位),异步通信的。,在发送端和接收端之间不存在共同的时钟。通常,异步通信中的数据以指定的格式打包为帧进行传输,并在一个数据帧的开头和结尾使用。同步通信的发送端和接收端都多占用了一个 IO口用于时钟,但数据传输速度快,适用于需要。例如,辩论就是半双工方式,正方和反方可以轮流发言,但不能同时发言。同步通信,但在发送端和接收端。
2024-08-09 16:52:47
544
原创 sprintf函数,va_list(),va_start(),va_arg(),va_end()
在上面的myFunction(6,5,4,3,2,1)函数中,函数参数列表中最后一个固定参数(5)的地址加上第一个可变参数(4)对其的偏移量就是函数的可变参数列表了(这就是va_start的实现),也就是会使ap指向4(可变参数列表的第一个参数)。当调用此函数myFunction(6,5,4,3,2,1)时,参数入栈顺序为:1、2、3、4、5、6 参数出栈顺序为6、5、4、3、2、1. 栈底为高地址,栈顶为低地址。//串口发送字符数组(字符串)它在可变参数函数的末尾使用,以结束可变参数的处理。
2024-07-22 13:56:24
1915
原创 Linux常用系统命令
ls -a 显示指定目录下所有子目录与文件,包括隐藏文件。英语点号开头的文件会被作为隐藏文件处理,英语点号开头的文件夹也被作为隐藏文件夹处理。例如:文件 .a.txt, 目录 .tp5。ls -l 以列表方式显示文件的详细信息,读写权限等(隐藏文件不显示)cd 切换到当前用户的主目录cd . 保持当前目录不变cd .. 进入上级目录( . 代表当前目录,..代表上级目录)
2024-07-10 21:25:08
720
原创 SPI外设
TDR整体转入移位寄存器的时刻,置TXE标志位;移位寄存器数据整体转入RDR的时刻,置RXNE标志位。第一个数据写入TDR,当移位寄存器无数据移位,TDR数据立刻转入移位寄存器,开始移位,转入时刻置TXE标志位=1,表示发送寄存器空,第二个数据写入TDR等候。移位寄存器一旦有数据进入,会自动产生时钟,将数据移出去,一旦移出完成,移入也完成了。移入数据整体转移到RDR,置RXNE标志位=1,表示RDR寄存器非空,读取RDR数据。
2024-03-18 10:39:04
197
空空如也
MATLAB索引超出问题边界,如何修改啊
2022-02-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人