你講的跟我講的不是同一件事, 主要是 read_rev() 本來就是把前一次 ADC 結果返回, 然後啟動下一輪的 ADC 程序, 所以他返回的不是目前的 ADC 值。
是的,在文件当中已经写的很清楚了(会这样实现也是这种Sigma-Delta ADC需要时间来量测),是您同事程式码逻辑不符合这个程式库的设计理念。另外,我主要指出在您同事的程式码中,没有配合量测的“延时”,一下子读了4次,ADC的速度一定跟不上,这跟您在REPL手敲的结果是不一样的。
他原本的想法就是以為 read_rev() 會測量完取值再返回, 所以才會連續讀四次, 如果是使用 read(), 就沒有等待量測時間這個問題了。
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
Hide child comments as well
Confirm
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
你講的跟我講的不是同一件事, 主要是 read_rev() 本來就是把前一次 ADC 結果返回, 然後啟動下一輪的 ADC 程序, 所以他返回的不是目前的 ADC 值。
是的,在文件当中已经写的很清楚了(会这样实现也是这种Sigma-Delta ADC需要时间来量测),是您同事程式码逻辑不符合这个程式库的设计理念。另外,我主要指出在您同事的程式码中,没有配合量测的“延时”,一下子读了4次,ADC的速度一定跟不上,这跟您在REPL手敲的结果是不一样的。
他原本的想法就是以為 read_rev() 會測量完取值再返回, 所以才會連續讀四次, 如果是使用 read(), 就沒有等待量測時間這個問題了。