分享一次无线话筒和接收机的配对经历BK9521/9522

news2024/11/29 11:38:21

最近老婆喜欢上了唱歌。我就需要为她准备歌曲和设备。装了台点歌机,买了软件,用4天的时间下了4T容量的歌曲,听过的没听过的都在里面,真的是太多了。

有了歌曲,就要有唱歌设备了。当我准备买无线话筒的时候,无意间看到闲鱼上有卖话筒的,25块钱,没主机。我年少无知,买回来了。我就想知道,这无线话筒有什么计数含量动辄几百块的一套。

买回来一看,果然,这是u段的数字话筒,发射ic是BK9521,网上查了一下资料,和BK9522是发射接收一对的。

于是开始找接收机。闲鱼真是什么都有,很快就找到一个只有接收没有话筒的,50块,买回来再说。其实真不差钱,主要是这两颗料激发了探索的兴趣。我看到资料里有关于9521/22寄存器的详细描述,觉得只要是成套,通信成功的几率是很大的。

然而我想错了。。。。

实际上收到货的第一时间我就通上了电。

对于话筒我想先看下有没有发射出来,我找出来了SDR,

果然,正常发射数据,而不是那些低端的调频话筒。发射的频点准确可调,数据密度极高。

这个接收机支持红外对频,然而话筒不支持对频。

再接上接收机,调到一样的频率,如图中656.00Mhz.   结果没有显示信号柱,输出端子也没有音频输出。

至此,对于普通人来说,应该放弃了。虽然钱不多,但是这个东西在我眼里不过就是一些寄存器的操作而已,如果丢弃将失去一次调试这个料的机会。毕竟这两个东西是妥妥的开发板状态,等着我去探索。

这个料是使用IIC驱动的,SDA,SCL两个管脚都是清晰可见,焊上线,先把数据流扒下来再说。

首先把发射机和接收机的频率调节成一致的,656M。 关机,启动逻辑分析仪,等待触发,开机。

一顿操作猛如虎。。。

发射机的数据流

