嵌入式开发者社区

标题: uPP与I2c的问题 [打印本页]

作者: wwfdzh2012    时间: 2017-4-24 17:41
标题: uPP与I2c的问题
本帖最后由 wwfdzh2012 于 2017-4-29 15:31 编辑   m+ x$ z+ v! c% A( w

3 i( T8 t0 N* U( Z( m6 }  [( J/ w% E在使用过程中出现只要uPP在工作,i2c的通信就会出现不稳定现象,通信不可靠,请问uPP跟I2c的硬件资源是否有共用的地方?" P) }) v* L- R" m6 p4 X9 R

作者: wwfdzh2012    时间: 2017-4-25 09:23
没人吗?????
作者: IRONMAN    时间: 2017-4-25 11:32
是不是时钟有冲突
作者: wwfdzh2012    时间: 2017-4-25 11:34
IRONMAN 发表于 2017-4-25 11:32- `6 d' j/ q+ u5 S4 @: G
是不是时钟有冲突

7 [/ Z/ t5 {9 s  b& ]9 O请问怎么排除?
作者: wwfdzh2012    时间: 2017-4-25 11:38
IRONMAN 发表于 2017-4-25 11:32
, q2 v1 P% H- N! m1 y9 Q. ~7 w3 A. B是不是时钟有冲突
5 u9 W2 Y. }0 K
I2C和Upp的时钟会冲突吗,不明白您说的意思?
作者: IRONMAN    时间: 2017-4-25 12:14
wwfdzh2012 发表于 2017-4-25 11:38
: p5 c* {' |7 a* l6 `2 SI2C和Upp的时钟会冲突吗,不明白您说的意思?

, Z( F+ x9 j7 t1 E0 c你看他们的时钟有没有关联,可能是两个一起用的时候没有注意时钟频率一致
作者: wwfdzh2012    时间: 2017-4-25 13:35
IRONMAN 发表于 2017-4-25 12:14
3 u+ ~  T: M+ E$ |+ y: h  r  R你看他们的时钟有没有关联,可能是两个一起用的时候没有注意时钟频率一致 ...

1 R9 d4 j; [: r我看了datasheet,两者的时钟并没有关联呀,麻烦您再帮忙排错一下0 Z  [# C, i( Q, j3 x

作者: human    时间: 2017-4-25 14:37
裸机情况下建议I2C使用查询方式,中断的话可能会跟upp冲突的。
作者: wwfdzh2012    时间: 2017-4-25 14:43
human 发表于 2017-4-25 14:37
% {9 w! a& H; e裸机情况下建议I2C使用查询方式,中断的话可能会跟upp冲突的。

4 v  F# _9 ~/ g/ N$ AuPP与i2c都是用轮询的
作者: wwfdzh2012    时间: 2017-4-29 15:31
问题解决了,确实是复位uPP会影响到I2C的通信,导致I2C的通信产生很大延迟(约1ms),不重新配置Upp而是重新配置DMA就可以解决,不知道是怎么影响的,影响I2C的语句:
6 t; {2 Q4 j1 b+ R5 `
& ?& {; O* P$ r# O. ~% n1 D//reset uPP
. B4 D: U. C3 rSETBIT(UPP->UPPCR, UPP_UPPCR_SWRST);
3 t5 r. g$ K) G7 E
5 c1 K1 B2 e7 Gfor(i = 0; i < 200; i++){}; //wait 200 clock cycles for reset.. ^! r9 V4 C! z$ G% s: z
CLRBIT(UPP->UPPCR, UPP_UPPCR_SWRST);




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4