完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
MP=PIC32 MZ2048 ECH100MPLAB=V4.05和谐= 2.0.4.0i是新的和谐/PIC32。我正在编写一些简单的测试代码来启动,我有以下问题:我正在配置各种引脚上的输出脉冲来检查速度,只有一些引脚工作。我使用图形界面设置“GPIOOXOUT”。该表反映了所选择的引脚在使用和数字,输出模式。我有一个简单的代码串放置在主干:LiggBITS.LATG15=0;;/LATA5=0;/LaTa5=0;LATE5=0;/3X LATCITS.LATC1=0;/6 LabbTest.LATB0=0;//25x LATFITS.LATF3。S.LaDd1=0;////////////////////////-LaTab. LATA5=1;/LATE5=1;/LATC1= 1;//6 LabbTest.LATB0= 1;//LATFITBET.LATF3=γ;//La LddBist.LaDd1=;;//76PIN E5(α),B0(Oy)在引脚上按预期放置脉冲,但不在另一个脉冲上。= 0;/ / 56锁存比特通道(A,G,C,D,F)工作。tiIS寄存器与调试器的窥视看起来像预期的那样将比特设置为零。可能我在GRADE和新PIC32之间的灰色ALAAD中丢失了一些东西,但是我花了一些时间在这上面,并且不能弄清我做错了什么。(我在一个第二芯片上检查,以确定它不是硬件)。
以上来自于百度翻译 以下为原文 MP=PIC32 MZ2048 ECH100 MPLAB=v4.05 HARMony=2.0.4.0 I am new to Harmony/PIC32. I am writing some simple test code to get started and I have the following issue: I am configuring output pulses on various pins to check speed and only some pins work. I am using the graphical interface setting "GPIO_OUT". The table reflects this showing the selected pins as in-use and digital,output mode. I have a simple string of code placed right in the Harmony generated loop in main: LATGbits.LATG15 =0; //1 LATAbits.LATA5 =0; //2 LATEbits.LATE5 =0; //3x LATCbits.LATC1 =0; //6 LATBbits.LATB0 =0; //25x LATFbits.LATF3 =0; //56 LATDbits.LATD1 =0; //76 //////////////////////// LATGbits.LATG15 =1; //1 LATAbits.LATA5 =1; //2 LATEbits.LATE5 =1; //3 LATCbits.LATC1 =1; //6 LATBbits.LATB0 =1; //25 LATFbits.LATF3 =1; //56 LATDbits.LATD1 =1; //76 Pin E5(3) and B0(25) put pulses on the pins as expected but non of the other channels (A,G,C,D,F) work. A peek of the TRIS registers with the debugger appear to have the bits set to zero as expected. Probably I am missing something in the gray aread between Harmony and the new PIC32 but I have spent some time on this and cannot figure out what I am doing wrong. (I checked it on a a 2nd chip to be sure it isnt the hardware). Any thoughts appreciated Fritz |
|
相关推荐
17个回答
|
|
|
您可以将低级通话与和声代码混合。一般来说,您需要使用和声服务。也请确保生成的应用程序运行初始化例程,设置时钟和所有硬件设置(如IO端口方向等)。
以上来自于百度翻译 以下为原文 You are kinda mixing low level calls with Harmony code. Generally in Harmony, you need to use the Harmony services. See this help page. microchipdeveloper.com/harmony:plib-portsAlso be sure to let the generated App run the Initialize routines, these set the clocks and all the hardware settings (like IO port directions, etc). HTH |
|
|
|
|
|
我理解和声编码的意图,但我试图消除分支等以获得最高速度。无论如何,我编码了一个:PiBixPosisSputogle(PoxsSIDID0,PothChhannLyg,PoxsS.BITPoxPo15);PrbsiPosisSpToGogle(PoxsSIDID0,PosithChhannLaya,PoxsS.BiPosiPoS5);C模块下例AppyStisteService的任务:(我认为用户代码在那里),我得到相同的结果只有引脚3(E5)和25(B0)工作。
以上来自于百度翻译 以下为原文 I understand the intent of Harmony coding but I was trying to eliminate branching etc to gain top speed. At any rate I coded a: PLIB_PORTS_PinToggle (PORTS_ID_0, PORT_CHANNEL_G, PORTS_BIT_POS_15); PLIB_PORTS_PinToggle (PORTS_ID_0, PORT_CHANNEL_A, PORTS_BIT_POS_5); etc etc This was placed in the app.c module under case APP_STATE_SERVICE_TASKS: (I think user code code there) and I get the same results-only pins 3 (E5) and 25 (B0) work. thanks Fritz |
|
|
|
|
|
好的,我能想到的一些东西-跟踪你的代码(单步和单步更容易,编译器优化设置为“0”)。确保代码被设置为PIN的IO方向。当我开始使用Orthor时,一个常见的疼痛来源是,您对配置进行了更改,例如,打开和关闭一个功能-和谐将忘记PIN分配(我在考虑IO引脚)。这里的方向信息,并确保引脚设置为数字,而不是模拟。你可以再次检查-和/或你可以使用这些呼叫,以确保,数字必须有模拟明确关闭。然后设置特定引脚输出,然后你可以使用其中之一来控制输出引脚,
以上来自于百度翻译 以下为原文 OK, A few things I can think of - Trace your code out (Single step and single stepping is easier with the compiler optimizations set to '0'). And make sure that the code is called that sets the IO direction of the pins. A common source of pain for me when I started with harmony was that is you make changes to the configuration, for instance turn a feature off and on again - Harmony will forget the pin assignments (I'm thinking the IO PIN Direction information here and make sure the pins are set to Digital, not Analog). You can check this again - and / or you can use these calls to make sure, Digital MUST have Analog turned off explicitly. PLIB_PORTS_PinModeSelect (PORTS_ID_0, PORTS_ANALOG_PIN_0, PORTS_PIN_MODE_DIGITAL) Then set the specific pin to Output, PLIB_PORTS_PinDirectionOutputSet (PORTS_ID_0, PORT_CHANNEL_C, PORTS_BIT_POS_4) Then you can use one of these to control the output pin, PLIB_PORTS_Write (PORTS_ID_0, PORT_CHANNEL_C, 0x3)PLIB_PORTS_PinWrite (PORTS_ID_0, PORT_CHANNEL_C, PORTS_BIT_POS_4, 1)PLIB_PORTS_PinSet (PORTS_ID_0, PORT_CHANNEL_A, PORTS_BIT_POS_2)PLIB_PORTS_PinToggle (PORTS_ID_0, PORT_CHANNEL_C, PORTS_BIT_POS_5) |
|
|
|
|
|
PiBixPursSpInStand()和PLIPBIX PORTSH pClinux();寄存器不安全,如PIC10-24,因为MIPS没有比特指令锁存器。LATG15=1是软件R-M W.和声函数是线程安全的(现在不管怎样),还有3个其他寄存器附在每个寄存器上以避免这种情况。不幸的是,Microchip不提供比特流。它们是SET、CLR和IN。数据表中有。
以上来自于百度翻译 以下为原文 PLIB_PORTS_PinSet() and PLIB_PORTS_PinClear(); Not the Registers are NOT tread safe like PIC10-24 Since MIPS does not have Bit Instructions LATGbits.LATG15 =1 is a Software R-M-W. The Harmony Functions ARE Thread safe (Now anyway) There are 3 other register attached to each Register to avoid this. Unfortunately Microchip does not provide the Bitfeilds. They are SET, CLR, AND INV. There are in the Data sheet. |
|
|
|
|
|
这里的代码跟踪是运行ATSysPosisPixalII:/*PART初始化*/PLIPHPORTSUPopDunRunEnter(PosisSIDID0,PosithChhannLyA,SysSurtPosiaAODC);PrimsPosisScript写(PursStId0,PosithChhanelyA,SysStPixaaLaT);PrPixPosisTrimeOutOutsPoT(PoxsSIDID0,PothChhannvia,SysSpPursiaaTrIS)PiBixPosisStEnEnoCeTePrPurTurNo(PosisS.IdE0,Potol ChhannLyA);PrimsIdPosisNo.0,PosithChhanelyA,SysStPosia AyANSEL ^ 0xFFFF,PosisSpIn MyDeDigEdio;PrimsPosisPhansChaneleNooCeEnabl(PoxsSIDID0,PothChhannvia,SyssiPosiaA.CNEN);EpulLopEnabl(PosisSIDIO0,PosithChhanelyA,SyssiPosiaA.CNPU);PrimpPosisThanChaneleNooCePululLoDelabt(PoxsSIDIO0,PotoShannEnvia,SysSurtPosiaA.CNPD);我没有看到明确的模式集,但是AsSELX ReGs对于所讨论的PIN有零,所以我假设这符合我的配置从和谐这表明它们是数字模式。我对使用和声有点困惑。我使用引脚布局面板设置引脚上升。现在PLIB从应用程序任务调用来切换它们。(当然,它适用于Rigs B和G)。我这样做是正确的吗?用PLIB吗?或者其他一些和谐配置工具或宏隐藏在过多的DOC中?还有协调框架配置降下来做配置,但我猜这是多余的引脚面板。这似乎是一个非常基本的和谐任务,应该简单地工作。也许我不理解这里的教程,但我找不到任何进一步的例子。
以上来自于百度翻译 以下为原文 Tracing into the code here is what runs at SYS_PORTS_Initializ: /* PORT A Initialization */ PLIB_PORTS_OpenDrainEnable(PORTS_ID_0, PORT_CHANNEL_A, SYS_PORT_A_ODC); PLIB_PORTS_Write( PORTS_ID_0, PORT_CHANNEL_A, SYS_PORT_A_LAT); PLIB_PORTS_DirectionOutputSet( PORTS_ID_0, PORT_CHANNEL_A, SYS_PORT_A_TRIS ^ 0xFFFF); PLIB_PORTS_ChangeNoticePerPortTurnOn(PORTS_ID_0, PORT_CHANNEL_A); PLIB_PORTS_ChannelModeSelect(PORTS_ID_0, PORT_CHANNEL_A, SYS_PORT_A_ANSEL ^ 0xFFFF, PORTS_PIN_MODE_DIGITAL); PLIB_PORTS_ChannelChangeNoticeEnable(PORTS_ID_0, PORT_CHANNEL_A, SYS_PORT_A_CNEN); PLIB_PORTS_ChannelChangeNoticePullUpEnable(PORTS_ID_0, PORT_CHANNEL_A, SYS_PORT_A_CNPU); PLIB_PORTS_ChannelChangeNoticePullDownEnable(PORTS_ID_0, PORT_CHANNEL_A, SYS_PORT_A_CNPD); I don't see an explicit mode set but the ANSELx regs have zeros for the pins in question so I assume this complies with my configuration from Harmony which shows them to be digital mode. I am a little confused about my use of Harmony. I am using the pin-layout panel to set the pins up. And now PLIB calls from the app task to toggle them. (And of course it works for regs B and G). So am I doing this correctly? Is PLIB to be used? Or some other Harmony configuration tool or macros hidden in the plethora of doc? There is also the Harmony Framework Configuration drop downs to do the configuration but I am guessing this is redundant with the pin panel. It seems as though this is a very fundamental Harmony task and should work simply. Perhaps I didn't understand the tutorial here but I cannot find any further examples. Thanks Fritz |
|
|
|
|
|
如果在示例代码中使用PIN布局和谐,但是使用与示例中的PIN不同的PIN,可能会出现问题。IE有一个BSP逻辑,它设置了PIN,而不管您所说的是因为演示意图。如果这不是一个罐头演示,你已经滚动了你自己的项目,忽略它。ANSEL咬我(我的意思是和谐BSP将它设置回我后面的模拟输入,正如LostInSpace所说),但这将在这里:PrimthPosissChhannMyDeDeject(PosisSIDID0,PosithChhanelyA,SysStPursiaAANSEL ^ 0xFFFF,端口)这个轨迹中定义的常量是什么?
以上来自于百度翻译 以下为原文 If you use the pin layout in Harmony in an example code, but using pins other than those in the example, there can be issues. IE there is BSP logic that sets pins regardless of what you said because of the demo intent. If this is NOT a canned demo and you have rolled your own project, ignore that. ANSEL bit me (by which I mean Harmony BSP set it back to analog input behind my back, as LostInSpace said), but that would be here: PLIB_PORTS_ChannelModeSelect(PORTS_ID_0, PORT_CHANNEL_A, SYS_PORT_A_ANSEL ^ 0xFFFF, PORTS_PIN_MODE_DIGITAL); What are the constants defined to in that trace? |
|
|
|
|
|
嗨,弗里兹,你想把这个谜团当成瞎子。这个地区的和谐文献要么是不存在的,要么是错误的。直接进入数据表(DS601320)。对于EFM100部分,检查表3和部分12.使用MHC生成所需的和声文件。现在转到StasyCon Fig .h(在页眉/应用程序)文件夹中,并编辑Purnxx条目,使之成为PIN所需的内容。一旦工作,你可以通过和谐MHC和PIN设置逻辑,试图找出哪些文件要改变做你想做的事情。走向另一个方向(PIN设置到App.c)几乎是不可能的(IMHO)。
以上来自于百度翻译 以下为原文 Hi Fritz, You are trying to put this puzzle together as a blind man. The Harmony documentation in this area is either non-existent or wrong. Go straight to the data sheet (DS60001320). For the EFM-100 part, check Table 3 and section 12.0. Use the MHC to generate the required Harmony files. Now go to system_config.h (in the Header/apps) folder and edit the PORTn_x entries to be what you want the pins to do. Once that is working, you can go back through the Harmony MHC and pin settings logic to try to figure out which files to change to do what you want. Going the other direction (pin settings to app.c) is almost impossible (IMHO). |
|
|
|
|
|
Oku-我接受了尼尔的建议,用这些函数替换了切换:PrimpPosisSpISET(PoxsSIDIO0,PosithChhanelyA,PoxsS.BiToPosi5);PrBixPosisSpInCube(PosisSIDID0,PosithChhannela,PosisS.BiPosiPoS5);PrBixPosisPiPoSt5(PosisSIDID0,PotoShannEngle,PosisS.BiToPosi5);PrimsPosisPixCube(PursStIdS0,Potojang-China)关于J蜡烛的问题:调试转储显示在PIN切换语句:ANSELLA=0x0603 TrISA=0xC6DFSUT清楚地模拟是关闭的,模式是输出的。比尔-我已经阅读了数据表(通常我去的第一个地方),并且大部分表达的内容与EurLi非常相似。E-PIC族(18,24)在建立TrIS、AsSELM等MHC氏族方面,以下为PIN RA5:γ定义了SyssiPosiaAyANSEL 0xFFDF,定义了SyssiPosiaAyTras0xFFDFF仍然得到相同的结果-R5工作,RA5没有。因此,我想知道是否有一些覆盖寄存器的高级别配置问题——某种类型的硬件保险丝或类似的PIC32。我在这600页的数据表中找不到什么有趣的东西。上面的代码很简单,我看不到关于ReGa和RGE的任何东西,它们应该是不同的!我仍然无法想象PIC32和MHC的发货问题,我必须做一些明显的错误。
以上来自于百度翻译 以下为原文 OK_-I took Neil's advice and replaced the toggle with these functions: PLIB_PORTS_PinSet(PORTS_ID_0,PORT_CHANNEL_A,PORTS_BIT_POS_5); PLIB_PORTS_PinClear(PORTS_ID_0,PORT_CHANNEL_A,PORTS_BIT_POS_5); PLIB_PORTS_PinSet(PORTS_ID_0,PORT_CHANNEL_E,PORTS_BIT_POS_5); PLIB_PORTS_PinClear(PORTS_ID_0,PORT_CHANNEL_E,PORTS_BIT_POS_5); Regarding jcandle's question: The debug dump shows at the pin-toggle statement: ANSELA = 0x0603 TRISA=0xC6DF Thus clearly Analog is off and mode is output. Bill- I've read the datasheets (first place I go usually) and most of what is expressed there is very similar to the earlier pic families (18,24) in terms for setting up TRIS, ANSELM etc. MHC gens the following generated for pin RA5: #define SYS_PORT_A_ANSEL 0xFFDF #define SYS_PORT_A_TRIS 0xFFDF Still getting the same results- RE5 works, RA5 does not. So I am wondering if there is some overridding high level configuration issues for the registers--some type of hardware fuse or something like that for the PIC32. I can't find much interesting in the 600 page datasheet in this regard. The above code is pretty simple and I cannot see anything about regA and regE that should be different! And I still find it unimaginable that PIC32's and MHC is shipped with this problem-I must be doing something obvious wrong- thanks all Fritz |
|
|
|
|
|
现在我很困惑。调试OutPutsAsLa= 0x0603,TrISA=0xC6DF显示位×5为数字和输入(不输出)。但是StysAsfIf.h设置是定义了SysStPurthAAANSEL 0xFFDF,定义了SysStPursiaAyTras0xFFDF(RA5=模拟、输入)。我认为后者是一个用来输入端口系统服务的设备,但是显然由于调试输出不同,还有别的事情发生。比尔
以上来自于百度翻译 以下为原文 Now I am confused. The debug output ANSELA = 0x0603, TRISA=0xC6DF shows bit#5 to be digital and input (not output). But the system_config.h settings are #define SYS_PORT_A_ANSEL 0xFFDF, #define SYS_PORT_A_TRIS 0xFFDF (RA5 = analog, input). I thought the latter set is the one used to init the ports system service, but apparently there is something else going on since the debug output is different. Bill |
|
|
|
|
|
比尔调试输出数高到低,因此TrISA=C6DF=1100 0110×1101 1111,从末尾的第五位为零,输出。
以上来自于百度翻译 以下为原文 Bill the debug output numbers high-to-low thus TRISA= C6DF = 1100 0110 1101 1111 The 5th bit from the end is zero which is output. Fritz |
|
|
|
|
|
|
|
|
|
|
|
好的,我道歉,但我看了很久,发现我使用的是不正确的引脚。我有一个PIM32安装在“Explorer”DEV板上。PIM32上的引脚映射是神秘的,那么DEV板存在一些问题。我在我自己的DePoad设计上安装了PIC 32(有1/1张地图),一切都很好。很多时间都为这里的混乱感到惋惜。从现在起,我将使用我自己的木板。
以上来自于百度翻译 以下为原文 OK-my apologies-but I got a longer look at this and found that I was using an improper pinout. I had a PIM32 mounted on an "explorer" dev board. The pinout mapping on the PIM32 is arcane-then there were some issues with the dev board. I since mounted a PIC 32 on my own devboard design (with 1/1 mapping) and everything works fine. A lot of time lost-sorry for the confusion here. From now on I will use my own boards. thanks fritz |
|
|
|
|
|
答案是:如果您希望通过使用MPLab Harmony的BSP功能(例如,我们想现在将值分配给RD12)来分配GPIO引脚(1)或“0”,您应该到您的初学者工具包的BSP.XML文件找到的位置(现在我们说PIC32 USB启动器工具包2)并添加一个行到XML描述如下:位置:Cl:V1Y06Y02BSPPIC32 MXYSUBSK2xMLAddio添加到XML文件下面的行:&函数名称=“您想要的任何东西”PIN=“RD12”模式=“数字”方向=“OUT”/gt;现在,您可以使用UDDR12AS ADIGITALUTPUT,并应用一个“LabdBIT”的示例命令。LATD12=1;“在您的App.cOnter方面
以上来自于百度翻译 以下为原文 The answer is: If you want to be able to assign '1' or '0' to the GPIO pins by also using BSP feature of MPLab Harmony(let's say we want to assign values to RD12 for now) you should go to the location where your starter kit's bsp.xml file is found (let's say PIC32 USB Starter Kit 2 for now) and add a line to the xml description as follows: location: C:microchipharmonyv1_06_02bsppic32mx_u***_sk2xml add the line below to the xml file: Now, you can use RD12 as a digital output and, apply an example command of "LATDbits.LATD12 = 1;" in your app.c Kind Regards |
|
|
|
|
|
FrITZ,我想当我下载我的应用程序时,我可以控制GPIO PORTF BITY12,但是当我在单机模式下运行我的应用程序时,我不能设置PoTF BITY12…它总是读回值“0”,范围跟踪表明它是“0”,我是否正确地理解到,在一天结束的时候,你从来没有控制PoTF的问题。即使我问是否有人见过或知道这样的情况。或有任何指导为什么固件下载使用IDE和ICD3将正确运作,而固件程序使用IPE和ICD3将不能正常运行,不能设置PoTF BITY12。我使用PIC32 MZ2048 EFM100。戴尔·庄森
以上来自于百度翻译 以下为原文 Fritz, I'm thinking that I can control GPIO PORTF BIT_12 when I download my application but when I run my application in stand-alone mode I cannot set PORTF BIT_12 ... it always read back value '0' and scope trace indicates that it is '0' Do I understand correctly that at the end of the day it turns out you never had a problem controlling PORTF. It seems very unlikely that what I describe above is happening ... even though I ask if anyone has seen or knows about a situation like this. Or has any guidance why firmware downloaded using IDE and ICD3 will function properly while firmware programmed using IPE and ICD3 will not function properly and cannot set PORTF BIT_12. I am using PIC32MZ2048EFM100. Dale Johnson |
|
|
|
|
|
你用什么精确的指令序列来设置那个位?如果PIN是模拟能力在您的PIC,你把它转换为数字模式?
以上来自于百度翻译 以下为原文 What exact instruction sequence are you using to set that bit? If that pin is analog capable on your PIC, have you switched it to digital mode? |
|
|
|
|
|
您好QYB,我使用下面的指令序列:Auto= 0x0.00亿;TrISF=(BITY13);LATF=(BITY12);并且,是的,您可以在上面的序列中看到,Audio= 0x90000将PIN转换为数字模式。然后,当我在IDE“调试项目”Env中操作时,LATF=(BITY12)设置BITSO。这是正确的。在发出LATF=(BITY12)命令之后,读取PoTF返回一个值,该值指示该位已被设置。相应的PIN可以通过探测它的信号来验证为“高”。相反,当我使用IPE编程PIC然后在它的“独立”环境中操作时,该比特不被设置。当我循环设置然后读取端口时,我永远不会退出这个循环。欢迎所有的问题,~ Dale
以上来自于百度翻译 以下为原文 Hello qyb, I am using the following instruction sequence: ANSELF = 0x00000000 ; TRISF = (BIT_13) ; LATF = (BIT_12) ; and, yes, you can see in the above sequence that ANSELF = 0x00000000 switches the pin to digital mode. then LATF = (BIT_12) sets the bit so, when I'm operating in IDE "Debug Project" environment this works correctly. After I issue the LATF = (BIT_12) command reading PORTF returns a value indicating that the bit has been set. And the corresponding pin can be verified to be 'High' by probing its signal. Conversely, when I use the IPE to program the PIC and then operate it in its "stand-alone" environment, the bit is not set. When I loop setting and then reading the PORT I never exit that loop. All questions are welcomed, ~Dale |
|
|
|
|
|
VisuTTPSP//MicroChIPaF.COM/2012/04/19/PIC32-WATCH-UY-JTAG/这个微芯片FAE博客条目解决了我一直在问的问题,现在解决了MexEnter感谢Roy Sasaki的支持……向我解释说,“TDO是用这个别针加密的。这是JTAG接口的一部分。如果不禁用,这将在独立模式中优先考虑。在调试模式下,它被关闭。
以上来自于百度翻译 以下为原文 Visit https://microchipfae.com/2012/04/19/pic32-watch-your-jtag/ - this Microchip FAE Blog entry addresses the problem about which I have been asking and which is now solved for me sincere appreciation to Roy Sasaki for his support ... explaining to me that "TDO is muxed with this pin. This is part of the JTAG interface. This takes priority in standalone mode, if not disabled. In debug mode, it is turned off." |
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
454 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3529 浏览 3 评论
1121浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
872浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
466浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 18:16 , Processed in 1.353307 second(s), Total 104, Slave 87 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
962