Time[s],Packet ID,Address,Read/Write,Data
0.0000200000,1,0x21,R,0x21 0x00 0x00 0x95 0x21
0.0009080000,2,0x21,R,0x00 0x1C 0x44 0x0C 0x88
0.0019580000,3,0x21,R,0x02 0x04 0xCF 0x00 0x57
0.0030160000,4,0x21,R,0x04 0x89 0x90 0xE0 0x2F
0.0040770000,5,0x21,R,0x06 0xB4 0x22 0x46 0xFF
0.0051550000,6,0x21,R,0x08 0x51 0x88 0x00 0x44
0.0062070000,7,0x21,R,0x0A 0x00 0x28 0x03 0x80
0.0072640000,8,0x21,R,0x0C 0x5B 0xED 0xFB 0x00
0.0083240000,9,0x21,R,0x0E 0x1C 0x40 0x00 0x00
0.0094000000,10,0x21,R,0x10 0x00 0x08 0x01 0x00
0.0104520000,11,0x21,R,0x12 0x00 0x00 0x00 0x03
0.0115070000,12,0x21,R,0x14 0x05 0x8C 0x30 0x30
0.0125690000,13,0x21,R,0x16 0x00 0x06 0xC3 0xFF
0.0136490000,14,0x21,R,0x20 0xE4 0x16 0x95 0x21
0.0146630000,15,0x21,R,0x22 0x34 0xB0 0x02 0x91
0.0156900000,16,0x21,R,0x24 0x00 0x00 0x00 0x40
0.0167220000,17,0x21,R,0x26 0x00 0x00 0x00 0x00
0.0177540000,18,0x21,R,0x32 0x00 0x00 0x00 0x00
0.0187830000,19,0x21,R,0x34 0x00 0x00 0x52 0xC0
0.0198120000,20,0x21,R,0x36 0x53 0x02 0x00 0x00
0.0208480000,21,0x21,R,0x38 0x04 0x02 0x03 0xFF
0.0218810000,22,0x21,R,0x3A 0x58 0x02 0x6C 0x02
0.0229160000,23,0x21,R,0x3C 0x0B 0x4B 0x32 0x1B
0.0239500000,24,0x21,R,0x3E 0x00 0x00 0x00 0x80
0.0249790000,25,0x21,R,0x40 0x00 0x00 0x55 0xA0
0.0260130000,26,0x21,R,0x42 0x00 0xD7 0xD5 0xF7
0.0270510000,27,0x21,R,0x44 0x00 0x00 0x00 0x00
0.0280750000,28,0x21,R,0x46 0x7F 0x7F 0x00 0xA0
0.0291120000,29,0x21,R,0x4A 0x00 0x00 0x70 0x50
0.0301480000,30,0x21,R,0x4C 0x0F 0x80 0x1E 0x04
0.0311620000,31,0x21,R,0x4E 0x40 0x40 0x40 0x40
0.0321940000,32,0x21,R,0x50 0x00 0x00 0x00 0x40
0.0332220000,33,0x21,R,0x52 0x03 0xF0 0x64 0x00
0.0342590000,34,0x21,R,0x60 0x01 0x00 0x00 0x00
0.0352930000,35,0x21,R,0x62 0x07 0x05 0x04 0x02
0.0363260000,36,0x21,R,0x64 0x12 0x0F 0x0C 0x0A
0.0373580000,37,0x21,R,0x66 0x22 0x1E 0x1A 0x16
0.0383970000,38,0x21,R,0x68 0x35 0x30 0x2B 0x26
0.0394320000,39,0x21,R,0x6A 0x4B 0x45 0x40 0x3A
0.0404690000,40,0x21,R,0x6C 0x63 0x5D 0x57 0x51
0.0415100000,41,0x21,R,0x6E 0x7C 0x76 0x70 0x69
0.0425470000,42,0x21,R,0x70 0x96 0x8F 0x89 0x83
0.0435860000,43,0x21,R,0x72 0xAE 0xA8 0xA2 0x9C
0.0446250000,44,0x21,R,0x74 0xC5 0xBF 0xBA 0xB4
0.0456580000,45,0x21,R,0x76 0xD9 0xD4 0xCF 0xCA
0.0466980000,46,0x21,R,0x78 0xE9 0xE5 0xE1 0xDD
0.0477390000,47,0x21,R,0x7A 0xF5 0xF3 0xF0 0xED
0.0487780000,48,0x21,R,0x7C 0xFD 0xFB 0xFA 0xF8
0.0498150000,49,0x21,R,0x7E 0xFF 0xFF 0xFF 0xFE
0.0510080000,50,0x21,R,0x06 0xB4 0x12 0x26 0xFF
0.0520590000,51,0x21,R,0x36 0x4F 0xB6 0x40 0x00
0.0530820000,52,0x21,R,0x44 0x55 0x55 0x55 0x55
0.0540830000,53,0x21,R,0x35 0x00 0x00 0x52 0xC0
0.0549620000,54,0x21,R,0x34 0x00 0x00 0x52 0x40
0.0559830000,55,0x21,R,0x34 0x00 0x00 0x52 0xC0
0.0569890000,56,0x21,R,0x14 0x05 0x8C 0x30 0x00
0.0580320000,57,0x21,R,0x3F 0x00 0x00 0x00 0x80
0.0589110000,58,0x21,R,0x3E 0x00 0x00 0x00 0x00
0.0599290000,59,0x21,R,0x41 0x00 0x00 0x55 0xA0
0.0607930000,60,0x21,R,0x40 0x00 0x00 0x55 0x20
0.0618130000,61,0x21,R,0x0E 0x0E 0x40 0x00 0x00
0.0628560000,62,0x21,R,0x06 0xB4 0x12 0x26 0xFF
0.0639060000,63,0x21,R,0x06 0xB4 0x52 0x26 0xFF
0.1073250000,64,0x21,R,0x08 0x51 0x88 0x00 0x44
0.1083990000,65,0x21,R,0x08 0x53 0x88 0x00 0x44
0.1094460000,66,0x21,R,0x0E 0x1C 0x40 0x00 0x00
0.1104910000,67,0x21,R,0x3F 0x00 0x00 0x00 0x00
0.1113470000,68,0x21,R,0x3E 0x00 0x00 0x00 0x80
0.1123690000,69,0x21,R,0x41 0x00 0x00 0x55 0x20
0.1132240000,70,0x21,R,0x40 0x00 0x00 0x55 0xA0
0.1142460000,71,0x21,R,0x14 0x05 0x8C 0x30 0x30
0.3271840000,72,0x21,R,0x3D 0x0B 0x4B 0x32 0x1B
0.3280500000,73,0x21,R,0x3C 0x0B 0x4B 0x32 0x1B
0.5176780000,74,0x21,R,0x33 0x00 0x00 0x00 0x00
0.7172070000,75,0x21,R,0x33 0x00 0x00 0x00 0x00
0.9167310000,76,0x21,R,0x33 0x00 0x00 0x00 0x00
1.1162720000,77,0x21,R,0x33 0x00 0x00 0x00 0x00
1.3158250000,78,0x21,R,0x33 0x00 0x00 0x00 0x00
1.5154100000,79,0x21,R,0x33 0x00 0x00 0x00 0x00
1.7150020000,80,0x21,R,0x33 0x00 0x00 0x00 0x00

