stm32硬件I2C..初学者,在写HMC5883电子罗盘的驱动,用的硬件I2C,不管怎样硬件I2C总是会卡死,我是改的野火的EEProm里面硬件I2C的代码,调试中经常会卡在各种While循环里。。。要死要死的,昨天百度了
程序很简单,就是先初始化GPIO,然后模式设置,结果程序就卡在while(I2C_GetFlagStatus(I2C1,I2C_FLAG_...
I2C_Cmd(I2C1,ENABLE);} void I2C_Write(u8 WriteAddr,u8 Dat){ while(I2C_GetFlagStatus(I2C1,...
本帖最后由 hyg_shen_hua 于 2015-9-16 13:34 编辑 程序很简单,就是先初始化GPIO,然后模式设置,结果程序就卡在while(I2C_GetFlagStatus(I2C1,I2C_FLAG_BUSY));一直不 ...
急 分享3赞 gd32吧 苦笑清风丶阿白 GD32F20x 程序卡死在while循环上 有没有大佬可以教教我运行代码程序卡死在while(!i2c_flag_get(I2C0, I2C_FLAG_ADDSEND));这串代码上,网上找了很多攻略还是不行,大佬可以教教我吗 分享回复赞 单片机吧 水神纳西妲 编程序时没有while(1) [大循环]的话,主函数也可以...
stm32 在用mpu6050时 iic 复用pb8 pb9卡在 while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));如果不复用结果没问题代码 GPIO_InitTypeDef GPIO_InitStructure/* 使能与 I2C1 有关的时钟 */ RCC_APB2PeriphClockCmd (RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOB,ENABLE )...
I2C读写EEPROM写数据子程序调用时卡住了 (addr);//写低位地址 while (!I2C_xrdy()); I2C_writeByte(data);//写数据 I2C_sendStop();delay(5000);]我用I2C读写EEPROM,写了个写数据子程序,调用时发现卡住了,位置见上面。请问高手,哪里有问题?谢谢! lksas 2019-01-30 07:46:32 ...
1. 芯片手册里没有关于所谓"while(1)“的描述,这个while(1)是什么意思? 2. 读操作时序在21页,写操作时序在22页,可以对照一下,看看你的程序是否正确。同时可以用示波器抓一下实际信号,看看读写时序是否和手册一致。 3. 还有一种办法可以debug,先把寄存器值写进去,再回读出来,这个过程不...
在STM32等微控制器的I2C配置中,CR1.SWRST是一个软件复位位。当CR1.SWRST被设置为1时,I2C模块将被重置为其默认状态。这意味着所有配置寄存器的值都将被清除,I2C通信将被停止,所有挂起的操作都将被取消。 在CR1.SWRST=1时访问I2C模块的可能方法 在CR1.SWRST=1时,直接访问I2C模块进行数据传输或配置是不安全的...
while (1){ TXByteCtr = 1; // Load TX byte counter while (UCB0CTL1 & UCTXSTP); // Ensure stop condition got sent UCB0CTL1 |= UCTR + UCTXSTT; // I2C TX, start condition __bis_SR_register(CPUOFF + GIE); // Enter LPM0 w/ interrupts // Remain in LPM0 until all data /...