Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
也没发现其它问题了呀,STS[EOSEQ]一直没置位 1)board初始化 2)Start之后,STS[EOSEQ]未置位1 3)中断处理函数一直无法进入 4)adc配置参数 5)时钟配置 6)三个寄存器的值一直保持如下图
是这样的,因为你当前的ADC时钟是 FXOSC/4,ADC 转换时间较慢,会导致执行完98行代码后,ADC 还没转换完成,接着重新执行 ADC Start。 在 YTM32B1LE0 中,ADC 有个 errata,当前的 workaround 是在 ADC start 中复位并重新初始化 ADC,可能会对当前ADC 转化产生问题。 可以在 98 行加一行代码,确认 ADC 转换完成后,再执行 ADC Start
Diga 貌似不是这个问题,我rtos里taskA中在start后面加了个1s延时,也无法进入中断。ADC_DRV_GetConvCompleteFlag(0u); 返回的也一直是false。
lrx9695
先别加 RTOS,看看有没有解决进不了中断的问题,你最开始的代码
Diga ok! 刚刚加了判断,等转换完成之后再start,首次start之后转换一直是未完成的。 。 中断无法进入:
会不会是你的ADC功能时钟有问题,例如晶振没使能,或者没装载上去。可以把 ADC 的时钟源选择 FIRC 再试试
Diga 试了还是不行。我使用demo是可以的。只是demo里没有rtos等工程里其它模块。 所以硬件上没问题,看了ADC相关的配置都和demo一样的。无非demo里是ADC0所有channel,我这只读两个channel
方便远程调试嘛,我看下配置跟寄存器
Diga 可以,我给你个腾讯会议 李睿骁 邀请您参加腾讯会议 会议主题:李睿骁的快速会议 会议时间:2024/08/22 16:10-17:10 (GMT+08:00) 中国标准时间 - 北京
点击链接直接加入会议: https://meeting.tencent.com/dm/AlhXEqGFV3Yq
#腾讯会议:645-616-435
复制该信息,打开手机腾讯会议即可参与
总结:IIC 初始化的时候进入了 RTOS 相关内容,关闭了全局中断,导致无法进入中断
Diga 感谢大哥指点 学到了
Diga ADC初始化放在IIC初始化后面就可以了.
帮助没办法联网的电脑使用YCT
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...