接收机的数据流:

Time[s],Packet ID,Address,Read/Write,Data
0.0164440000,1,0x22,W,0x21 0x00 0x00 0x95 0x22
0.0168040000,2,0x22,W,0x00 0xDF 0xFF 0xFF 0xF8
0.0172190000,3,0x22,W,0x02 0x04 0xD2 0x80 0x57
0.0176350000,4,0x22,W,0x04 0x89 0x90 0xE0 0x28
0.0180510000,5,0x22,W,0x06 0x04 0x12 0x26 0x9F
0.0184670000,6,0x22,W,0x08 0x50 0x88 0x00 0x44
0.0188820000,7,0x22,W,0x0A 0x00 0x28 0x03 0x80
0.0192980000,8,0x22,W,0x0C 0x5B 0xED 0xFB 0x00
0.0197140000,9,0x22,W,0x0E 0x1C 0x24 0xC5 0xAA
0.0201330000,10,0x22,W,0x10 0xEF 0xF1 0x19 0x4C
0.0205490000,11,0x22,W,0x12 0x08 0x51 0x13 0xA2
0.0209650000,12,0x22,W,0x14 0x00 0x6F 0x00 0x6F
0.0213800000,13,0x22,W,0x16 0x1B 0xD2 0x58 0x63
0.0217960000,14,0x22,W,0x20 0xE4 0x16 0x95 0x22
0.0222120000,15,0x22,W,0x22 0x00 0x00 0x00 0x00
0.0226280000,16,0x22,W,0x2C 0x00 0x08 0x00 0xBD
0.0230440000,17,0x22,W,0x2E 0x00 0x00 0x00 0x00
0.0234590000,18,0x22,W,0x30 0x00 0x00 0x00 0x00
0.0238750000,19,0x22,W,0x32 0x00 0x44 0x6D 0x60
0.0242910000,20,0x22,W,0x34 0x00 0x00 0x32 0xC0
0.0247070000,21,0x22,W,0x36 0x54 0xB0 0x51 0xEB
0.0251220000,22,0x22,W,0x38 0x00 0x17 0xFC 0xFF
0.0255380000,23,0x22,W,0x3A 0x00 0x32 0x00 0x0A
0.0259540000,24,0x22,W,0x3C 0x00 0x00 0x00 0x00
0.0263690000,25,0x22,W,0x3E 0x00 0x00 0x00 0x00
0.0267850000,26,0x22,W,0x40 0x00 0x00 0x00 0x00
0.0272010000,27,0x22,W,0x42 0x00 0x00 0x00 0x00
0.0276170000,28,0x22,W,0x44 0x00 0x00 0x00 0x00
0.0280320000,29,0x22,W,0x46 0x00 0x00 0x00 0x00
0.0284480000,30,0x22,W,0x48 0x00 0x00 0x00 0x00
0.0288640000,31,0x22,W,0x4A 0x00 0x00 0x00 0x00
0.0292790000,32,0x22,W,0x4C 0x00 0x00 0x00 0x00
0.0296950000,33,0x22,W,0x4E 0x00 0x00 0x00 0x00
0.0301140000,34,0x22,W,0x50 0x00 0x00 0x00 0x00
0.0305300000,35,0x22,W,0x52 0x00 0x00 0x00 0x00
0.0309460000,36,0x22,W,0x54 0x00 0x00 0x00 0x00
0.0313610000,37,0x22,W,0x56 0x00 0x00 0x00 0x00
0.0317770000,38,0x22,W,0x58 0x00 0x00 0x00 0x00
0.0321930000,39,0x22,W,0x5A 0x00 0x00 0x00 0x00
0.0326080000,40,0x22,W,0x5C 0x00 0x00 0x00 0x00
0.0330240000,41,0x22,W,0x5E 0x00 0x00 0x00 0x00
0.0334400000,42,0x22,W,0x60 0x00 0x00 0x00 0x00
0.0338560000,43,0x22,W,0x62 0x00 0x00 0x00 0x00
0.0342710000,44,0x22,W,0x64 0x02 0x82 0x3D 0x38
0.0346870000,45,0x22,W,0x66 0x00 0xD7 0xD5 0xF7
0.0351030000,46,0x22,W,0x68 0x00 0x00 0x00 0x00
0.0355180000,47,0x22,W,0x6A 0x00 0x00 0x00 0x00
0.0359340000,48,0x22,W,0x6C 0x02 0x46 0x02 0x02
0.0363500000,49,0x22,W,0x6E 0x90 0xF6 0xAA 0x26
0.0367650000,50,0x22,W,0x70 0x1F 0x80 0x1E 0x07
0.0371810000,51,0x22,W,0x72 0x40 0x40 0x40 0x40
0.0375970000,52,0x22,W,0x74 0x00 0x00 0x00 0x40
0.0380130000,53,0x22,W,0x76 0x00 0x78 0x64 0x00
0.0384280000,54,0x22,W,0x78 0x00 0x00 0x00 0x00
0.0442420000,55,0x22,W,0x65 0x02 0x82 0x3D 0x38
0.0445860000,56,0x22,W,0x64 0x02 0x82 0x3D 0x38
0.0450850000,57,0x22,W,0x06 0x04 0x12 0x26 0x9F
0.0454840000,58,0x22,W,0x0E 0x1C 0x2E 0xC5 0xAA
0.0458840000,59,0x22,W,0x10 0xEF 0xF1 0x19 0x4C
0.0463340000,60,0x22,W,0x36 0x50 0x19 0x1E 0xB8
0.0467410000,61,0x22,W,0x0E 0x1E 0x2E 0xC5 0xAA
0.0471400000,62,0x22,W,0x06 0x04 0x12 0x26 0x9F
0.0475390000,63,0x22,W,0x06 0x04 0x52 0x26 0x9F
0.0504500000,64,0x22,W,0x08 0x50 0x88 0x00 0x44
0.0508490000,65,0x22,W,0x08 0x52 0x88 0x00 0x44
0.0512480000,66,0x22,W,0x0E 0x1C 0x2E 0xC5 0xAA
0.0516940000,67,0x22,W,0x68 0x00 0x50 0x14 0x02
0.0521460000,68,0x22,W,0x79 0x00 0x00 0x00 0x00
0.0524900000,69,0x22,W,0x78 0x00 0x00 0x00 0x00
0.0528910000,70,0x22,W,0x39 0x00 0x17 0xFC 0xFF
0.0532340000,71,0x22,W,0x38 0x00 0x17 0xFC 0xFF
0.0536510000,72,0x22,W,0x39 0x00 0x17 0xFC 0xFF
0.0539950000,73,0x22,W,0x38 0x00 0x17 0xFC 0xFF
0.0544040000,74,0x22,W,0x39 0x00 0x17 0xFC 0xFF
0.0547480000,75,0x22,W,0x38 0x00 0x17 0xFC 0xFF
0.0551570000,76,0x22,W,0x39 0x00 0x17 0xFC 0xFF
0.0555010000,77,0x22,W,0x38 0x00 0x17 0xFC 0xFF
0.0561930000,78,0x22,W,0x39 0x00 0x17 0xFC 0xFF
0.0565370000,79,0x22,W,0x38 0x00 0x17 0xFC 0xFF
0.0621860000,80,0x22,W,0x39 0x00 0x17 0xFC 0xFF
0.0625290000,81,0x22,W,0x38 0x00 0x17 0xFC 0xFF
0.1159580000,82,0x22,W,0x33 0x01 0x4A 0x55 0x02
0.1181010000,83,0x22,W,0x33 0x00 0x4B 0x55 0x02
0.1184450000,84,0x22,W,0x32 0x00 0x4B 0x55 0x06
0.1196360000,85,0x22,W,0x33 0x00 0x4B 0x55 0x02
0.1217450000,86,0x22,W,0x33 0x00 0x4B 0x55 0x02

