找回密码
 立即注册
楼主: 神农鼎

最新AiCube@STC-ISP工具支持STC89C52RC系列的智能外设配置及程序框架自动生成

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2025-06-14 13:13:10

1

主题

14

回帖

95

积分

注册会员

积分
95
发表于 3 天前 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:432
  • 最近打卡:2025-06-13 08:19:10

28

主题

336

回帖

2886

积分

荣誉版主

积分
2886
发表于 前天 17:31 | 显示全部楼层
昨天忘了写,记录一下AiCube生成的带I2C_DMA的框架,上电会卡死的原因。
AiCube用的最新版V1.00O
生成的I2C初始化函数里只使用了启用I2C_DMA的命令

        DMA_I2C_EnableDMA();                //使能I2C DMA
而后面没有禁用
1.AiCube生成只有启动DMA.jpg


注释掉这一行,或者在函数后面手动添加一个禁用I2C_DMA的命令
        DMA_I2C_DisableDMA();
之后就正常了。
2.手动添加禁用DMA.jpg


因为看到在发送函数里,比如试验箱例程里的 WriteNbyte 和 ReadNbyte 函数里,启用和禁用I2C_DMA的命令也是成对出现的。

3.官方例程启用禁用.jpg

而很奇怪的是试验箱例程里的DMA初始化函数里
也是只有启动DMA而没有禁用的
只要不是放在AiCube的框架里就不会卡死






能体会到发现一个不理解的现象然后找原因然后要么解决掉问题要么被问题解决掉的那种快乐是我的幸运
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-15 12:18 , Processed in 0.164321 second(s), 55 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表