《ESP32物联网智能硬件开发实战(李永华版)-课后习题及答案.pdf》由会员分享,可在线阅读,更多相关《ESP32物联网智能硬件开发实战(李永华版)-课后习题及答案.pdf(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ESP32物联网智能硬件开发实战习题及答案第1章1.什么是S OC 系统?答案:S y s t e m o n C h i p (S o C),即片上系统,是嵌入式系统发展到高级阶段的结果,技术上领先,性能上优越。2.S o C 系统设计包括哪些步骤?答案:(1)功能设计;(2)设计描述和行为验证;(3)逻辑综合;(4)门级验证;(5)布局和布线。3.S o C 系统的基本组成有哪些?答案:在 S o C 系统硬件组成中,包括微处理器C P U,一般采用精简指令集;存储器包含缓存、主存储器和辅助存储器;通用设备接口和I/O接口。在 S o C 系统软件组成中,包括中间层,是设备驱动程序和板级支
2、持包:系统层,是实时操作系统;应用层,是具体的应用程序。4.S o C 系统有哪些基本特点?答案:内核小、专用性、集成化、实时性、多任务、可测性、长期性、可靠性、可裁剪。5.E S P 3 2 系统主要功能有哪些?答案:W i-F i、蓝牙、C P U 和存储、时钟和定时器、高级外设接口、安全机制。第2章1.E S P 3 2 系列芯片采用什么结构?两个C P U 名称及意义是什么?答:采用两个哈佛结构X t e n s a L X 6C P U 构成双核系统。两个C P U 的名称分别是“P R 0 _ C P U”和“A P P _ C P U 。P R O 代表 p r o t o c
3、o l (协议)”,A P P 代表“ap p l i c at i o n (应用)”。2.请画出E S P 3 2 系列芯片的系统结构?3.E S P 3 2 系统的地址范围是什么?答案:数据总线与指令总线分别有4 G B (3 2 位)地址空间,从 0 x0 0 0 0 0 0 0 0 0 xF F F F _ F F F F 4 .请画图描述E S P 3 2 的 W R OV E R 一 模组功能?AntennaESP32-WROVER-E5 .E S P 3 2 系统提供哪三种级别的复位方式,每种复位对数据的影响?答案:分别是C P U 复位、内核复位、系统复位。所有的复位都不会影
4、响存储器中的数据。整个系统的结构以及每种复位方式如下:C P U 复位,只复位C P U 的所有寄存器。内核复位,除了 R T C,所有数字寄存器全部复位,包括C P U、数字G P I O和外设。系统复位,会复位整个芯片所有的寄存器,包括R T C。6.E S P 3 2 的时钟源分别来自那里?答案:外部晶振、内部P L L 或震荡电路。7 .画图描述单任务与多任务系统区别?tJe至革大循环(后台)TasklTask2-ISR中 断 嵌 套(前台)低优先级任务高优先级任务e re.ffF政代先城便务ISR低优先级任务中 断(前台)|Task4第 3 章1.请描述E S P 3 2开发流程?2
5、.什么是 E S P-I DF?答案:E S P T DF 是乐鑫官方的物联网开发框架,适用于E S P 3 2和 E S P 3 2-S 系列S o C。它基 于 C/C+语言提供了 S DK,方便用户在这些平台上开发通用应用程序。3 .E S P T DF 有哪些功能?ESP-IDFNetwork ProvisioningOTA upgrade LibraryManufactunng UtiifUesCommon Networking ProtocolsExamplesFie SystemsObject StoragePOS1X and C+SuwxwtNetwork SecuntyCry
6、pto LtbraiyIDEPlugmsPerpherals DnversRTOS KernelPower ManagementSoC Supportw m&Bluetoom LEMesh Networtcing1?Software BootloaderTCP/IP StackW-Fi MAC Library1 BluetootrvBluetooth LE|Stack|Bluetooth Controner|Bu*l SystemDevetopet Tools4 .如何安装E S P-I DF 开发环境?答案:可以通过官方网站下载在线安装包、带有集成开发环境的离线安装包以及E S P-I DF
7、 离线安装包,然后安装即可。5 .在计算机上安装上E S P 3 2开发板后,如何查看端口?答案:右击W i n d o w s 系统桌面上的“此电脑”,依次单击“属性”、设备管理器”、“端口(COM 和 L P T)”,S i l i c o n L a b s CP 21 0 x U S B t o U A R T B r i d g e,即为 E S P 3 2 开发板所在的端口。6 .E S P-I DF 运行一个工程需要哪些步骤?答案:在命令行下完成如下步骤:输 入 i d f.p y s e t-t a r g e t e s p 3 2,设置目标芯片;(2)输入:i d f.p
8、y m e n u c o n f i g,进行配置;(3)输入:i d f.p y b u i l d,进行编译;(4)输入 i d f.p y -p c o m X f l a s h,进行烧录;(5)输入 i d f.p y -p c o m X m o n i t o r,查看结果。7 .图示描述一个项目的目录树结构?-myPrqject-CNfakeLists.txt*-sdkconfig-1-components-component 1-CMakeLists.txt*-1-Kconfig*-srcl.o1-component!-CMakeLists.txt”-Kconfig-src
9、l.o1-include-component2.h-main-srcLc+-srcl.c-build s8.m a c h i n e 模块主要包括哪几个类?答案:P i n 类,控 制 I/O引脚。S i g n a l 类,控制和感应外部I/O设备。U A R T 类,双工串行通信总线。S P I 类,串行外设接口总线协议(主机)。1 2c 类,双线串行协议。R T C类,实时时钟。定时器类,控制硬件定时器。W DT 类,看门狗定时器。第 4 章1 .请画出I 0 _M U X、R T C I 0 _M U X 和 GP I 0 交换矩阵结构。SPI,UART,PC.I?S,PWM,LED
10、Cand more2.序功能。电路如图所示,请使用E c l i p s e/V S c o d e 开发环境实现,L E D亮 1 秒,灭 3秒的程#i n c l u d e i n c l u d e f r e e r t o s/F r e e R TO S.h?,t t i n c l u d e f r e e r t o s/t a s k.h i n c l u d e “d r i v e r/g p i o.h i n c l u d e s d k c o n f i g.h d e f i n e L E D 18v o i d L E D _ Ta s k(v o
11、i d *p v P a r a m e t e r)g p i o _ p a d _ s e l e c t _ g p i o(L E D);g p i o _ s e t _ d i r e c t i o n(L E D,G P I O _ M O D E _ O UTP UT);w h i 1e (1)g p i o _ s e t _ l e v e l(L E D,0);v Ta s k D e l a y(3000/p o r t TI C K _ P E R I O D _ M S);g p i o _ s e t _ l e v e l(L E D,1);v Ta s k
12、 D e l a y(1000/p o r t TI C K _ P E R I O D _ M S);v o i d a p p _ m a i n()定义输出引脚选择芯片引脚设置该引脚为输出模式电平为低延迟1S电平为高延迟1S主函数x Ta s k C r e a t e (&L E D _ Ta s k,/l E D _ Ta s k,/,c o n f i g M I N I l A L _ S TA C K _ S I ZE,N UL L,5,N UL L);新建一个任务)3.ESP32系统中断包括那几部分,画图描述中断矩阵结构?答案:包括外设中断配置寄存器、中断源、中断矩阵和中断输
13、出寄存器。PRO.CPU Peripheral Interrupt Configurabon RegisterPRO.CPU NMI Intemjpt MaskAPP.CPU Peripheral Interrupt Configuration RegisterAPP.CPU NMI Interrupt MaskPRO.CPU Penplwal InterruptPeripheral Interrupt SourceInterrupt MatrixAPP.CPU Ponpheral InterruptPRO_CPU Penpheral Interrupt Source Status Regis
14、terAPP CPU Peflpberal Intenupt Source Status Register-:-4.根据4.2.4 节中,A r d u i n o 开发环境的中断程序,实现5 次计数,中断一次的程序功能。v o i d c a l I B a c k(v o i d)S e r i a l,p r i n t f (ZZG P I O 4 I n t e r r u p t e d。”);)v o i d s e t u p()S e r i a l,b e g i n(115200);S e r i a l.p r i n t l n O ;p i n M o d e(18
15、,O UTP UT);p i n M o d e(4,I N P UT);a t t a c h I n t e r r u p t(4,c a l I B a c k,R I S I N G);设置串口监视器波特率/G P I O 18为输出模式/G P I O 4为输入模式上升沿触发中断i n t e n t =0;v o i d l o o p ()主函数S e r i a l,p r i n t f (,zc n t:%d n”,c n t+);d i g i t a i Wr i t e(18,e n t%5);d e l a y(1000);/d e t a c h i n t e
16、 r r u p t (4);关闭中断)打印计数每隔5个计数,打印一次中断延时1S5.E S P 32系统的A D C 支持多少个通道?答案:A D C 1(8个通道,连接到G P I O 32 39)和 A D C 2(10个通道,连接到G P I O 0、2、4、12 15,25 27)。6.请 根 据 4.3.3 节的M i c r o P y t h o n 程序,打印A D C 的值和对应的电压。f r o m m a c h i n e i m p o r t A D C,P i nf r o m t i m e i m p o r t s l e e p _ m sa d c =
17、A D C (P i n (32)#在引脚3 2实例化A D C (M i c r o P y t h o n只支持在32 39号引脚对A D C实例化)a d c.a t t e n(A D C.A TTN _ 6D B)a d c.w i d t h (A D C.WI D TH2B I T)#12 位分辨率,范围 0-4095w h i l e 1:a d c.r e a d()s l e e p _ m s (1000)#延时p r i n t (a d c.r e a d O)#打印 A D C 的值p r i n t A D C Va l u e:+s t r(a d c.r e
18、a d()*2200/4096)#打印电压的值7.D A C 每个通道的输出模拟电压计算方式为D A C n _ O UT=VD D 3P 3_ R TC X P D A C n _ D A C/256,其中,VD D 3P 3_ R TC 为 3.3V,P D A C n _ D A C 从 0-255变 化,修 改 4.4.3 节中的示例程序一,基于 VS c o d e 打印输出对应的电压。#i n c l u d e i n c l u d e i n c l u d e f r e e r t o s/F r e e R TO S.h?,t t i n c l u d e f r e
19、 e r t o s/t a s k.h i n c l u d e z,f r e e r t o s/q u e u e.h i n c l u d e d r i v e r/g p i o.h i n c l u d e d r i v e r/a d c.h#i n c l u d e d r i v e r/d a c.h#i n c l u d e /ze s p _ s y s t e m.h#i n c l u d e e s p _ a d c _ c a l.h v o i d a p p j n a i n(v o i d)(u i n t 8_ t o u t p u
20、 t _ d a t a=0;输出数据变量e s p _ e r r _ t r;判断结果变量g p i o _ n u m _ t d a c _ g p i o _ n u m;引脚变量r =d a c _ p a d _ g e t _ i o _ n u m(D A C _ C H A N N E L _ 2,&d a c _ g p i o _ n u m );获取引脚信息a s s e r t (r =E S P _ O K );正确与否p r i n t f f D A C c h a n n e l%d G P I O%d.n,D A C _ C H A N N E L _ 2
21、,d a c _ g p i o _ n u m );d a c _ o u t p u t _ e n a b l e(D A C _ C H A N N E L _ 2);D A C 输出使能v Ta s k D e l a y(2*p o r t TI C K _ P E R I O D _ M S);延时p r i n t f(s t a r t c o n v e r s i o n.n);w h i 1e (1)d a c _ o u t p u t _ v o l t a g e(D A C _ C H A N N E L _ 2,o u t p u t _ d a t a+);
22、输出数据p r i n t f(o u t p u t-Vo l t a g e 3.3*o u t p u t _ d a t a/255);p r i n t f (z,o u t p u t _ d a t a%d G P I O%d.n o u t p u t _ d a t a,d a c _ g p i o _ n u m );v Ta s k D e l a y(10);)8.根 据 4.5.3 节的示例一,修 改 定 时 器 语 句 e r r =e s p t i m e r _ s t a r t _ p e r i o d i c (t e s t p h a n d l
23、 e,1000*1000);,实现 L E D 的亮 9 秒灭 1 秒,并将信息打印在串口。t t i n c l u d e#i n c l u d e z,e s p _ t y p e s.h#i n c l u d e f r e e r t o s/F r e e R TO S.h,z/i n c l u d e ,zf r e e r t o s/t a s k.h i n c l u d e f r e e r t o s/q u e u e.h#i n c l u d e /zs o c/t i m e r _ g r o u p _ s t r u c t.h#i n c l
24、 u d e d r i v e r/p e r i p h _ c t r l.h i n c l u d e *d r i v e r/t i m e r.hz/#i n c l u d e *d r i v e r/g p i o.h d e f i n e L E D 2e s p _ t i m e r _ h a n d l e _ t t e s t _ p h a n d l e =0;v o i d t e s t _ t i m e r _ p e r i o d i c _ c b(v o i d *a r g)g p i o _ s e t _ l e v e l(L
25、E D,0);v Ta s k D e l a y(1000/p o r t TI C K _ P E R I O D _ M S);g p i o _ s e t _ l e v e l(L E D,1);v Ta s k D e l a y(1000/p o r t TI C K _ P E R I O D _ M S);p r i n t f(H e l l o,L E D n);v o i d a p p m a i n Og p i o _ p a d _ s e l e c t _ g p i o(L E D);g p i o _ s e t _ d i r e c t i o n
26、(L E D,G P I O _ M O D E _ O UTP UT);定义一个周期重复运行的定时器结构体回调程序电平为低延迟1S电平为高延迟1S主程序入口选择芯片引脚设置该引脚为输出模式e s p _ t i m e r _ c r e a t e _ a r g s _ t t e s t _ p e r i o d i c _ a r g =.c a l l b a c k =&t e s t _ t i m e r _ p e r i o d i c _ c b,设置回调函数.a r g =N UL L,不携带参数.n a m e =Te s t P e r i o d i c Ti
27、 m e r”定时器名字;e s p _ e r r _ t e r r =e s p _ t i m e r _ c r e a t e(&t e s t _ p e r i o d i c _ a r g,&t e s t _ p _ h a n d l e);/仓U建定时器e r r =e s p _ t i m e r _ s t a r t _ p e r i o d i c(t e s t _ p _ h a n d l e,1 0 0 0 0 *1 0 0 0);开启周期定时i f (e r r-0)判断并打印信息p r i n t f d i m e r S t a r t:E
28、S P 0 K!n );第 5 章i .什么是串口通信?答案:U A R T 以字符为导向的通用数据链,可以实现设备间的通信。异步传输的意思是不需要在发送数据上添加时钟信息。这也要求发送端和接收端的速率、停止位、奇偶校验位等都必须相同,通信才能成功。首先,一个典型的U A R T 帧开始于一个起始位;其次,是有效数据;再次,是奇偶校验位(可有可无);最后,是停止位。2.ES P 32的串口使用可以分那几部分?答案:分为4 部分:设置串口参数,包括波特率、奇偶校验、数据位与停止位等;设置串口使用的GP I O 引脚;安装驱动,为 U A R T 分配资源;进行串口通信。3.不使用ES P 32默
29、认U A R T,通过R EP L 控制台,设计程序实现输入命令c o n s o l e t e s t”,输出“T h i s i s a n e x a m p l e s t r i n g,i f y o u c a n r e a d t h i s,t h e e x a m p l e i s a s u c c e s s!,否则输出错误,并通过默认的UART输出信息。短接ESP32开发的TX引脚与GPI05引 脚,RX引脚与GPI04引脚,程序如下:#i n c l u d e i n c l u d e ,zf r e e r t o s/Fr e e R T O S.h
30、,z#i n c l u d e f r e e r t o s/t a s k.h#i n c l u d e d r i v e r/u a r t.h#i n c l u d e s o c/u a r t _ p e r i p h.h i n c l u d e z,e s p _ r o m _ g p i o.h#i n c l u d e d r i v e r/g p i o.h#i n c l u d e h a l/g p i o _ h a l.h#i n c l u d e “s d k c o n f i g.h#i n c l u d e e s p _ c o
31、n s o l e.h i n c l u d e l i n e n o i s e/l i n e n o i s e.h#i n c l u d e d e f i n e D EFA U L T _ U A R T _ C H A N N EL (0)d e f i n e C O N S O L E_ U A R T _ C H A N N E1.d e f i n e D EFA U L T _ U A R T _ R X _ P I N#d e f i n e D EFA U L T _ U A R T _ T X _ P I N d e f i n e C O N S O L
32、ES A R T _ R X _ P I N(1 -D EFA U L T _ U A R T _ C H A N N EL)(3)(2)(4)d e f i n e C O N S O L E_ U A R T _ T X _ P I N d e f i n e U A R T S _ B A U D _ R A T E d e f i n e T A S K _ S T A C K _ S I Z E d e f i n e R EA D _ B U F_ S I Z Ec o n s t c h a r t e s t _ m e s s a g e =(5)(1 1 520 0)(20
33、 48)(1 0 24)“T h i s i s a n e x a m p l e s t r i n g,i fy o u c a n r e a d t h i s,t h e e x a m p l e i sa s u c c e s s!s t a t i c v o i d c o n n e c t _ u a r t s(v o i d)(e s p _ r o m _ g p i o _ c o n n e c t _ o u t _ s i g n a l(D EFA U L T _ U A R T _ R X _ P I N,U A R T _ P ER I P H _
34、 S I GN A 1.(1,S O C _ U A R T _ T X _ P I N _ I D X),f a l s e,f a l s e);e s p _ r o m _ g p i o _ c o n n e c t _ i n _ s i g o a l(D EFA U L T _ U A R T _ R X _ P I N,U A R T一P ER I P H _ S I GN A L(0,S O C _ U A R T _ R X _ P I N _ I D X),f a l s e);e s p _ r o m _ g p i o _ c o n n e c t _ o u
35、 t _ s i g n a 1(D EFA U L T _ U A R T _ T X _ P I N,U A R T _ P ER I P H _ S I GN A L (0,S O C _ U A R T _ T X _ P I N _ I D X),f a l s e,f a l s e);e s p _ r o m _ g p i o _ c o n n e c t _ i n _ s i g n a l(D EFA U L T _ U A R T _ T X _ P I N,U A R T _ P ER I P H _ S I GN A L(1,S O C _ U A R T _
36、R X _ P I N _ I D X),f a l s e);)s t a t i c v o i d d i s c o n n e c t _ u a r t s(v o i d)(e s p _ r o m _ g p i o _ c o n n e c t _ o u t _ s i g n a l(C O N S O L E_ U A R T _ T X _ P I N,U A R T _ P ER I P H _ S I GN A L(1,S O C _ U A R T _ T X _ P I N _ I D X),f a l s e,f a l s e);e s p _ r o
37、 m _ g p i o _ c o n n e c t _ i n _ s i g n a l(C O N S O L E_ U A R T _ R X _ P I N,U A R T _ P ER I P H _ S I GN A L(1,S O C _ U A R T _ R X _ P I N _ I D X),f a l s e);s t a t i c v o i d c o n f i g u r e _ u a r t s(v o i d)/*C o n f i g u r e p a r a m e t e r s o f a n U A R T d r i v e r,*c
38、 o m m u n i c a t i o n p i n s a n d i n s t a l l t h e d r i v e r */u a r t _ c o n f i g _ t u a r t _ c o n f i g =.b a u d _ r a t e =U A R T S _ B A U D _ R A T E,.d a t a _ b i t s =U A R T _ D A T A _ 8_ B I T S,.p a r i t y =U A R T _ P A R I T Y _ D I S A B L E,.s t o p _ b i t s =U A R
39、 T _ S T O P _ B I T S _ 1,.f l o w _ c t r l =U A R T _ H W _ FL O W C T R L _ D I S A B L E,.s o u r c e”I k =U A R T _ S C L K _ A P B,;ES P _ ER R O R _ C H EC K(u a r t _ d r i v e r _ i n s t a l 1(D EFA U L T _ U A R T _ C H A N N EL,R EA D _ B U F_ S I Z E*2,0,0,N U L L,0);ES P _ ER R O R _
40、C H EC K(u a r t _ p a r a m _ c o n f i g(D EFA U L T _ U A R T _ C H A N N EL,&u a r t _ c o n f i g);ES P _ ER R O R _ C H EC K(u a r t _ s e t _ p i n(D EFA U L T _ U A R T _ C H A N N EL,D EFA U L T _ U A R T _ T X _ P I N,D EFA U L T _ U A R T _ R X _ P I N,U A R T _ P I N _ N O _ C H A N GE,U
41、 A R T _ P I N _ N O _ C H A N GE);c o n n e c t _ u a r t s();s t a t i c i n t c o n s o l e _ t e s t(i n t a r g c,c h a r *a r g v)p r i n t f (绘s n,t e s t _ m e s s a g e);r e t u r n 0;s t a t i c v o i d s e n d c o m m a n d s(v o i d*a r g)s t a t i c c h a r d a t a R EA D _ B U F_ S I Z
42、 E;c h a r c o m m a n d =c o n s o l e t e s t n;i n t l e n =0;v o i d*s u b s t r i n g =N U L L;d o l e n =u a r t _ r e a d _ b y t e s(D EFA U L T _ U A R T _ C H A N N EL,d a t a,R EA D _ B U F_ S I Z E,1 0 0 /p o r t T I C K _ R A T E_ M S);w h i l e (l e n =0);i f (l e n =1)g o t o e n d;)l
43、 e n =u a r t _ w r i t e _ b y t e s(D EFA U I/r j J A R T C H A N N EL,c o m m a n d,s i z e o f(c o m m a n d);i f (l e n =T)g o t o e n d;l e n =u a r t _ r e a d _ b y t e s(D EFA U L T _ U A R T _ C H A N N EL,d a t a,R EA D _ B U F_ S I Z E-1,250 /p o r t T I C K _ R A T E_ M S);w h i l e (l
44、e n =0);i f (l e n =-1 )g o t o e n d;)d a t a l e n =0;s u b s t r i n g =s t r c a s e s t r(d a t a,t e s t _ m e s s a g e);e n d:d i s c o n n e c t _ u a r t s ();p r i n t f(R e s u l t:%s n,s u b s t r i n g =N U L L?”Fa i l u r e :S u c c e s s);v T a s k D e l e t e(N U L L);v o i d a p p
45、_ m a i n(v o i d)(e s p _ c o n s o l e _ r e p l _ t *r e p l =N U L L;e s p _ c o n s o l e _ r e p l _ c o n f i g _ t r e p l _ c o n f i g =ES P _ C O N S O L E_ R EP L _ C O N FI G_ D EFA U L T();r e p 1 _ c o n f i g.p r o m p t =r e p lc o n s t e s p _ c o n s o 1 e _ c m d _ t c m d =.c o
46、 m m a n d =c o n s o l e t e s t”,.h e l p =T e s t c o n s o l e b y s e n d i n g a m e s s a g e”,.f u n c =&c o n s o l e _ t e s t,;e s p c o n s o 1 e _ d e v _ u a r t _ c o n f i g _ t u a r t _ c o n f i g =.c h a n n e l =C O N S O L E_ U A R T _ C H A N N EL,.b a u d _ r a t e =U A R T S
47、 _ B A U D _ R A T E,.t x _ g p i o _ n u m =C O N S O L E_ U A R T _ T X _ P I N,.r x _ g p i o _ n u m =C O N S O L E_ U A R T _ R X _ P I N,);1 i n e n o i s e S e t D u m b M o d e(1);ES P _ ER R O R _ C H EC K(e s p _ c o n s o l e _ n e w _ r e p l _ u a r t(&u a r t _ c o n f i g,&r e p l _ c
48、 o n f i g,&r e p l);c o n f i g u r e _ u a r t s();ES P _ ER R O R _ C H EC K(e s p _ c o n s o l e _ c m d _ r e g i s t e r(&c m d);x T a s k C r e a t e (s e n d c o m m a n d s,z,s e n d _ c o m m a n d s _ t a s k,T A S K _ S T A C K _ S I Z E,N U L L,1 0,N U L L);ES P _ ER R O R _ C H EC K(e
49、 s p _ c o n s o l e _ s t a r t _ r e p l(r e p l);)4.使 用A r d u i n o I D E在 串 口 输 出“H e l l o W o r l d!及输出次数,设计并实现程序。i n t c o u n t e r:。;计数器v o i d s e t u p()初始化串口S e r i a l,b e g i n(960 0);)v o i d 1 o o p ()每l o o p循环一次,计数器变量加1c o u n t e r =c o u n t e r+1;输出变量S e r i a l.p r i n t (c o
50、u n t e r);输出字符S e r i a l.p r i n t (*);输出字符串;S e r i a l,p r i n t i n(H e l l o w W o r l d!,z);d e l a y(1 0 0 0);5.什 么 是 1 2c 通信?答案:I 2C (I n t e r-I n t e g r a t e d C i r c u i t)是一种串行、同步、半双工通信协议,它允许在同一总线上同时存在多个主机和从机。1 2 c 为两线总线,由SDA 线和SCL线构成,这些线设置为漏极开漏输出,两条线都需要上拉电阻。因此,1 2 c 总线上可以挂载多个外设,通常是和