c++笔试面试之网络和多线程
该文档是我总结的c++笔试面试通常会问的一些问题。另外可以从我的资源目录下找c++数据结构与算法,c++笔试面试基础两部分材料,综合这三个材料一起看,我相信大家一定尽快找到工作。ClientServerFIN WAIT 1IFIN MCLOSE WAITack M+1FIN WAIT 2LAST ACKFIN NTIME WAITACK=1 ack=K+CLOSEDm由于TCP连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送个FIN来终止这·方向的连接,收到个FIN只是意味着这方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这一方向也发送了FIN。首先进行关闭的一方将执行主动关闭,而另一方则执行被动关闭,上图描述的即是如此第一次挥于Client发送个HN,用来关闭 Client到 Server的数据传送, Client进入 FIN WA1状第二次挥手Server收到FIN后,发送一个ACK给 Clien,确认序号为收到序号+1(与SN相同,一个FIN占用一个序号), Server进入 CLOSE WAIT状态。第三次挥手Server发送一个FIN,用来关闭 Server到 Client的数据传送, Server进入 LAST ACK状态。第四次挥手Client收到FIN后, Client进入 TIME WAIT状态,接着发送一个ACK给 Server,确认序号为收到序号+1, Server进入CL0SED状态,完成四次挥手。5.tcp为什么建立连接是三次握手,而关闭连接却是四次挥手呢?当主杋A确认发送完数据且知道B已经接受完了,想要关闭发送数据口(当然确认信号还是可以发),就会发FN给主机B;主机B收到A发送的F⊥N,表示收到了,就会发送ACK回复;但这是B可能还在发送数据,没有想要关闭数据口的意思,所以FⅣN与ACK不是同时发送的,而是等到B数据发送完了,才会发送FIN给主机A:;A收到B发米的FIN,知道B的数据也发送完∫,回复ACK,A等待2MSL以后,没有收到B传来的任何消息,知道B已经收到自己的ACK了,A就关闭链接,B也关闭链接了。6.TCP头大小,包含字段?TCP协议头最少20个字节,包括TCP的源端口,目的端口,序列号,应答号等等。7.tcp与udp的区别?为什么TCP要叫做数据流?1).基于连接与无连接2).对系统资源的要求(TCP较多,UDP少)3).UDP程序结构较简单4).流模式与数据报模式5).TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证6).TCP有拥塞控和流量控制,UDP没有TCP提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丟弃重复数据,检验数据,沇量控制等功能,保证数据能从端传到另·端UDP是一个简单的面向数据报的运输层协议。∪DP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是不能保证它们能到达目的地。山于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快8使用udp和tcp进程网络传输,为什么tcp能保证包是发送顺序,而udp无法保证?因为TCP发送的数据包是按序号发送,有确认机制和丢失重传机制,而udp是不可靠的发送机制,发送的对应端口的数据包不是按顺序发送的。9tcp三次握手的, accept发生在三次握手哪个阶段?三次握手:C--->SYNK>ACK K+1 SYN JC->ACK]+1DONELclient的 connect引起3次握于server在 socket,bind, listen后,阻塞在 accept,三次握手完成后, accept返回一个fd,TCP服务器端sackettTC客户端bindosten)connecto建立连接阻寒直到有客户端连接请求数据writereadr处理请求回应数据readr结束连接readr yclose10.流量控制和拥塞控制的实现机制数据的传送与接收过程当中很可能出现收方来不及接收的情况,这时就需要对发方进行控制,以免数据丢失。流量控制是一种解决发送端与接收方吞吐量不匹配问题的机制。网络拥瘧现象是指到达通信了网中杲部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个冈络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿即出现死锁现象。拥塞控制是处理网络拥塞现象的一种机。11.滑动窗口的实现机制滑动窗凵机制是tcp流量控制的一种机制。滑动窗口分为发送窗凵和接收窗口,发送窗口会根据接受窗口返回的ack中的大小来确定发送数据多少,如果ack返回可接受为零时,发送窗口不发送数据,然后启动定时器,一定时间内给接收端发送探测报文。为了传递效率提扃,发送数据吋会尽量次发送多个字节,这里会通过算法控制接收窗口发送窗口接收窗口取决发送窗口取决于对于本段应用端接收窗囗应用应用接收窗口取决发送窗口取决于对于本段应用端接收舍口发送窗口接收窗口字节流方向窗囗关联方问发送窗口中的四个概念:已发送并收到确认;凵发送但未收到确认;允许发送但未发送;不允许发送。每次成功发送完数据后,发送窗口都会根据接受窗口返冋的ack大小来调整窗口大小后浩前沿前移收缩前移A的发送窗凵=20E区图国时国时网國國回回区画乎图已发送井不允许发送收到确认允许发送的序号B期望收到的序号图5-15根据B给出的窗口值,A构造出自己的发送窗口12. linux的五种I0模式/异步模式1)同步阻塞I/O2)同步非阻塞I/O(只能阻塞个io)3)同步I/O复用模型(可以阻塞多个i,用一个进程/线程调用多个io,其实是复用进稈/线程)4)同步信号驱动I/O5)异步I/O模型3.网络编程设计模式, reactor/ proactor/半同步半异步模式?reactor模式:同步阻塞I/O模式,注册对应读写事件处理器,等待事件发生进而调用事件处理器处理事件。 proactor模式:异步I/O模式。 Reactor和 Proactor模式的主要区别就是真正的读取和写入操作是有谁来完成的, Reactor中需要应用程序自己读取或者写入数据, Proactor模式中,应用程序不需要进行实际读写过程。Reactor是:主线程往epo‖l核上注册 socket读事件,上线程调用 epoll_wait等待 socket上有数据可读,当 socket上有数据可读的时候,主线程把 socket可读事件放入请求队列。睡眠在请求队列上的某个工作线程被唤醒,处理客户请求,然后往epo‖!内核上注册 socket写请求事件。主线程调用 epoll_wait等待写请求事件,当有事件可写的时候,主线程把 socket可写事件放入请求队刎。睡眠在请求队列上的工作线程被唤醒,处理客户请求。Proactor主线程调用 aio read函数向内核注册 socket上的读完成事件,并告诉内核用广读缓冲区的位置,以及读完成后如何通知应用程序,主线程继续处理其他逻辑,当 socket上的数据被读入用户缓冲区后,通过信号告知应用程序数据已经可以使用。应用程序预先定义好的信号处理凼数选择一个工作线程来处理客户请求。工作线程处理完客户请求之后调用ao wrⅰte函数向内核注册 socke写完成事件,并告诉内核写缓冲区的位置,以及写完成时如何通知应用程序。主线程处玛其他逻辑。当用户缓存区的数据被写入 socket之后内核向应用程序发送一个信号,以通知应用程序数据已经发送完毕。应用程序预先定义的数据处理函数就会完成工作。半同步半异步模式上:层的任务(如:数据库查询,文件传输)使用同步IO模型,简化了编写并行程序的难度而底层的任务(如网络控制器的中断处理)使用异步I/O模型,提供了执行效率14.1inux下io多路复用的方案 select、poll、epol1的区别select:利用一个数组结构(最大1024)来存储需要检测的描述符,每次调用需要清空数组结构后重新存入新的描述符文件,然后遍历需要操作的描述符。可以用仨检测单个描述符可以理解为拉取pol:也是利用数组结构存储,但是没有描述符个数限制,而且每次调用时不需要清空存储描述符结构数组。可以用于检测大量描述符的情况。可以理解为拉取epoll:是 select/po!的升级版本,它的机制是可以监视大量的描述符,当有需要连接时将改描述符存放到队列中,而epol只监视和执行队列中即可。可以用于大量并发连接中只有少量活跃的情况。可以理解为推送http://blog.csdnnet/lookatthestars/article/details/5210877315.epo11哪些触发模式,有啥区别?(必须非常详尽的解释水平触发和边缘触发的区别,以及边缘触发在编程中要做哪些更多的确认epo‖有EPoL和 EPOLLET两种触发模式,LT是默认的模式,ET是高速"模式。LT模式下,只要这个fd还有数据可读,每次 epoll_wait都会返回它的事件,提醒用户稈序去操作,而在ET(边缘触发)模式中,它只会提示一次,直到下次再有数据流入之前都不会再提小」,无论fd中是否还有数据可读。所以在ET模式下,read一个fd的时候一定要把它的 buffer读光,也就是说一直读到read的返回值小于请求值。也就是说在LT模式的情况下‘定要确认收发的数据包的 buffer是不是足够大如果收发数据包大小大于 buffer的大小的时侯就可能会出现数据丢失的情况。16. Boost.asio、 libevent、1ibev简介。Boost.asio是一个跨平台的C++库,用于网络和底层I/0编程,可以在I/0对象(如socket)上执行同步和异步操作。 boost.asio的跨平台性原理是在win系统(支持I0CP)linux系统(支持epo11)。 boost:asio将整个异步平台抽象成 boost::asio: lo service,用work控制 1o service生命周期,通知它是否结束,只要对象work( 1o servi ce)存在,10 service就不会结束。利用 buffer类存储数据libevent是一个C语言与的网络库,官方主要支持的是类 linux操作系统,最新的版本添加了对 windows的I0CP的支持由于I0CP是异步I0,与 linux下的POL模型, EPOLL型,还有 freebsd的 KQUEUE等这些同步模型在用法上完全不一致,所以使用方法也不样,就好比ACE中的 Reactor和 Proactor模式一样,使用起来需要转变思路。如果对性能没有特别的要求,那么使用 Libevent中的 select模型来实现跨平台的操作, select模型可以橫跨 windows, linux,unix, solaris等系统。libel是一个C语言写的,只支持1inux系统的库,我以前研究的时候只封装了EPOL模型,不知道现在的新版有没有改进。使用方法类似 libevent,但是非常简洁,代码量是最少的一个库,乜貮几千行代码。显然这样的代码跨平台肯定是无法支持的了,如果你只需要在1inux下面运行,那用这个库也是可以的。17. connect可能会长时间阻塞,怎么解决?1.使用定时器;(最常用也最有效的·种方法2.采用非阻塞模式:设置非阻塞,返回之后用 select检测状态18. keepalive是什么东西?如何使用?keepalive,是在TCP中一个可以检测死连接的机制。1).如果主机可达,对方就会响应ACK应答,就认为是存活的。2).如果可达,但应用程序退岀,对方烑发RST应答,发送TCP撤消连接。3).如果可达,但应用程序崩溃,对方就发FIN消息。4).如果对方主杋不响应ack,rst,继续发送直到超时,就撤消连接。默认二个小时。19. socket什么情况下可读?1. socket接收缓冲区中己经接收的数据的字节数大于等于 socket接收缓冲区低潮限度的当前值;对这样的 socket的读操作不会阻塞,并返回一个大于0的值(准备好读入的数据的字节数)2连接的读一半关闭(即:接收到对方发过来的FIN的TCP连接)并且返回03.s0cket收到了对方的 connect请求已经完成的连接数为非0这样的 socket处于可读状态;4.异常的情况下 socket的读操作将不会阻塞,并且返同一个错误(-1)。20. socket编程,如果 client断电了,服务器如何快速知道?使用定时器(适合有数据流动的情况);使用sock吐t选项SO_ KEEPALIVE(适合没有数据流动的情况);1)、自己编写心跳包程序,简单的说就是自己的程序加入一条线程,定时向对端发送数据包,看是否有ACK,根据ACK的返回情况来管理连接。此方法比较通用,般使用业务层心跳处理,灵活可控,但改变了现有的协议2)、使用TCP的 keepalive机制,∪NX网络编程不推荐使用SO_ KEEPALIVE米做心跳检测。keepalive原理:TCP内嵌有心跳包,以服务端为例,当 serve检测到超过一定时间(/proc/sys/net/ipv4/tcp_ keepalive_ time7200即2小时)没有数据传输,那么会向client端发送一个 keepalive packet21.如果 select返回可读,结果只读到0字节,什么情况?某个套接字集合中没有准备好,可能会 select内存用 FD CLR清为0.22.网络中,如果客户端突然掉线或者重启,服务器端怎么样才能立刻知道?若客户端掉线或者重新启动,服务器端会收到复位信号,每一种tcp/ip得实现不一样,控制机制也不·样。23.TTL是什么?有什么用处,通常那些工具会用到它?ping? traceroute? ifconfig?netstat?TTL是 Time to live,每经过一个路由就会被减去一,如果它变成0,包会被丢掉。它的主要目的是防止包在有回路的网络上死转,浪费网络资源。ping和 traceroute用到它。24请说出http协议的优缺点1.支持客户/服务器模式。2.简单快速:客户向服务器请求服务吋,只需传送请求方法和路径,通信速度很快。3.灵活:HTTP允许传输任意类型的数据对象。4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断廾连接。采用这种方式可以节省传输时间。5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,导致每次连接传送的数据量增大。缺点就是不够安全,可以使用hps完成使用25大规模连接上来,并发模型怎么设计Epol1+线程池(epo11可以采用 libevent处理)26.tcp怎么做到不丢包。TCP提供超时重发(每一个seq后都有ack,计时时间到后重发seq),丢重复数据(通过判断seq和ack的大小,如果seq比ack小说明发过了),检验数据(通过tcp的伪首部),流量控制(利用滑动窗口实伣流量控制)等功能,保证数据能从一端传到另一端。27.TCP的确认重发机制A发—B/a向b发送数据B确认-A//b收到数据后发送给a确认包A-在重发数据中将发送成功的数据删掉28.I0CP和epo1l的联系与区别?联系:两者都是高效的io模型,都是基于事件驱动。区别:TOCP用在 Windows上,epo11用在1inux上;IQCP本质是异步非阻塞的,而epo1l是同步非阻塞的;1OCP是当事件完成时再通知,而 epoll是当事件满足处理要求是通知处理。boost中的asio网络模块的跨平台性原理是在win系统(支持IOCP),1inuκ系统(支持epollhttps://yg.aliyun.com/articles/53621进程与线程1.进程之间的通信无名管道:单向通信,只能亲戚关系才能传递,般用在父了进程之间有名管道:单向通信,可以用在任意两个进程之间通信。信号量:是一种计数器,主要用于资源共亨,用在多个进程或者进程内多个线程之间同步手段共享内存:一个进程创建共多个进程使用,和信号一起使用在进程同步与通信。信号:比较复朵的·种通信。套接字:消息队列:客服信号传递信息少,管道缓冲区受限。2.线程同步临界区,互斥对象,事件,信号量3.多线程和多进程的区别1)进程数据是分丌的:共享复岽,需要用IPC,同步简单;多线程共享进程数据:共享简单,同步复杂2)进程创建销毁、切换复杂,速度慢:线程创建销毁、切换简单,速度快3)进程占用内存多,CPU利用率低;线程占用内存少,CPU利用率高4)进程编程简单,调试简单;线程编程复杂,调试复杂5)进程间不会相互影响;线程个线程挂掉将导致整个进程挂抻6)进程适应于多核、多机分布;线程适用于多核线程所私有的:线程jd、寄存器的值、栈、线程的优先级和调度策略、线程的私有数据、信号屏蔽字、ero变量。4.多线程锁的种类有哪些?a.互斥锁( mutex)b.递归锁C.自旋锁d.读写锁5.自旋锁和互斥锁的区别?白旋锁中当锁被其他线程占用时,其他线程并不是睡眠状态,而是不停的消耗CPU,获取锁;互斥锁则不然,保持睡眠,直到互斥锁被释放溦活。自旋锁,递归调用容易造成死锁,对长时间才能获得到锁的情况,使用自旋锁容易造成CPU效率低,只有内核可抢占式或SMP情况下才真正需要自旋锁6.多线程程序架构,线程数量应该如何设置?应尽量和CPU核数相等或者为CPU核数+1的个数7.有一个计数器,多个线程都需要更新,会遇到什么问题,原因是什么,应该如何做?如何优化?有可能一个线程更新的数据已经被另外一个线程更新了,更新的数据就会出现异常,可以加锁,保证数据史新只会被一个线程完成
- 2020-11-27下载
- 积分:1
树莓派3B+使用手册
非常非常实用的树莓派3B+的使用手册,购买3B+新手准新手必备!国内店主自行编写,非常实用具体详细地介绍了树莓派的结构和操作等等。树莓派论坛:htt:/wWw.shumeikai.net淘宝店:htps:/raspi.taobao.com、前言树莓派是个好东西,已是全球第三大计算平台,保有量高,颇受欢迎。好是好但对广大新手而言,不事先做功课,就可能“秒坏《使用手册》因此而生,不妄自菲薄,也不王婆卖瓜,对初次使用者很有裨益(老司机不妨也看看),希望亲拿到手都看下。树莓派论坛( shumeipai. net),2012年开始为大家提供服务,转眼6个多年头了。不管好坏,当初和现在很多资源均来自我们论坛,还是有那么一点点贡献。我们将继续提供更多的ⅥP教程、资源,将陆续开通树莓派产品中心,树莓派百科中心,供大家参考使用。重点来袭,本店目前800种产品,其中95%有资料或教程(力争做到100%),在商品介绍中都会直接展示或链接指向。遇到什么问题,也可以先去下载相关资料来折腾解决。如果是套餐中的产品,哪个产品遇到问题,就到其商品介绍中査看2018年版《使用手册》是第四版,尽量做到简洁,直奔主题。希望能继续帮到大家。二、硬件认识干兆网卡2*2USB接口GPIO排针POERAMCPU标准HDM接口音频及AV视顷网线接口电源管理IC输出口,3.5mmCS接口TF卡槽入直接插拔,不会弹起(2018年3月树莓派3代B+型,正面,背面展示)3/49树莓派论坛:htt:/wWw.shumeikai.net淘宝店:htps:/raspi.taobao.comCORNER RADIUS 3 01Z-lltight: L5.9.623495647262 Height: 13.53.510.253.510.63213(树莓派3代B+主板尺寸图)声明、下载、购买3.1、本手册中所有链接,按下ctl键,同时鼠标点击左键,即可打开页面32、本手册中树莓派系统为:2018-04-18- Caspian- Stretch,下称树莓派系统。33、本手册中用到的PC部分,均基于 windows7系统,下称电脑。34、本手册中提到的配件在我们淘宝店(点此访问)均可购买35、本手册中所提到的资源在我们论坛资源中心(点此访问)均可下载。四、系统安装41、 Raspbian系统及工具下载下载树莓派 Raspbian系统:点此下载;其它系统下载,点击这里。树莓派3B+只能使用2018-03-13及之后的 caspian版本,否则可能无法正常使用或功能不全。系统安装软件—Win32 diskimager:点此下载,并安装好。4.2、系统安装步骤4.2.1、将TF卡装入USB读卡器,并将读卡器插入电脑的USB接口。4/49树莓派论坛:htt:/wWw.shumeikai.net淘宝店:htps:/raspi.taobao.com4.2.2、将第4.1步下载好的系统,解压缩得到〃im文件(不需要再解压),这是树莓派系统的镜像文件;放到没有中文或者特殊符号的文件夹下。433、打开Win32 diskimager,如下图s Win> isk imager5工国MDsH&=hC盘T工色是d4.2.4、如下图,点击(3)选择将系统装到哪个盘符。点击(2)选择下载好的树莓派系统镜像文件,选择好后,如(1)。点击(5)—Wte,点击后,自动安装系统s Win3? Disk Imager回双」(1)卫;}xpi!S!21吕-04-18- aEpbiQr-th. imge:51白三雪0. Thrit10.7004MB/s(4)(5)4.25、(4)是备份按钮,当配置好一个系统后,点击READ,就可以将TF卡内的系统备份到电脑。此刻不做备份,还有很多没配置好。4.2.6、此时查看TF卡,不管原本多大容量,这时候顶多显示只有几十兆了,如下图1(原本16G)。这都是正常的,具体原因这里不赘述,点此查看。也可以鼠标右键“计算机”或“我的电脑”——管理——存储一磁盘管理中可以找到盘符的真正容量,如下图2:boot (G:208MB可用,共424MB(图1)磁血2可移动boot(1484GB43 MB4.57 GB10.22GB联机状态良交状态最好(主分区末分配图2)不要拔掉读卡器和TF卡,下一步有用5/49树莓派论坛:htt:/wWw.shumeikai.net淘宝店:htps:/raspi.taobao.com五、关机配置系统5.1、开启SSH功能在电脑上,进入TF卡,新建一个以sh命名且没有后缀的空文件(如下图)即可开启SSH。也可以点击这里下载直接使用。攻本立档(2)cmdline.tct本空Aconfig.toct本立档322字节文件(1)ssh文件5,2、 config. txt配置文件5.2.1、准备代码编辑软件,已经安装可忽略,下载点击这里。52.2、如今的系统,可以不用配置 config. txt文件,直接使用。一般情况系统会自适应显示器尺寸等〔特殊尺寸还是需要配置,而且还比较麻烦)。很有必要了解下面的章节。5.2.3、如上一图, windows系统上操作,直接进入装了系统的TF卡,就可以找到 confid文件(如果是inux系统,则在/home/pi下面)。用代码编辑器打开config,tx不要用记事本等,如下图G:config. txt-Notepad++ [AdnDD x文件(编()搜素(S)视图(格式M)语言()设置(D宏(0)运行(指件()囗M?X回音|南喻酯|e|諂智|卫品For more options and information see2thttpi/rdz3 a Some settinge may ipact device functionality. see linkabove for details5 uncomment if you get no picture on aDM- Ior a deia ltmodea uncomment this if your c-splay has a b-ack border funused pixels visible9 a and your display can output wishout overscan10书ia1 OVErsCaN=1112 uncomment the following to ad-ust overscan. Use13geB日c工≡en, End neCa阳12he21 E cO0 MuCh上rde21 #overscan lE=t=16Ln: 8 Col: 7? Sel: 0|0UNIX0-8INS5.2.3、可以看到最后一行前面没加#,加了#表示不生效,注释掉了。这里着重说几个参数(=号后面的数字我们已做调整,你可以照抄调试)6/49树莓派论坛:htt:/wWw.shumeikai.net淘宝店:htps:/raspi.taobao.comhdmi force hotplug =1hdmi_ group=2hdmi mode= 16hdmi drive =2config_hdmi_boost=4arm_freq =800de=2hdmi mode表示分辨率, hdmi diⅳe=2表示声音从HDMI接口输出,为1就是3.5mm耳机孔输出。若要全面了解 config. txt各类参数含义,请点击这里查看中文版,官方英文版点击这里。至此非开机状态的系统配置过程完毕,下面进行必要的配件安装过程讲解。六、GP|O针脚定义及编码树莓派GPIo的编码有些混乱,不同的API(如 wiring,RP.GPIO等)对GPIo的端口编号并不一样,用最多的还是BCM编码,不要被功能定义这里的GPIO.0.2345.6…所迷惑61、各类针脚编码定义展示树莓派40 Pin gPo针脚定义图W工五nEP五BC编码功能定|B0ARD编码物理编码到即功能定义EC编码1BP22STSC 1GHDGPIO.IDG.D10RD151617GPIO.0 11 12 GPIO.l27GP工U.2314LGND shumeikai.net22cPI0.31516cPI0.4231718GPIO.524121920GHD13LITSO212?PT025SCLK2324CEO82526CE1300SDAO228SCL O31215GPT.212930G五D22GPI0.223132GPIO.261222313GPI0233334GD2419GPI0243536GPIO.272I2526GI0253738GnIo.28202G.D3940GPTo.292129本农出树莓派论坛制作htLp/w. hww:shumei,me量7/49树莓派论坛:htt:/wWw.shumeikai.net淘宝店:htps:/raspi.taobao.com6,2、GPIO库6.2.1、API等wiring c:有Per,PHP,Ruby,Node.Js等,支持 wiringPi Pin和 BCM GPIO两种编号RPi. GPIO Python:支持 Board pin和 BCM GPIO两种编号Webiopi: Python,使用 BCM GPIO编号Wiring-Go:Go语言,支持以上三种编号62.2、GPIO针脚权威网站:点击这里6.3、树莓派3代B+简洁针脚定义图Raspberry Pi 3 B+ GPlo HeaderEPin#t NAMNAME Pin#013.3y DC PowerDC Power 5v0203 GPIO02 (SDA1, FC)DC Power 5v04GPIO03 ( SCL1,I2C)GroundGPIO04(GPIO GCLK) O(TXDO)GPIO 14Ground(RXDO)GPIO15 101 GPIO17(GPIO_GENO)O(GPIO_GEN1)GPIO1813 GP1O27GPIO_GEN2) o.Ground1415 GPIO22(GPIOGEN3) OO(GPIO_GEN4)GPI023 16773. 3y DC PowerOo(GPIO-GEN5)GPIO2418GP1O10 (SP_MOSI)Ground21 GP1O09(SPIMISO)oO(GPIO GEN6) GPIO2523 GPIO11(PI CLK(SPI CEO N) GPIO08 2425Ground(SPI CE1 N) GPlO07 2627 ID_SD(12C ID EEPROM)OO(IC ID EEPROM)ID_SC 2829GPIO05Ground37GP1006((GPIO123233GP1O13Ground3435GPIO19GPIO1637GP1O26GPIO2039GroundGPI021Raspberry Pi 3 B+ PoE Header01TR018TROO02TR03TRO204Rev. 108汇03/2018CGswww.element14.com/raspberrypi8/49树莓派论坛:htt:/wWw.shumeikai.net淘宝店:htps:/raspi.taobao.com七、外设的安装71、安装TF卡TF卡是树莓派必须配件,用于存储系统和数据。不可直接用U盘或者其它外部存储设备代替。所谓TF卡,即 Mciro sd卡,不是大尺寸的SD卡,而是小卡72、散热片安装树莓派3B+性能上的提升,导致功率明显增大,散热需求更大。有四五个芯片值得安装散热片,做好散热可以明显提升寿命安装方法:起开散热片背面的硅胶贴纸,即可粘贴在芯片上。粘贴前先大概每个芯片上放一个散热片,比较下大小,对不对。即可快速装好。73、安装温控模块和风7.3.1、安装风扇将风扇接口插到GPIO上的5V和GND针脚即可。如果不转,对调下5V和GND即可。5V用3V3针脚代替也行。7.3.2、安装温控模块:9/49树莓派论坛:htt:/wWw.shumeikai.net淘宝店:htps:/raspi.taobao.com将风扇接λ温控模埉旳正负极。温控模块使用的是5V、G№D、GPⅠOΣ针脚,进行控制。使用说明及代码例程,看这里,不做代码操作的话,风扇接通就转动。通代码进行控制温控模块,可以为风扇设置启停阀值,以及风凉大小。74、连接视频线、USB设备、电源安装保护壳保护壳多种多样,这里不做过多表述,对应商品介绍中都有安装说明或者教程链接7.4.1、安装视频连接线树莓派视频输岀接口有标准HDMI接口和3.5MMNV接口(音视频一体)。也就是你的显示器可以是HDM接口,VGA接口,DⅥ接口,AV接口等视频输入接口,只不过除HDM接口外,其它接口都需要转接线,例如HDMI转VGA,HDM转DⅥ等等。接插很简单,不赘述。需要指出,笔记本的视频接口大多数是视频输出接口,而不是输入。故此笔记本不能直接作为显示器,可以通过远程访问来当作显示器,后面有专门讲解。74.2、安装USB设备树莓派接口为USB2.0,2*2个。跟上代无差别。常见的USB设备是兼容的,只需要将USB头插到树莓派USB接口上即可。7.4.3、电源的安装树莓派的专用电源输入接口是 Micro usB。由于树莓派没有开关,也无法通过系统强制关闭电源,因此强烈建议准备一条带有开关的电源线,而且至少能过5V2.5A,最好是3A。八、上电启动81、有独立显示器的情况有独立显示器的用户,如果配置正常,启动后会自动进入桌面。这时候就算成功了,开始折腾之旅。当然设置的如果是命令行模式,那么如下图,这样的话,也就启动成功了:piGraspberryp主:10/49
- 2020-11-30下载
- 积分:1