你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 5728|回复: 4

stm8l152的I2C+DMA或I2C+中断问题

[复制链接]

1

主题

0

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2013-12-27 16:17:30 | 显示全部楼层 |阅读模式
 以前用的stm8s103,I2C用的轮询方式做,基本没什么问题。之后换stm8l152,因为需要做低功耗的,就准备改用I2C+DMA,CPU用wfi等待。主发送时,在DMA发送完成后,DMA中断正确产生,然后应该等待最后一个字节的BTF,可是一直等不到。。。。然后又改用I2C+中断,每次发的是两个字节,这次又出现发送完第一个字节后没有I2C_EVENT_SLAVE_BYTE_TRANSMITTING产生的情况。。。最后只有继续用轮询做了,但是有时初始化的时候又会出现BUSY置位的情况,重新插下和外设的连线又不会出现了。。
不知道有木有大神能解决下I2C的问题,谢谢~~
<
回复

使用道具 举报

2

主题

295

回帖

0

蝴蝶豆

初级会员

最后登录
2018-4-6
发表于 2013-12-30 09:22:32 | 显示全部楼层

RE:stm8l152的I2C+DMA或I2C+中断问题

用示波器或逻辑分析仪分析下波形,看看波形与实际哪步不符了
回复 支持 反对

使用道具 举报

2

主题

60

回帖

0

蝴蝶豆

中级会员

最后登录
1970-1-1
发表于 2013-12-31 13:04:41 | 显示全部楼层

RE:stm8l152的I2C+DMA或I2C+中断问题

单步调试吧,可能的情况有很多
回复 支持 反对

使用道具 举报

4

主题

224

回帖

0

蝴蝶豆

初级会员

最后登录
2020-7-4
发表于 2013-12-31 22:31:42 | 显示全部楼层

RE:stm8l152的I2C+DMA或I2C+中断问题

单步调试不靠谱, 因为对应的clk就与代码实质运行不一样,建议使用串口打印。在一个全局变量里弄个做个函数轨迹。 保存下定时,一段时间后查看内存。 这样比较真实
回复 支持 反对

使用道具 举报

5

主题

303

回帖

0

蝴蝶豆

金牌会员

最后登录
1970-1-1
发表于 2014-1-2 23:12:09 | 显示全部楼层

回复:stm8l152的I2C+DMA或I2C+中断问题

 这个还是得靠逻辑分析仪,查代码时间耗不起
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版