新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > stm32對1.8V外圍器件的識別率(不加電平轉換)

        stm32對1.8V外圍器件的識別率(不加電平轉換)

        作者: 時間:2016-11-28 來源:網絡 收藏
        stm32要驅動一個1.8v的器件,SPI口是雙向口,其他口都是單向的。
        其他的單向口用的是“開漏+上拉”,就這一個雙向口,嫌麻煩,之前不想上電平轉換芯片,但是又不知道影響大不大,就做了個實驗。

        想測試一下stm32能把大概多高電壓識別為高。
        方案很簡單,就是檢測到高電平,就點亮led
        while(1)
        {
        if(PBin(10)==1)PCout(13)=1;
        elsePCout(13)=0;
        }
        PC13的接口接的是一個led,模式推挽。
        PB10的接口接的是一個滑動變阻器,模式下拉。
        我轉動滑動變阻器的時候發現,
        0.9v以下,led不亮,
        0.9~1.3v,led逐漸變亮,
        1.3v以上,基本上亮度就不變了,很亮。
        把PB10改成浮空狀態也差不多,區別就是PB10在不接的時候,下拉不亮,浮空是亮的。

        為了更直觀的驗證,PB10接到1.8v上,
        寫了一個小程序測試了一下:
        while(1)
        {
        if(PBin(10)==1) {i++;j++;}
        else {i++;}
        delay_ms(1);
        UART1_Put_String("測試總次數:");
        UART1_Putw_Dec(i);
        UART1_Put_String("檢測為高次數:");
        UART1_Putw_Dec(j);
        UART1_Put_String("");
        }
        結果大概是這樣的
        測試總次數:132835檢測為高次數:131906
        測試總次數:132836檢測為高次數:131907……
        測試總次數:611184檢測為高次數:606143
        測試總次數:611185檢測為高次數:606144……
        大約有0.5%~1%的情況檢測不出來。

        作為對比,我把PB10接到3.3v
        測試總次數:147005檢測為高次數:147005
        測試總次數:147006檢測為高次數:147006……
        完全沒有失誤率

        看來穩妥的設計還得上電平轉換芯片,還要搭外圍模塊,感覺還占地兒的。可能以后把0805的封裝都改成0603的會好些。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 邹城市| 井研县| 龙海市| 灵丘县| 镇远县| 桐庐县| 广平县| 柳州市| 西贡区| 襄城县| 都江堰市| 萨嘎县| 芦山县| 张家界市| 衡东县| 平度市| 林甸县| 明溪县| 洛宁县| 铜山县| 通辽市| 葵青区| 娱乐| 洞口县| 杭锦旗| 遂平县| 湟中县| 英德市| 和政县| 阜南县| 育儿| 福州市| 安乡县| 军事| 临江市| 胶南市| 曲阜市| 治县。| 新化县| 盐源县| 监利县|