AiCube用的最新版V1.00O
生成的I2C初始化函数里只使用了启用I2C_DMA的命令
DMA_I2C_EnableDMA(); //使能I2C DMA
而后面没有禁用
注释掉这一行,或者在函数后面手动添加一个禁用I2C_DMA的命令
DMA_I2C_DisableDMA();
之后就正常了。
因为看到在发送函数里,比如试验箱例程里的 WriteNbyte 和 ReadNbyte 函数里,启用和禁用I2C_DMA的命令也是成对出现的。
而很奇怪的是试验箱例程里的DMA初始化函数里
也是只有启动DMA而没有禁用的
只要不是放在AiCube的框架里就不会卡死
大明狐 发表于 2025-6-13 15:31
昨天忘了写,记录一下AiCube生成的带I2C_DMA的框架,上电会卡死的原因。
AiCube用的最新版V1.00O
生成的I2C ...
这里是什么原因,感觉AI8051U的I2C_DMA很迷惑,会卡死,发送一个字节立马卡死,不好操作
页:
1
[2]