数据完整无误,与手册上的一致。

研究手册发现:

1.发射和接收有群组ID,即下图中的DeviceID

这个东西位于头部,相当于密码,给通信加了个密,必须要双方一致才能解调包里的数据;

看到这一点,我大概清楚了,根据上面数据流的情况,可以看到,发射部分:

0.0270510000,27,0x21,R,0x44 0x00 0x00 0x00 0x00

间隔一些数据

0.0270510000,27,0x21,R,0x44 0x55 0x55 0x55 0x55 

出现2次 这个就是密码,话筒的密码,最后一次的有效。

而接收端的:

0.0350870000,46,0x22,W,0x68 0x00 0x00 0x00 0x00

。。。

0.0516710000,67,0x22,W,0x68 0x00 0x50 0x14 0x02

也是2次,最后一次有效,和话筒的密码并不一致,话筒是固定的0x55,  接收端的随着频率的不同还会变化。656这个频率是上面这个。我想我把话筒的密码改了不就行了,这并不难。

于是找来一个晟矽的8脚IC MC6910,价格0.2左右吧,开始编程。具体程序我就不说了,还是一顿操作猛如虎,I2C的程序做的多了具体内容不足挂齿。总体思路是:

1,启动延时一段时间,让话筒把初始化的过程跑完进入频率跟踪状态,这时MCU会间隔几百的ms向9521读写一次频飘,并设置正确的纠正量。

