完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我与这个板工作没有问题(PIPPLL,HS,20MHz晶体)几个小时。由于没有明显的原因,它开始在4号振荡卫星上立即发射。我改变了配置比特开始在FRCPLL,然后禁用PRI完全,最后使用FRC没有PLL和没有外部振荡器。没有办法责怪这个代码,因为它甚至把断点在地址0和0x400(我的代码开始地址),失败发生在任一地址程序内存被击中。我将在第三看我的水晶和帽子焊接,以防某些引脚加载问题困扰时钟,但这是一个水晶,帽值,和布局,我已经用了20MHz多年。
以上来自于百度翻译 以下为原文 I was working with this board with no issues (PRIPLL, HS, 20MHz crystal) for hours. With no discernible cause, it began haulting immediately on launch at address 4 _OscillatorFail. I changed the config bits to start in FRCPLL, then to disable PRI completely, and finally to use FRC no PLL and no external oscillator. There is no way to blame the code for this as it even placing breakpoints at addresses 0 and 0x400 (my code start address), the fail occurs before either address in program memory is hit. I will take a third look at my crystal and cap soldering in case some pin loading issue is messing with the clock, but this is a crystal, cap values, and layout that I have used at 20MHz for years... |
|
相关推荐
19个回答
|
|
在过去,我们有类似的抱怨。可以追溯到连接到VCAP的电容器——这是过去20年没有使用的东西。那么,你的帽子是什么?
以上来自于百度翻译 以下为原文 IIRC we had comparable complaints here in the past. Could be traced back to the capacitor connected to Vcap - something you did not use for the last 20 years. So, what is your cap there? |
|
|
|
我确实找到了一个早期的线程不同的芯片,他们把它归咎于一个附加到零件的FPGA…我有一个2.2uF陶瓷在引脚与地面的短痕迹,这是我已经用了数千个装运的DSPIC33 FJ系列零件。它也在这个板的第一个Rev。我看到这个数据表在图2.1中想要10uf……增加了一个10uf并行并且具有相同的问题。第二个板与PrIPL/Hs有相同的问题。以前的板(它工作了数周的代码Dev)也有问题。这可能是一个现实问题而不是真正的芯片吗?注意-它不会在0x51 A中振荡,PC是在0x04的矢量振荡器上失败。
以上来自于百度翻译 以下为原文 I did find one earlier thread - different chip and they blamed it on an FPGA attached to part... I have a 2.2uF ceramic right at the pin to ground with a short trace, which is what I have used for thousands of shipped dsPIC33FJ series parts. It also was on the first rev of this board. I see this datasheet wants 10uF in Fig. 2.1...Added a 10uF in parallel and have the same issue Second board has same issue with PRIPLL/HS. Previous board (which worked for weeks of code dev.) also has issue. Could it be a RealICE problem and not really the chip? NOTE - it is not going to _OscillatorFail at 0x51A, the PC is at 0x004 at the vector for _OscillatorFail |
|
|
|
在处理中断原因事件时发生MPLABX ISNULL指针异常的错误消息!.
以上来自于百度翻译 以下为原文 The error message in MPLABX is Null pointer exception occured while processing Break reason event!. |
|
|
|
尝试禁用故障安全时钟监视器在您的配置位设置。BTW你真的是指DSPIC33 EV64 GS102 MCU或它是一个错误?
以上来自于百度翻译 以下为原文 Try disabling the Fail-safe Clock Monitor in your CONFIG bits settings. BTW did you really mean the dsPIC33EV64GS102 MCU or it's a typo? |
|
|
|
尝试我的生产dSPIC33 FJ -没有问题。重试这个板。同样的问题,从USB3移动到USB2端口。最初,同样的SuxeloDead默认链接器脚本工作。重新加载自定义链接器脚本-与FRC一起工作。将比特设置为PIPPLL/HS/等,仍然工作……无缘无故和紧张,仍然存在一个问题……
以上来自于百度翻译 以下为原文 tried my production dsPIC33FJ - no issues. Retried this board. same issue. Moved RealICE from USB3 to USB2 port. Initially same issue Loaded default linker script - worked. Reloaded custom linker script - worked with FRC. Set bits to PRIPLL/HS/etc, still works... Clueless as to why and nervous that there is still an issue... |
|
|
|
你知道电动汽车是“5 V只”?由于问题似乎是间歇性的,我首先从检查供应开始。
以上来自于百度翻译 以下为原文 You're aware that the EV is "5 V only"? As the problem seems intermittend I'd start with checking the supply. |
|
|
|
嗨,你能纠正你的标题吗?DSPIC33 EV64 GS102设备不存在…问候
以上来自于百度翻译 以下为原文 Hi, Can you please correct your thread title ? dsPIC33EV64GS102 device does not exist... Regards |
|
|
|
在第一板上犯了错误…是USB供电吗?这一个有8V的固体5V Re.MbBeDer--将尝试。现在我正在堵塞App应用程序开发的同时:“是的,PyPISISC =编辑的标题,抱歉。
以上来自于百度翻译 以下为原文 du00000001 - made that mistake on the first board... was USB powering it. This one has >8V to a solid 5V reg. MBedder - will try that. right now I am plugging away ate app development while it works :) yes type RISC = edited title, sorry. |
|
|
|
我会检查电源(加上电压在VCAP)无论如何,一个范围!我正在运行我自己的EV(在起动器套件上),直到现在PLL才有问题。设置,等待锁定---我们走吧!整个事情直接挂在USB端口上。
以上来自于百度翻译 以下为原文 I'd check the supply (plus the voltage at Vcap) anyway with a scope ! I'm running my own EV (on the starter kit) and never had issues with the PLL until now. Set up, wait for locking --- here we go! The whole thing hooked directly to a USB port. |
|
|
|
这两种电源都像我在家的古董TDS3052范围一样干净……问题刚刚回来,当我调用代码试图修改一块Flash…保险丝:我在0x400启动代码,并使用0x200 - 0x3FF作为NV内存块。现在试着把我的块放在最后,但是没有Jo.Link脚本。MODS:程序(XR):Oracle=0x200,长度=0xA600….Y.CODEYBASE=0x200;γ-CODEL长度=0xA600;……使用0xA800 -0xA9FF用于NV内存浪费0xAA00 -0xAB7F,因为我不想用保险丝作弊。蛋挞。。。
以上来自于百度翻译 以下为原文 both power are as clean as the antique TDS3052 scope i have at home... problem just came back when I called code that attempts to modify a block of flash... fuses: // FSEC #pragma config BWRP = OFF // Boot Segment Write-Protect Bit->Boot Segment may be written #pragma config BSS = DISABLED // Boot Segment Code-Protect Level bits->No Protection (other than BWRP) #pragma config BSS2 = OFF // Boot Segment Control Bit->No Boot Segment #pragma config GWRP = OFF // General Segment Write-Protect Bit->General Segment may be written #pragma config GSS = DISABLED // General Segment Code-Protect Level bits->No Protection (other than GWRP) #pragma config CWRP = OFF // Configuration Segment Write-Protect Bit->Configuration Segment may be written #pragma config CSS = DISABLED // Configuration Segment Code-Protect Level bits->No Protection (other than CWRP) #pragma config AIVTDIS = DISABLE // Alternate Interrupt Vector Table Disable Bit ->Disable Alternate Vector Table // FBSLIM #pragma config BSLIM = 0x1FFF // Boot Segment Code Flash Page Address Limit Bits (Boot Segment Flash Page Address Limit (0-0x1FFF)) // FOSCSEL #pragma config FNOSC = PRIPLL // Initial oscillator Source Selection Bits->Primary Oscillator with PLL module (XT + PLL, HS + PLL, EC + PLL) #pragma config IESO = ON // Two Speed Oscillator Start-Up Bit->Start up device with FRC,then automatically switch to user selected oscillator source // FOSC #pragma config POSCMD = HS // Primary Oscillator Mode Select Bits->HS Crystal Oscillator mode #pragma config OSCIOFNC = OFF // OSC2 Pin I/O Function Enable Bit->OSC2 is general purpose digital I/O pin #pragma config IOL1WAY = OFF // Peripheral Pin Select Configuration Bit->Allow Only One reconfiguration #pragma config FCKSM = CSECMD // Clock Switching Mode Bits->Clock Switching is enabled,Fail-safe Clock Monitor is disabled #pragma config PLLKEN = ON // PLL Lock Enable Bit->Clock switch to PLL source will wait until the PLL lock signal is valid // FWDT #pragma config WDTPOST = PS32768 // Watchdog Timer Postscaler Bits (1:32,768) #pragma config WDTPRE = PR128 // Watchdog Timer Prescaler Bit (1:128) #pragma config FWDTEN = OFF // Watchdog Timer Enable Bits (WDT and SWDTEN Disabled) #pragma config WINDIS = OFF // Watchdog Timer Window Enable Bit (Watchdog timer in Non-Window Mode) #pragma config WDTWIN = WIN25 // Watchdog Window Select Bits (WDT Window is 25% of WDT period) // FPOR #pragma config BOREN0 = ON // Brown Out Reset Detection Bit (BOR is Enabled) // FICD #pragma config ICS = PGD1 // ICD Communication Channel Select Bits (Communicate on PGEC1 and PGED1) // FDMTINTVL #pragma config DMTIVTL = 0x0 // Lower 16 Bits of 32 Bit DMT Window Interval (Lower 16 bits of 32 bit DMT window interval (0-0xFFFF)) // FDMTINTVH #pragma config DMTIVTH = 0x0 // Upper 16 Bits of 32 Bit DMT Window Interval (Upper 16 bits of 32 bit DMT window interval (0-0xFFFF)) // FDMTCNTL #pragma config DMTCNTL = 0x0 // Lower 16 Bits of 32 Bit DMT Instruction Count Time-Out Value (Lower 16 bits of 32 bit DMT instruction count time-out value (0-0xFFFF)) // FDMTCNTH #pragma config DMTCNTH = 0x0 // Upper 16 Bits of 32 Bit DMT Instruction Count Time-Out Value (Upper 16 bits of 32 bit DMT instruction count time-out value (0-0xFFFF)) // FDMT #pragma config DMTEN = DISABLE // Dead Man Timer Enable Bit (Dead Man Timer is Disabled and can be enabled by software) // FDEVOPT #pragma config PWMLOCK = ON // PWM Lock Enable Bit (Certain PWM registers may only be written after key sequence) #pragma config ALTI2C1 = OFF // Alternate I2C1 Pins Selection Bit (I2C1 mapped to SDA1/SCL1 pins) // FALTREG #pragma config CTXT1 = NONE // Interrupt Priority Level (IPL) Selection Bits For Alternate Working Register Set 1 (Not Assigned) #pragma config CTXT2 = NONE // Interrupt Priority Level (IPL) Selection Bits For Alternate Working Register Set 2 (Not Assigned) I was starting code at 0x400 and using 0x200- 0x3FF as a NV memory block. Now trying putting my block at the end, but no joy. linker script mods: program (xr) : ORIGIN = 0x200, LENGTH = 0xA600 ... __CODE_BASE = 0x200; __CODE_LENGTH = 0xA600; ... Using 0xA800 - 0xA9FF for NV memory wasting 0xAA00-0xAB7F because I don't want to monkey with the fuses. That said, the program memory is proper, the reset vector is correct, and it fails at the start... |
|
|
|
可重复性:最后,当我开始注释FLASH的代码时,这个问题不断出现。每次它开始工作时,我也会不知不觉地备份到最后一步,而没有抓住这个相关性。我有两个函数,一个从Flash读取一个块到一个结构中。另一个写它。GETRealTeDATA();提交FLASH();我不承诺写的工作(我需要调试它,但它来自一个工作的DSIC33 FJ引导程序)。振荡器是一个红色鲱鱼。振荡器不知道会失败,我不会最终陷入陷阱。它通常在PM线3(0x000 04)结束,这是OSC陷阱的IVT。但是,它只是没有执行最初的Goto 0x0200。我不明白为什么有一个调用SturnScor()的行:它可能使它不能启动。我可以想到很多方法来执行它可能是一个灾难,但不只是连接代码……缩小它,我让它链接提交FLASH(),但是注释了它里面的各种内存。Read Labor()、RealeltCh()和WrreMeMe()允许它启动,但Erasee()不……同样,我从不执行EraseAe(),它只需要链接吗????
以上来自于百度翻译 以下为原文 Reproducibility, at last: The issue kept arising when I started uncommenting code that writes flash. Every time it started working again, I unwittingly also backed up to the last step that worked without catching this correlation. I have two functions, one reads a block from flash into a structure and the other writes it. GetPersistentData(); CommitFlash(); I make no promises that the one that writes WORKS (I need to debug it, but is comes from a working dsPIC33FJ bootloader). Merely uncommenting CommitFlash(); makes it fail at launch. Oscillator is a red herring. The oscillator is not known to fail and I do not end up IN the trap. It used to end up at PM line 3 (0x0004) which is the IVT for Osc trap. But, it simply is not executing the initial GOTO 0x0200. I cannot see why having a line that calls CommitFlash(): could make it failt to launch. I *can* think of lots of ways executing it could be a disaster, but not merely linking the code in... To narrow it down, I let it link CommitFlash() but commented various memory.s calls within it. ReadLatch(), WriteLatch(), and WriteMem() allow it to launch but Erase() does not... Again, I never execute Erase(), it just has to be linked??? void GetPersistentData() { unsigned char OldIPL = SetPriorityLevel (7); unsigned short usLen = sizeof(g_eedata); unsigned char* ptrData = (char*) (&g_eedata); uReg32 SourceAddr; uReg32 Temp; unsigned int Size; SourceAddr.Val32 = MEM_ADDRESS; // reset instruction for(Size = 0; Size < usLen ; Size+=3) { Temp.Val32 = ReadLatch(SourceAddr.Word.HW, SourceAddr.Word.LW); ptrData[0] = Temp.Val[0]; if (Size < usLen-1) ptrData[1] = Temp.Val[1]; if (Size < usLen-2) ptrData[2] = Temp.Val[2]; ptrData = ptrData + 3; SourceAddr.Val32 = SourceAddr.Val32 + 2; } if (g_usAddress > 255) g_usAddress = 0; // unassigned // if (g_ulSerialNum == 0xFFFFFFFF) // g_ulSerialNum = 0x00000000; if (g_lZero == 0xFFFFFFFF) g_lZero = 0; if (isF32NaN(g_fScale)) g_fScale = 1.0; // use a realistic scale if (isF32NaN(g_fdzdt)) g_fdzdt = 0.0; if (isF32NaN(g_fdsdt)) g_fdsdt = 0.0; ResetPriorityLevel (OldIPL); return; } void CommitFlash() { // Before using WritePM, make sure that user level interrupts of turned off // use: // unsigned char prev_ipl = SRbits.IPL; // SRbits.IPL = 0x7; // disable user level interrupts. // WritePM().. // SRbits.IPL = prev_ipl; // restore previous interrupt levels /************************************************************ * FLash Read/WRiting: ** * FLash PM_ROW_SIZE * 3 bytes * 64 * 8 = 512 triplets = 1536 bytes, i.e. 0x600 * The FLASH read / writes should occur from address boundary of 64 bytes. * i.e. 0x00 to 7F, 0x80 to 0xFF, 0x100 to 0x17F, etc. * * In order to write to the flash at 0x157F8, identify * a). The {start address + page_size} should be less than max flash (i.e. 128K or 0x1FFFF) * b). Identify the address that is multiples of "512 bytes page", with 64 byte boundary address. * c). Use the ReadPM and WritePM functions. * * Follow these steps: * desired address = 0x157F8 ^ 0xFFFF FE00 * if desired address > 0x1FFFF, then it is beyond 128K flash memory, * hence, it is an invalid address * * Step a) Find the "desired page block" address (0x15600), and "FLASH Read" that page block (from 0x15600) * Step b) Modify the bytes at [0x157F8, F9, FA, FB} with desired values. * These address locations are: array[0x1F8],array[0x1F9], array[0x1FA], array[0x1FB] * step c). use the WritePM function to write back the values. *****************************************************************/ unsigned char OldIPL = SetPriorityLevel (7); unsigned short usLen = sizeof(g_eedata); // currently 22 bytes unsigned char* ptrData = (char*) (&g_eedata); uReg32 SourceAddr; SourceAddr.Word.HW = 0; SourceAddr.Word.LW = 0x200; Erase(SourceAddr.Word.HW, SourceAddr.Word.LW, PM_PAGE_ERASE); SourceAddr.Word.HW = 0; SourceAddr.Word.LW = 0x200; int Size; uReg32 Temp; uReg32 TempAddr; uReg32 TempData; for(Size = 0; Size < usLen && Size < 62; Size+=3) { // will write one or two extra bytes on last look, but that is OK Temp.Val[0]=ptrData[Size+0]; Temp.Val[1]=ptrData[Size+1]; Temp.Val[2]=ptrData[Size+2]; Temp.Val[3]=0; WriteLatch(SourceAddr.Word.HW, SourceAddr.Word.LW,Temp.Word.HW,Temp.Word.LW); /* Device ID errata workaround: Save data at any address that has LSB 0x18 */ if((SourceAddr.Val32 & 0x0000001F) == 0x18) { TempAddr.Val32 = SourceAddr.Val32; TempData.Val32 = Temp.Val32; } if((Size !=0) && (((Size + 1) % 64) == 0)) { /* Device ID errata workaround: Reload data at address with LSB of 0x18 */ WriteLatch(TempAddr.Word.HW, TempAddr.Word.LW, TempData.Word.HW, TempData.Word.LW); WriteMem(PM_ROW_WRITE); } SourceAddr.Val32 = SourceAddr.Val32 + 2; } WriteMem(PM_ROW_WRITE); ResetPriorityLevel (OldIPL); } ;*************************************************************** _Erase: push TBLPAG mov W2,NVMCON mov w0,TBLPAG ; Init Pointer to page to be erased tblwtl w1,[w1] ; Dummy write to select the row mov #0x55,W0 ;Unlock sequence - interrupts need to be off mov W0,NVMKEY mov #0xAA,W0 mov W0,NVMKEY bset NVMCON,#WR nop ;Required nop erase_wait: btsc NVMCON,#WR ;Wait for write end bra erase_wait pop TBLPAG return ;*************************************************************** .end |
|
|
|
你有没有注意到这个从DSPIC33到DSPIC33的迁移文档?这不仅仅是复制从33到33码的代码。
以上来自于百度翻译 以下为原文 Did you ever notice this fancy document about migrating from dsPIC33F to dsPIC33E? It's not just about copying to get code from 33F to 33E. |
|
|
|
嗨,你用的是DSPIC33 EV吗?编程规范文档有正确的参数WOWS写/擦除闪存,或者你只是重用一些SW的另一个DSIC33?仔细检查关于在2和0x200之间访问地址的错误表。
以上来自于百度翻译 以下为原文 Hi, Did you use the dsPIC33EV... Programming Specification document to have the right parameters woth writing / erasing flash or did you simply reuse some SW for another dsPIC33 ? Check carefully erratasheet about accessing addresses between 2 and 0x200. Regards |
|
|
|
按照DU000 000 000 01……EP与FJ完全不同。不能修改FJ代码。确保您保护顶页(配置)。为了避免在这样一个小设备中浪费Flash,请使用链接器脚本将最后一页中的未修改代码与配置文件一起放置。如果这是另一个Bootloader的味道,将一些(或全部)Bootloader配置为CONFIG。虽然在这样一个小内存中不是必需的,但是把这些例程声明为“α-法拉第”,以确保任何使用力的直接跳跃不相关。
以上来自于百度翻译 以下为原文 As per du0000000001... EP is totally different to FJ. FJ code can not be used without modifications. Ensure you protect the top page (with config). To avoid wasting flash in such a small device, use your linker script to place some of your unmodified code in this last page along with the config. If this is a another bootloader flavour, place some (or all) of the bootloader with the config. Although not necessary in such a small memory, declare these routines as __FAR__ to ensure any use forces direct jumps not relative. T Yorky |
|
|
|
NB:我们讨论的是DSSP3EV,它与DSPIC33 EP也有一定的差异。
以上来自于百度翻译 以下为原文 NB : we are talking about dsPIC33EV which also has some differences with dsPIC33EP |
|
|
|
RISC,我从重用开始,学到了一些困难的东西。正如我所说的,代码的功能与这个主题无关。代码的内容——编译/组装和链接——甚至不会在调试器中执行。事实上,我从DSPIC33的Bootloader示例中把它缩小到Erasee()中的特定行,并开始隔离“原因”。BSET-NVMCON,Y.WR语句是“明显的原因”——因为同一个汇编文件中的同一行在写文件中,所以明显是一个红色鲱鱼。在这一点上,我不再依赖数据表,而是转到参考手册。我从头开始改写,使用了新问题,新线程。我将标记这个问题[解决了吗?因为这个解决方案提出了很多问题。
以上来自于百度翻译 以下为原文 RISC, I started with reuse and learned a couple things the hard way. As I said, though, the functionality of the code is irrelevant to this topic. the fact that the content of the code - which compiled/assembled and linked - would not even start to execute in the debugger. I narrowed it down to a specific line in Erase() from the antique dsPIC33F bootloader example and began isolating what in that was 'the cause". The BSET NVMCON,#WR statement was "the apparent cause" - abviously a red Herring since the same line is in WriteMem() in the same assembly file. At that point I stopped relying on just the data sheet and went to the reference manuals. I rewrote from scratch using __builtin_xxx(). New problem, new thread. I will mark this "[solved?]" since the solution raises as many questions as it answers. |
|
|
|
我知道我不能抹掉第一页(希望我不是偶然的)。这不是一个引导加载程序,而是一个模拟EEPROM,因为其中没有一个板空间或BOM余量。即使在64K,我也有能力失去AA00—AB74。事实上,我浪费了一个800字节的A9FF来存储22个字节,这样我就不会在1536字节的缓冲区中浪费宝贵的RAM。我完全期望修改代码,但并没有期望燃烧12小时的理解(如果我们称之为),为什么我甚至不能启动调试器。行写给出URR,Wrrr,而双锁存写入似乎成功,但不改变内存(至少我打算在那里)。
以上来自于百度翻译 以下为原文 T Yorky - I intuited that I couldn't erase the top page (and hope I am not accidentally). This is not a bootloader, but just a simulated EEPROM since there is not board space or BOM margin for one. Even in 64K I can afford to lose aa00- ab74. As it is, I am wasting a800 - a9ff to store 22 bytes so that I don't waste precious RAM on a 1536 byte buffer. I fully expected to have to modify the code, but did not expect to burn 12 hours understanding (if we call it that) why I could not even launch the debugger. New problem (new thread) is that row writes give Uerr, Wrerr while double latch writes appear to succeed but do not alter memory (where i intend at least). |
|
|
|
DU,我几年前读过,但没有保留那些与我当时做的不相关的部分(ECAN/DMA)。
以上来自于百度翻译 以下为原文 du, I read it a couple years ago, but did not retain parts that were not relevant to what I was doing then (ECAN/DMA). |
|
|
|
嗨,目前我使用的是EZBL引导加载器,当PIC24或DSPIC被支持。但是,据我所知,DSPIC33 EV系列是不支持的。DSPIC33 FJ、EP和EV的闪存组织和我注意到Flash用于Flash编程似乎覆盖PIC24和DSPIC33 FJ/EP,但不覆盖DSPIC3EV。DSPIC33 EV是一种“特殊”的家庭(5V操作),它与DSPIC33 EP有一些不同。我记得在线程中看到一些用户没有注意到闪存高潮是不同的(字节/行数),因此它们的引导负载有问题。ER操作…每个PIC/DSPIC的编程规范文档是实现引导程序功能的最好文档。
以上来自于百度翻译 以下为原文 Hi, Currently I use EZBL bootloader when the PIC24 or dsPIC is supported. But the dsPIC33EV family is not supported as far as I remember. The Flash memory organization of dsPIC33FJ, EP and EV and I noticed that the FRM for Flash Programming seems to cover PIC24 and dsPIC33FJ/EP but not dsPIC33EV which has different row size...dsPIC33EV is a kind of "special" family (5V operation) and it has some differences with dsPIC33EP. I remember having seen in threads that some users did not notice that the flash orgalization was different (number of bytes / ROW) and therefore had issues with their bootloader operation... The Programming Specification document for each PIC/dsPIC is the best document to look at for implementing the bootloader functions Regards |
|
|
|
只有小组成员才能发言,加入小组>>
5006 浏览 9 评论
1923 浏览 8 评论
1853 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3067 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2143 浏览 5 评论
574浏览 1评论
431浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
475浏览 0评论
367浏览 0评论
IPECMD命令烧录AVR128DA48芯片,报找不到芯片错误
852浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-16 21:04 , Processed in 1.680048 second(s), Total 110, Slave 95 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号