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).
yct方便发一下吗,我测一下
WR project.yct
WR 请问这个问题有结论吗?我这几天测试发现,我用单边捕捉的模式,中断时拉gpio,测试的时间宽度和输入比差别比较大,输入是36us,测试宽度在39-43之间,但前面我用pwm捕捉计算占空比又是对的,这说明是中断调用的问题,只要我能读到具体数据,就可规避。 我测试了各种模式,只要是单边捕捉,都没有数据,请帮忙看一下,后面很多东西都进行不下去。
你们为啥要用单边沿捕获,为啥不用双边沿捕获啊
WR 我要用这个软件解析sent协议,sent协议是以下降沿为基础的通信标准协议。
说到双边捕获,你们的双边捕获是怎么实现的?我调试时,每次中断都可以读到各个沿以及周期的宽度,这三个数据都是实时的吗?比如上次下降沿中断得到的周期a,下降宽度b,上升宽度c, a= b+c,这些是可以看到的。上升沿中断后,这时候经历一个新的下降宽度e,那读到的结果是周期是a-b+e,下降宽度e,上升宽度c。之后依次更新,可以做到这个吗?
你说的这种情况只能用双边沿模式,按照你说的方式我们输入捕获采集的周期肯定与你们想要的周期不一样,你们需要的是上一次周期的正负脉宽和这次周期的正负脉宽来做计算,我们的驱动只能提供采集正负脉宽的宽度
yuanjian 你们要是想要解析sent协议的话,md14是有sent功能的
WR 我才用双边可以,前提是中断时数据更新是按照上面我说的方式,否则即便读到也没有意义。我可以先测试一下看看效果。
yuanjian 输入捕获他是正常的一个周期同时更新所有值,不是你说的一个一个的更新的,所以你需要去定义变量去存上一次周期的值,然后自己去换算你要的周期
WR 根据我的测试结果,是我说的那种模式,每次中断来时,会更新数据。这样的话就带来一个问题,如果我动态调整pwm的duty,你们是收到了立刻调整,还是下个周期再调整?
每次寄存器保存的值都是上个周期的值,本次的周期的值才刚开始采
WR 那你这个周期是以上升沿来计算还是以下降沿来计算。根据我测试的结果,我输入了一个不定周期的pwm,以下降沿计时的,双边捕获,我隔一次中断取一次周期,结果是对的。
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...