2.为了不影响原MCU的通信,在这个比较长的时间里,发送正确的密码过去。所以设置一个引脚连接到SCL上,用于下降沿的中断触发,

3.在得到上述的触发点后,延迟一段时间(跳过频率跟踪通信)开始向I2C总线上发送密码。

上述操作后,查询写入的密码,已经改变,然后接收机没有任何反应;

心灰意冷,开始重新研究寄存器。

此时结合发射机的数据流,和寄存器描述,发现,在密码设置前有关闭发射操作,之后还有重置状态机的操作

然后我试着在代码中加入了这个操作:先停止发射,修改密码,重置状态机,重新发射

0.0607930000,60,0x21,R,0x40 0x00 0x00 0x55 0x20//停止发射

0.0530820000,52,0x21,R,0x44 0x00 0x50 0x14 0x02//修改密码

0.0549620000,54,0x21,R,0x34 0x00 0x00 0x52 0x40
0.0559830000,55,0x21,R,0x34 0x00 0x00 0x52 0xC0//重置状态机

0.0607930000,60,0x21,R,0x40 0x00 0x00 0x55 0xA0//启动发射

执行后,奇迹出现了。。。

接收机上显示了接收信号强度指示。而且敲击话筒也显示话筒信号的指示。

然而,。。并没有声音出来。检查接线无误,音频通道的状态完好,判定是9522这个ic没有发声。

