完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好朋友,
我是微控制器编程世界的新手。我陷入僵局,甚至无法移动。 I2C.SR3中的BUSY位设置它没有被释放,根据数据表它只能设置硬件,它也列在勘误列表中,以便在将来的版本中解决。我试过拔掉&再次插上电路板它在一两个实例中工作,我厌倦了一次又一次地做这个没有成功 - 这完全是不确定的。请帮我解决 问候, Raghavendra #I2C忙位集 以上来自于谷歌翻译 以下为原文 Hello Friends, I am a newbie to the world of microcontroller programming. I am stuck with a deadlock and am not able to move even a bit. The BUSY bit in I2C.SR3 is set it is not getting freed, according to datasheet it can be set only Hardware, it is also listed in errata list to be solved in future versions. I tried unplugging & plugging the board again it worked in one or two instances, I am tired of doing this again and again with no success - it is completely undeterministic. Please help my way out Regards, Raghavendra #i2c-busy-bit-set |
|
相关推荐
6个回答
|
|
我们也面临同样的问题。我们使用的是STM32F103R8控制器。
我们尝试执行超时,然后重置I2C总线,但这无助于恢复。我们首先想到的是奴隶没有回应,但我们花了很多时间才发现控制器是罪魁祸首。在发送总线上的从机地址后,我们看到I2C在while循环中等待来自从机(EV6)的ack。 如果你发现这个I2C在EV6循环问题中陷入困境,你能告诉我们吗? 以上来自于谷歌翻译 以下为原文 We too are facing the same problem as you do. We are using STM32F103R8 controller. We tried to do timeouts and then reset the I2C bus, but that does not help it recover. We first thought it was the slave not responding but it took us a lot of time to find that the controller is the culprit. We see that the I2C is stuck up in the while loop waiting for the ack from the slave (EV6) after sending the slave address on the bus. Could you please tell us if you have found a soultion to this I2C stuck up in EV6 loop issue. |
|
|
|
你好,
同样的hiere。我正在使用带有I2C的stm8s003,有时I2C状态机会被卡住。 Osci告诉我同样的事情:发送地址但随后停靠。将总线速度从100 kHz降低到50 Hz有助于降低所有其他中断的中断优先级,从而有所帮助。看起来像是时间问题。 然而,有时控制器会挂起。到目前为止,我没有找到解决方案。 以上来自于谷歌翻译 以下为原文 Hello, same hiere. I am using a stm8s003 with I2C sometimes the I2C statemachine get stuck. The Osci tells my the same: Address sent but then bus stops. Reducing the bus speed from 100 kHz to 50 Hz helps a bit and reducing the interrupt priority of all other interrupts helps a bit. Looks like a timing issue though. Nevertheless, sometimes the controller hangs. So far I did not find a solution. |
|
|
|
嗨托比亚斯,
你能解决BUSY_Flag问题吗?我也有同样的问题。 以上来自于谷歌翻译 以下为原文 Hi Tobias, were you be able to solve the BUSY_Flag issue? I have the same problem. |
|
|
|
大家好,这里也一样。这些STM uC和工具是多么废话。我与德州仪器,Microchip,瑞萨一起使用。我在嵌入式世界中拥有10年以上的编程和硬件设计经验。我试图给STM一个机会并用它为RC车制造一个陀螺稳定器,因为它很便宜,而且我有几个套件放置在周围。过去3天尝试过STM8S103和STM8S105。在某些时候,I2C可以工作,但大部分时间都没有。 105上没有通过忙碌标志。 ST Visual Develop不断崩溃。文档很糟糕。支持是垃圾。我放弃了这个。这是浪费我的时间。我将使用5倍昂贵的uC,但至少我不想让我的电脑挫败沮丧。远离STM。
以上来自于谷歌翻译 以下为原文 Hi guys, same thing here. What a piece of crap these STM uC and tools are. I am used with Texas Instruments, Microchip, Renesas. I have 10 years + experience in embedded world both programming and HW design. I tried to give a chance to STM and use it to build a gyro stabilizer for an RC car because it was cheap and i had a few kits laying arround. Tried both STM8S103 and STM8S105 the past 3 days. On 103 somethimes the I2C works but most of the time it does not. On 105 does not pass the busy flag. The ST Visual Develop keeps crashing. The documentation is crap. The support is crap. I am giving up on this. It is a waste of my time. I am going to use a 5 times more expensive uC but at least I am not going to want to smash my computer out of frustrations. Stay away from STM. |
|
|
|
请确保遵循数据表,特别是EV5 / EV6。 SPL不正确,不符合数据表。然而,数据表是正确的,至少在标准速率下。
如果你愿意,我可以发一段演示代码。 以上来自于谷歌翻译 以下为原文 make sure you follow the datasheet, particularly about EV5/EV6. The SPL is incorrect not in compliance with the datasheet on that. The datasheet however is correct, at least at the standard rate. I can post a piece of demo code on that if you want. |
|
|
|
当从SEEED多通道气体传感器读取时,我发现间歇性I2C CLK被卡在低电平。我很确定STM8S将时钟线驱动为低电平,因为我已经拔掉了从端,但仍然很低。我虽然试图找到一个固件解决方案来清除这个错误并释放CLK线,但唯一可靠的方法是重置STM8,这不是一个理想的解决方案。我更愿意找出为什么这样做......任何想法,任何人?
以上来自于谷歌翻译 以下为原文 I am getting an intermittent I2C CLK being stuck low when reading from a SEEED multi-channel gas sensor. I'm pretty sure it is the STM8S driving the clock line low, as I have unplugged the slave end and it's still low. I though about trying to find a firmware solution to clear this error and release the CLK line, but the only certain way is to reset the STM8, which is not an ideal solution. I'd prefer to find out why it is doing this... any ideas, anyone? |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2655 浏览 1 评论
3216 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1790 浏览 1 评论
3619 浏览 6 评论
5997 浏览 21 评论
946浏览 4评论
1319浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
591浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1309浏览 3评论
1369浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 22:20 , Processed in 1.391029 second(s), Total 85, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号