12377706 发表于 2021-3-19 09:16

為什麼LSM6DSOX INT2觸發中斷後一直高電平?

<p>LSM6DSOX在官方提供的開發版和Unico上都能正常,INT2觸發後能馬上變成低電平,但是在自己的板子上寫入配置後,產生中斷變成高電平後感覺INT2的口變成Input。誰能知道為什麼會這樣?排除外部電路的影響,將INT2與外部電路斷開依然是這樣。</p>

<p>使用了FSM+MLC,用Unico將FSM+MLC合併,然後生成.h文件,生成的合併生成的.ucf導入開發板工作是正常的,這樣排除了合併的.ucf有問題。</p>

12377706 发表于 2021-3-19 15:57

<div class='shownolgin' data-isdigest='no'><p>找到問題了,是MLC的問題,在合併FSM+MLC生成的.h文件裡面最後會把嵌入式寄存器0x17的值改成0x80,將其改為0x00即可。<img height="50" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/wanwan33.gif" width="58" /></p>
</div><script>showreplylogin();</script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

12377706 发表于 2021-3-19 09:41

<p>使用了一個簡單的只包含Free Fall在開發板正常,但是換到自己的板子上還是產生中斷後變高後就一直是高。</p>

littleshrimp 发表于 2021-3-19 10:46

12377706 发表于 2021-3-19 09:41
使用了一個簡單的只包含Free Fall在開發板正常,但是換到自己的板子上還是產生中斷後變高後就一直是高。

<p>Free Fall是相同的代码在你的板子和开发板上会有两种结果吗?</p>

littleshrimp 发表于 2021-3-19 10:54

<p>你留意一下,PP_OD设置</p>

<p></p>

12377706 发表于 2021-3-19 11:02

littleshrimp 发表于 2021-3-19 10:46
Free Fall是相同的代码在你的板子和开发板上会有两种结果吗?

<p>不會,結果相同,都是正常的。</p>

littleshrimp 发表于 2021-3-19 11:20

12377706 发表于 2021-3-19 11:02
不會,結果相同,都是正常的。

<p>&ldquo;但是換到自己的板子上還是產生中斷後變高後就一直是高&rdquo;是指?</p>

12377706 发表于 2021-3-19 11:38

<div class='shownolgin' data-isdigest='no'>littleshrimp 发表于 2021-3-19 10:54
你留意一下,PP_OD设置

<p>CTRL3_C=0x44,能在板子上正常觸發電平的配置是0x04,我修改成0x04也不行。</p>
</div><script>showreplylogin();</script>

12377706 发表于 2021-3-19 11:42

<div class='shownolgin' data-isdigest='no'>littleshrimp 发表于 2021-3-19 11:20
&ldquo;但是換到自己的板子上還是產生中斷後變高後就一直是高&rdquo;是指?

<p>用示波器看到的一直高電平。但是據我觀察像是INT2變成了Input IO,因為我用手觸摸線或者輕輕晃動這個線示波器會看到變化。</p>
</div><script>showreplylogin();</script>

littleshrimp 发表于 2021-3-19 12:03

<div class='shownolgin' data-isdigest='no'>12377706 发表于 2021-3-19 11:38
CTRL3_C=0x44,能在板子上正常觸發電平的配置是0x04,我修改成0x04也不行。

<p>0x04和0x04对应的配置的区别是BDU,和PP_OD无关。</p>

<p>整体上你表达的还不是很清楚,以&ldquo;使用了一個簡單的只包含Free Fall在開發板正常,但是換到自己的板子上還是產生中斷後變高後就一直是高。&rdquo;为例,你最后想说的是Free Fall在两个板子上都正常吗?那&ldquo;但是換到自己的板子上還是產生中斷後變高後就一直是高&rdquo;的意思是?</p>
</div><script>showreplylogin();</script>

12377706 发表于 2021-3-19 13:33

<div class='shownolgin' data-isdigest='no'>littleshrimp 发表于 2021-3-19 12:03
0x04和0x04对应的配置的区别是BDU,和PP_OD无关。

整体上你表达的还不是很清楚,以&ldquo;使用了一個 ...

<p>Free Fall,開發板和自己的板子都是正常的,觸發中斷高電平,然後幾個ms後拉低,再觸發再變高,在拉低。</p>

<p>我說的不正常是拉高後就不會拉低了。</p>
</div><script>showreplylogin();</script>

12377706 发表于 2021-3-19 13:39

<div class='shownolgin' data-isdigest='no'><p>我想知道的是為什麼INT2會在觸發中斷電平變高後就回不來了?我把自己用的程序去掉MLC只保留一個Free Fall檢測然後就正常了。難道是加入了MLC才會這樣嗎?稍後我將試驗一下只有一個MLC看看是否是它在作怪。</p>
</div><script>showreplylogin();</script>
页: [1]
查看完整版本: 為什麼LSM6DSOX INT2觸發中斷後一直高電平?