完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM8L15x I2C:无法写入I2C寄存器
以上来自于谷歌翻译 以下为原文 STM8L15x I2C : Cannot write I2C registers |
|
相关推荐
6个回答
|
|
解决了 !
一个值得关注的是STM8Lx部件 需要在外设时钟寄存器中单独使能外设时钟。 调用I2C_Init()不会这样做。你需要添加 CLK_PeripheralClockConfig(CLK_Peripheral_I2C,ENABLE); 以上来自于谷歌翻译 以下为原文 Solved ! One to watch out for on the STM8Lx parts Need to enable peripheral clock seperately in peripheral clock register. Call to I2C_Init() doesn't do this. You need to add CLK_PeripheralClockConfig(CLK_Peripheral_I2C,ENABLE); |
|
|
|
OPS!
我建议拆分STM8S和STM8L的论坛,因为它们似乎是不同的设备。当然,在像STM8L这样的超低功耗系列中,复位后可以禁用更好的时钟外设。但是在STM8S上,默认情况下,复位后,所有外设时钟都被使能,然后用户可以选择性地禁用不需要的外设时钟(与STM8L相反)。 brazov 以上来自于谷歌翻译 以下为原文 OPS!!! I suggest to split the forum for STM8S and STM8L since they seems different devices. For sure, in an ultra low power family like STM8L it's better clock peripherlas are disabled after reset. But on STM8S, by default after reset, all peripheral clocks are enabled, then user can disable selectively unwanted peripheral clock (opposite to STM8L). brazov |
|
|
|
嗨Patrick,
您是否设法为STM8L发现板编写I2C驱动程序? 我正在尝试从STM8L15x_I2C_master_poll(AN3281)写一个,但是 没有任何东西来自PC0和PC1。你知道发现板有什么特别之处吗? 费利克斯 以上来自于谷歌翻译 以下为原文 Hi Patrick, Did you manage to write a I2C driver for the STM8L discovery board? I'm trying to write one from the STM8L15x_I2C_master_poll (AN3281) but nothing comes out of PC0 and PC1. Do you know if there anything special with the discovery board? Felix |
|
|
|
菲利克斯
此设备上的I2C存在问题。 我最初使用的是固件库I2C代码,但芯片中存在漏洞。 如果您需要我可以发送给您的详细信息,有一种解决方法似乎有效 以上来自于谷歌翻译 以下为原文 Hi Felix There are problems with the I2C on this device. I used the firmware library I2C code initially but there are bugs in the silicon. There is a workaround which seems to work if you need details I can send to you |
|
|
|
嗨Patrick!
你能告诉我解决方法的细节吗?我在STM8L15x上遇到了I2C问题。中断BERR - 错位的启动或停止条件发生。 以上来自于谷歌翻译 以下为原文 Hi Patrick! Could you provide me details of workaround. I am stuck with I2C on STM8L15x. Interrupt BERR - Misplaced Start or Stop condition occured. |
|
|
|
嗨帕特里克,罗曼诺夫,
我终于设法让I2C使用AN3281_STM8L_I2C_examples中的示例。 我使用轮询模式非常简单我必须在I2C init中禁用中断,即: I2C1-> ITR = 0; (在文件i2c_master_poll.c中) 我希望这可以帮助别人。 费利克斯 以上来自于谷歌翻译 以下为原文 Hi Patrick, Romanov, I finally managed to get the I2C working with the examples from the AN3281_STM8L_I2C_examples. I use Polling mode wich is quite simple I had to disable interrupts in the I2C init ie: I2C1->ITR = 0; (in file i2c_master_poll.c) I hope this can help someone. Felix |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2623 浏览 1 评论
3206 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1779 浏览 1 评论
3605 浏览 6 评论
5984 浏览 21 评论
936浏览 4评论
1311浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
579浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1299浏览 3评论
1354浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 07:07 , Processed in 1.123538 second(s), Total 55, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号