I faced such a problem when tried to build a project. Can any expert can help me with this?
"Detected un-supported target version
Please download a new version of the silicon laboratories IDE from www.silabs.com
or contact your sales representative for an upgrade."
However, my colleague does not face this problem with the same silabs version.
I have a question about I2C communication.
The picture below is System with PullUp Resistors on I2C Bus.
Can you get 100kHz by measuring the frequency of the SCL with a pull-up resistor as shown below?
If 100kHz is measured, Is there any risk of data corruption if it comes out?
please answer about my question
使用8-bit adapter进行SiliconLabs和板子的连接，但是提示要进行8-bit adapter的更新，或者将SilconLabs更新至最新版，已经进行了这两步，还是不能下载，还使用了以前可以进行正常下载的C8051F330电路板，出现了一样的问题。还使用了keil进行模拟连接和下载，也出现了8-bit adapter需要更新的问题，更新完成后还是不能下载。但是使用C8051F8X系列用JATG窗口可以正常连接和下载程序，想问一下是C2还需要什么设置，还是什么问题。要怎么解决呢？
There's an if-condition in my code that always gets skipped, regardless of the state of the condition (P2.2).
In the screenshot you can see exactly what happened based on the shades of green: a big jump was made, even though 'JB P2.2' should _not_ have jumped because on the P2.2 register, visible in the upper-right corner.
(if the image is too small, rightclick it and choose 'open in new tab' or similar)
I tested this behaviour in both conditions for P2.2, P2.2 is attached to a LED and what I see the LED doing is consistent with what the 'Register' tab shows. So the register viewer seems to be accurate.
Am I doing something wrong?
i purchased the SLBLDC-MTR-RD kit from Farnell and need the software. Can you please send it to me?
I'm currently trying to communicate to an EFM8SB Slave from the ESP32 master. They are connected via SCL, SDA and GND and there are 4K7 Ohm pull-up resistors on SCL and SDA. The ESP32 runs this I2c Scanner example: https://playground.arduino.cc/Main/I2cScanner?action=sourceblock&num=1 and detects IC's like the bq24295 PMIC perfectly fine. The EFM8 runs the SMBus Lib Buffered Slave Multibyte example.
However, when I connect the SCL line from the EFM8 to the ESP just stops scanning. I connected a logic analyzer and there is no data being transmitted and SCL is always LOW. When I remove the SCL line and reset the ESP it continues scanning just fine.
I checked the voltage levels and the I2C clock frequency both run at (10kHz). I'm not familiar with SMBus and I thought it was compatible with I2C.
Any ideas are welcome because I don't have any.
I use 8051f410 mcu. This has 1 uart, but i need other uart pins, because i need to communication other device. So i have to write software uart with timer and interrupt, but i dont know how i can start it. Can anybody help me?
Thank you for your cooperation!
I am working in a new project and would like to know if Simplicity Studio offers any possibility of simulation/emulation of the EFM8BB MCUs. We are interested in setting a SiL testing approach for early project phases or even for maintenace debugging.
I have tried to use Keil uVision 5 but it is very difficult to keep the projects in sync, import/export. I also noticed that there is a uVision tool available to install with Simplicity Studio but I do not know then how to find the activation of that tool/option.
Could someone help me?
i want to C8051F320_1 to be a low speed USB device, i defined _USB_LOW_SPEED_ and set USB0XCN = 0xC0 accroding the example code, but there is always a warning: *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
The program do not work correctly by the way.
This showed up in the Sleepy Bee 2 evaluation board samples that use the LCD.
Specifically, in the lib/efm8sb2/efm8_memory_lcd/src folder, both TIMER3_ISR in tick.c and TIMER2_ISR in spi.c assume SFRPAGE is zero. It is less of a problem in spi.c as the interrupt is probably in the context of a display call.
However, timer 3 runs continually... TIMER3_ISR will access the incorrect register if the interrupt is taken when SFRPAGE is set to 0x0F. It will in fact access the CRC0DAT register instead of TMR3CN0 and if you are in process of calculating a CRC, that will trash the CRC result since CRC0DAT is RW.
This showed up calculating a CRC over a (non-page sized) memory region. The longer the CRC, the more likely I got an incorrect CRC error... it had to be an interrupt as the errors occurred randomly. Disabling interrupts around the CRC code fixed the problem. So did saving/setting/restoring SFRPAGE in TIMER3_ISR after copying tick.c into the local project.
This is definitely a problem with TIMER3_ISR. The jury is out as to whether it's a problem with TIMER2_ISR, but I'd reckon it should be fixed anyway.
Whenever my chip enters sleep mode, the debugger disconnects after a few seconds. My understanding of the intended behaviour is that the debugger toggles the debug pin, that wakes the chip up from sleep, and then the debugger connects, whatever that may mean.
So I wrote some code to waste CPU time, but a for loop isn't allowing the program to continue. This very reliably always happens at the < 250 for-loop. When pressing the 'step over' key in SS the first for-loops go great and then it just gets stuck. When I press 'pause' the time wasting variable never seems to get near 250. Is somehow the variable not an uint16_t?
First of all thanks to everyone on this forum for being helpful, my uC programming skills have been much improved the past weeks. I've already written the code for the very first real application that I want to use the SB for and now I'm trying to debug it. But while debugging, sometimes I get this error in a popup:
J-link V6.34f Internal Error: CPU_REG_Set(): Register 0 is already marked as valid.
This also happens with the default EFM8SB2_SleepMode_PortMatchWake code. When I press both buttons on the board alternately a few times I invariably get this error. The board I'm using is the Sleepy Bee 5100 starter kit PCB. I think I'm using the most recent SS because when I click 'Installation Details' and 'update' it says 'no update available'.
This should be very easy to reproduce because it's the dev board with a demo sketch, can someone try to do that?