继续研究。

尝试修改了很多寄存器无果,时间已经过去2天。。眼看就要成功,就差一点点。

偶然间我看到话筒端启动发射的文档中的值为00 00 93 A0

而实际发送的值是; 0x00 0x00 0x55 0xA0

遂尝试将0x55改成了0x93写入,只听彭的一声,对于音响就是噪音,然而对于现在的我,堪称完美。本次尝试结束。

其实真实的情况要曲折得多,比如原MCU的I2C信号电平上拉很强,无法正常插入的问题,比如接收机频率不同密码会变化的问题,还有晟矽的单片机入栈和出栈间隔导致SCL高低电平不对称的问题等等,不过还好都已经完美解决了。

特将此曲折的过程分享给喜欢折腾的同类人,此致。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1174610.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Javascript知识点详解:正则表达式

目录 RegExp 对象 概述 实例属性 实例方法 RegExp.prototype.test() RegExp.prototype.exec() 字符串的实例方法 String.prototype.match() String.prototype.search() String.prototype.replace() String.prototype.split() 匹配规则 字面量字符和元字符 转义符…

5.数据表基本操作

目录 1.创建数据表 创建数据表的语法格式: 查看当前数据库的表: 主键 1.单字段主键 (1)在定义列的同时指定主键,语法规则如下: (2)在定义完所有列之后指定主键。 2.多字段联合主键 外键: 非空约束&#xff1…

用户态内存映射

内存映射不仅仅是物理内存和虚拟内存之间的映射,还包括将文件中的内容映射到虚拟内存空间。这个时候,访问内存空间就能够访问到文件里面的数据。而仅有物理内存和虚拟内存的映射,是一种特殊情况。 对于堆的申请来讲,mmap 是映射内…

试试流量回放,不用人工写自动化测试case了

大家好,我是洋子,接触过接口自动化测试的同学都知道,我们一般要基于某种自动化测试框架,编写自动化case,编写自动化case的依据来源于接口文档,对照接口文档里面的请求参数进行人工添加接口自动化case 其实…

应用安全四十二:SSO安全

一、什么是SSO SSO是单点登录(Single Sign On)的缩写,是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。这种方式减少了由登录产生的时间消耗,辅助了用户管理,是比较流行的企业业务整合的解决方案之一。 身份验证过程依赖于双方之间的信任关…

大数据毕业设计选题推荐-智慧小区大数据平台-Hadoop-Spark-Hive

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

2022年ISSCC会议报告分析

Tutorial Fundamentals of Self-Sensing Processor Systems AMD Zen架构的CCD die中有很多传感器检测die的频率、电压、电压和温度 HBM DRAM and 3D Stacked Memory Advances in Digital vs. Analog AI Accelerators Nvidia的Multi-chip架构的DNN加速器 Form1: Compute-in…

Pycharm-community-2021版安装和配置

一、下载Pycharm-community-2021 1.从官网下载pycharm-community Pycharm 版本官网 二、安装PyCharm 1.打开下载完成的安装包,点击Next 2.安装PyCharm到其他位置,点击Next 3.一定把更新PATH变量勾上,可以创建桌面快捷方式,创建关联,最后…

apache-maven-3.6.3 安装配置教程

链接:https://pan.baidu.com/s/1RkMXipnvac9EKcZyUStfGQ?pwdl32m 提取码:l32m 1. 将 maven 压缩包解压至指定文件夹 2. 配置环境变量 (1)打开此电脑-> 鼠标右键选择属性->点击高级系统设置 (2)点…

