中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. "); //-->

        博客專欄

        EEPW首頁 > 博客 > 迅為龍芯2K1000開發(fā)板通過匯編控制GPIO

        迅為龍芯2K1000開發(fā)板通過匯編控制GPIO

        發(fā)布人:紅李亞 時(shí)間:2023-09-26 來源:工程師 發(fā)布文章
        上一小節(jié),我們使用了 語言控制了 gpio,這一小節(jié)我們來看一下如何使用匯編來控制 gpio 呢?有的
        同學(xué)可能會(huì)有疑問了,既然我們可以使用 語言來控制 gpio,為什么我們還要使用更底層的匯編語言呢,
        如果我們要使用 語言,是不是需要等待 語言環(huán)境建立起來才可以使用呢,那他是不是就要比匯編稍微
        的慢一些呢,如果我們想讓他上電立馬就確定 gpio 管腳的電平的狀態(tài),使用匯編會(huì)更好些。
        我們打開 Targets/LS2K/ls2k/start.S 下的 start.S 文件,我們?cè)?nbsp;9.4.2 小節(jié)里面已經(jīng)確定了他的位置,這里
        就不在贅述了。
        然后我們?cè)诘?nbsp;487 行輸入以下代碼,同樣,這里還是用 gpio0 給大家舉例
        /*
        *設(shè)置使用 GPIO 的方向?yàn)檩敵?/span>
        */
        li v0, 0xbfe10500
        ld v1, (v0)
        dli a0, (1<<0)
        //gpio0
        or v1, a0
        xor v1, a0
        sd v1, (v0)
        /*
        *找到 GPIO 輸出數(shù)據(jù)寄存器
        */
        //0x10(v0)這種寫法就是給 v0 地址偏移 0x10,v0 地址是 0xbfe10500,偏移 0x10 就是 0xbfe10510,即
        輸出數(shù)據(jù)寄存器
        ld v1, 0x10(v0)
        /*
        *給數(shù)據(jù)寄存器寫 1 輸出高電平
        */
        or v1, a0
        sd v1, 0x10(v0) //on
        /*
        *延遲
        */
        dli a2,0xffff
        //delay
        1:
        subu a2, 0x1
        nop
        bgtz a2, 1b
        /*
        *給數(shù)據(jù)寄存器寫 0 輸出低電平
        */
        or v1, a0
        xor v1, a0
        //off
        sd v1, 0x10(v0)
        /*
        *延遲
        */
        dli a2,0xffff
        //delay
        2:
        subu a2, 0x1
        nop
        bgtz a2, 2b
        如下圖所示:


        *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



        關(guān)鍵詞: 開發(fā)板

        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