问题解决了,确实是复位uPP会影响到I2C的通信,导致I2C的通信产生很大延迟(约1ms),不重新配置Upp而是重新配置DMA就可以解决,不知道是怎么影响的,影响I2C的语句: ; j) ~; }' I B8 i- q% g : a$ g& u ~5 @+ v- D8 S; u6 O1 n//reset uPP, W: T, z7 _2 r& J4 u, c `) t
SETBIT(UPP->UPPCR, UPP_UPPCR_SWRST);/ W/ s' e. a: n) f* o
9 v0 T" [ I- s: J( P! dfor(i = 0; i < 200; i++){}; //wait 200 clock cycles for reset. # V# s* c/ D2 u R7 {CLRBIT(UPP->UPPCR, UPP_UPPCR_SWRST);