【移远QuecPython】EC800M物联网开发板的硬件PWM和PWM输出BUG

【移远QuecPython】EC800M物联网开发板的硬件PWM和PWM输出BUG 文章目录 导入库初始化PWM开启PWMPWM硬件BUG附录:列表的赋值类型和py打包列表赋值BUG复现代码改进优化总结 py打包 导入库 from misc import PWM_V2或者 from misc import PWM但我觉得PWM_V2好用 初…

嵌入式中如何把C++代码改写成C语言代码

由于C++解释器比C语言解释器占用的存储空间要大500k左右。为了节省有限的存储空间、降低成本,同时也为了提高效率,将用C++语言写的源程序用C语言改写是很有必要的。 C++与C最大的区…

高位片选与低位交叉编址、芯片扩展与多模块存储器、多通道内存

多模块存储器 是一种空间并行技术,利用多个结构完全相同的存储模块的并行工作来增加存储器的吞吐率。根据不同的编址方式,多模块存储器分为连续编址和交叉编址两种结构 连续编址方式:主存地址的高位表示模块号(体号)…

Python--快速入门二

Python--快速入门二 1.Python数据类型 1.可以通过索引获取字符串中特定位置的字符: a "Hello" print(a[3]) 2.len函数获取字符串的长度: a "Hello" print(a) print(len(a)) 3.空值类型表示完全没有值: 若不确定当…

【嵌入式项目应用】__物联网小知识:不同通讯线的通讯距离是多少,你知道吗?

目录 前言 不同协议通讯线的传输距离 无线传输协议与距离 1. 蓝牙 2. Zigbee 3. LoRa 4. Wi-Fi 5. 蜂窝网络 6. Sigfox 7. LoRaWAN (* ̄︶ ̄)创作不易!期待你们的 点赞、收藏和评论喔。 前言 在物联网中,通讯线的作用是…

leetcode经典面试150题---5.多数元素

目录 题目描述 前置知识 代码 方法一 排序法 思路 实现 复杂度 方法二 哈希表 思路 实现 题目描述 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给…

pg14-sql基础(四)-多表联查

多表联查 内联查询 SELECT e.department_id, e.first_name, d.department_name FROM employees e INNER JOIN departments d -- JOIN departments d ON e.department_id d.department_id;左外联查询 SELECT e.department_id, e.first_name, d.department_name FROM employees…

【C语言基础】第01章_C语言入门

讲师:康师傅 视频:https://www.bilibili.com/video/BV1Bh4y1q7Nt?p1&vd_source3eaa9d17f2454e1ae80abc50d16e66b5 文章目录 本章专题脉络1初识计算机语言1.1 计算机语言是什么1.2 计算机语言简史 2初识C语言2.1 C语言的由来2.2 为什么要学习C语言2.…

英语——分享篇——每日200词——1-200

1——ball——[bɔːl]——n.球——ball——ba爸(拼音)ll筷子(象形)——爸爸用筷子夹球——The kid is playing the ball. ——孩子在玩皮球。 2——boat——[bəʊt]——n.船——boat——bo60(象形)at在(熟词)——60个人在船上——I have 60 boats.——我有60艘船。 3——bag—…

【架构图解】API架构图解:如何以图表形式展现复杂系统

文章目录 前言序列图组件图数据流程图结论 前言 架构图是链接到 API 的不同组件/服务如何相互交互的直观表示。 当需要理解 API 的架构并将其传达给不同的利益相关者(包括其他开发人员、项目经理和客户)时,这些图表非常有用。 图表/视觉效…

Python基础入门例程50-NP50 程序员节(循环语句)

最近的博文: Python基础入门例程49-NP49 字符列表的长度-CSDN博客 Python基础入门例程48-NP48 验证登录名与密码(条件语句)-CSDN博客 Python基础入门例程47-NP47 牛牛的绩点(条件语句)-CSDN博客 目录 最近的博文&a…