国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 2427|回復(fù): 0
打印 上一主題 下一主題

【開(kāi)發(fā)教程10】ARM功能手機(jī)-SPI教程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-6-22 18:58:05 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
SPI教程
——瘋殼·開(kāi)發(fā)板系列


  
    圖1


    第一節(jié)SPI Flash硬件電路

    SPI_Flash可用于存儲(chǔ)程序以及一些數(shù)據(jù),如果需要存儲(chǔ)程序則必須連接在規(guī)定的引腳,開(kāi)發(fā)板上選用的MCU引腳分別為:P00,P03,P05,P06,如下圖所示:

   
    圖2



    第二節(jié) SPI+寄存器

    2.1 SPI+介紹

    這個(gè)接口支持SPI總線的一個(gè)子集。這個(gè)串行接口在主/從模式可以發(fā)送和接收8、16或32位,并且在主模式可以發(fā)送9位。SPI+接口有雙向的2×16位字的FIFO,功能得到了增強(qiáng)。
    該接口可以工作在主或從模式;有8、9、16、32位的操作方式;SPI控制器的時(shí)鐘達(dá)到16MHz,SPI時(shí)鐘源可以通過(guò)編程進(jìn)行1、2、4、8分頻;SPI的時(shí)鐘線達(dá)到8MHz;支持SPI的0、1、2、3四種工作模式;SPI_DO的空閑電平可以通過(guò)編程設(shè)置;可屏蔽的中斷發(fā)生器;單向讀和寫(xiě)模式降低總線負(fù)載。

    2.2 寄存器介紹
    2.2.1 SPI控制寄存器0



    圖3
    15位:SPI_EN引腳是否有效,’0’表示無(wú)效,’1’表示有效;
    14位:SPI中斷使能位,’0’表示無(wú)效,’1’表示有效;
    13位:’0’表示接收寄存器或FIFO為空,’1’表示SPI中斷,數(shù)據(jù)已經(jīng)被發(fā)送或接收,該位必須通過(guò)軟件寫(xiě)SPI_CLR_INT_REG清零;
    12位:返回SPI_DI引腳的狀態(tài)值;
    11位:‘0’表示發(fā)送FIFO滿,‘1’表示發(fā)送FIFO空;
    10位:‘0’正常模式,‘1’使SPIDO的值等于SPI_DO的值;
    9位:‘0’正常操作,‘1’復(fù)位SPI;
    8:7位:SPI數(shù)據(jù)格式;
    6位:SPI工作模式,‘0’為主設(shè)備,‘1’為從設(shè)備;
    5位:當(dāng)SPI處于空閑模式或者當(dāng)SPI_FORCE_DO=1時(shí)引腳SPI_DO的值;
    4:3位:SPI在主模式下的時(shí)鐘頻率選擇;
    2位:SPI時(shí)鐘初始電平的高低,‘0’為低,‘1’為高;
    1位:SPI時(shí)鐘的相位選擇,具體看SPI的時(shí)序圖;(SPI的資料)
    0位:SPI的開(kāi)關(guān)。

    2.2.2 SPI接收/發(fā)送寄存器0

   
    圖4
    15:0位:SPI發(fā)送或接收的數(shù)據(jù),寫(xiě)操作是,存儲(chǔ)發(fā)送的數(shù)據(jù),讀操作時(shí),為接收到的數(shù)據(jù)。

    2.2.3 SPI接收/發(fā)送寄存器1

   
    圖5
    15:0位:SPI發(fā)送或接收的數(shù)據(jù),寫(xiě)操作是,存儲(chǔ)發(fā)送的數(shù)據(jù),讀操作時(shí),為接收到的數(shù)據(jù);為32位模式的高16位數(shù)據(jù)。

    2.2.4 SPI清除中斷寄存器

   
    圖6
    15:0位:寫(xiě)任意值到該寄存器清除SPI的中斷標(biāo)志。

    2.2.5 SPI控制寄存器1


   
    圖7
    15:5位:保留不使用;
    4位:決定在9位模式下的第一位的值;
    3位:SPI忙標(biāo)志位,‘0’表示SPI空閑,‘1’表示SPI忙;
    2位:SPI優(yōu)先級(jí)選擇位,‘0’低優(yōu)先級(jí),‘1’高優(yōu)先級(jí);
    1:0位:SPI_FIFO模式。

    2.3 寄存器配置講解
    #define CLK_PER_REG                (* ( volatile uint16*)0x50000004)
    #define SPI_CTRL_REG                (* ( volatile uint16*)0x50001200)
    #define SPI_RX_TX_REG0              (* ( volatile uint16*)0x50001202)
    #define SPI_RX_TX_REG1              (* ( volatile uint16*)0x50001204)
    #define SPI_CLEAR_INT_REG           (* ( volatile uint16*)0x50001206)
    #define SPI_CTRL_REG1               (* ( volatile uint16*)0x50001208)
    啟動(dòng)SPI模塊的時(shí)鐘:CLK_PER_REG |= 0x0800;
    SPI的初始化配置寄存器:
    先關(guān)閉SPI, SPI_CTRL_REG =0x8000;
    SPI配置為8位模式,主模式,時(shí)鐘空閑為低電平,相位模式0,關(guān)閉SPI中斷,時(shí)鐘8分頻(0x1000000000000000),則SPI_CTRL_REG =0x8000;
    開(kāi)SPI, SPI_CTRL_REG | =0x0001;
    發(fā)送一個(gè)字節(jié)0x55,將數(shù)據(jù)填充進(jìn)發(fā)送寄存器SPI_RX_TX_REG0 = 0x55;等待發(fā)送寄存器為空while(SPI_CTRL_REG&0x2000);
    接收一個(gè)字節(jié),讀取接收寄存器rx_data = SPI_RX_TX_REG;



    第三節(jié) SPI實(shí)驗(yàn)

    實(shí)驗(yàn)需要使用的模塊有:手機(jī)開(kāi)發(fā)板底板,Jlink調(diào)試工具,USB轉(zhuǎn)串模塊、杜邦線、3.7V鋰電池或Mocro USB線。
    使用USB轉(zhuǎn)串模塊連接手機(jī)藍(lán)牙串口,連接方式如下:
        (1)USB轉(zhuǎn)串模塊一端只需要使用杜邦線連接RXD、TXD、GND三個(gè)引腳,如下圖所示:

   
    圖8
    (2)手機(jī)主控底板一端需要使用杜邦線連接左側(cè)J7三個(gè)引腳,與USB轉(zhuǎn)串模塊的引腳一一對(duì)應(yīng)(串口引腳交叉),分別為RXD-->TXD、TXD-->RXD、GND-->GND,如下圖所示:


    圖9
    使用JLINK通過(guò)杜邦線連接手機(jī)藍(lán)牙,連接方式如下:
    (1)JLINK一端只需要使用杜邦線連接JLINK的SWC、SWD、GND三個(gè)引腳,如下圖所示:

   
    圖10
    (2)手機(jī)藍(lán)牙一端需要使用杜邦線連接上方右側(cè)的J3三個(gè)引腳,與JLINK的連接引腳一一對(duì)應(yīng),分別為SWC-->SWCLK、SWD-->SWDIO、GND-->GND,如下圖所示:

   
    圖11
    將JLINK插上電腦的USB接口,連接好之后給手機(jī)主控底板供電,詳細(xì)的介紹可以參考《如何上電》教程,路徑為:..\WT_Mobile\0.從這里開(kāi)始\0.開(kāi)機(jī)測(cè)試。
    SPI實(shí)驗(yàn)的Keil工程為spi_flash.uvproj,位于目錄:
    ..\WT_Mobile\1.初級(jí)教程\DA14580\6_初級(jí)_SPI\projects\target_apps\peripheral_examples\spi\spi_flash\Keil_5,如下圖所示:

   
    圖12
    打開(kāi)串口調(diào)試助手連接串口模塊。在KEIL中編譯源代碼,點(diǎn)擊DEBUG,然后點(diǎn)擊全速運(yùn)行,就看到串口打印出的讀寫(xiě)Flash的信息,如下圖所示:





   
    圖13



    配套資料:http://www.fengke.club
    套件地址:http://shop115904315.taobao.com/
    文件下載請(qǐng)點(diǎn)擊: SPI教程.pdf (1.03 MB)

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩一级一片 | 亚欧乱亚欧乱色视频免费 | 欧美另类视频一区二区三区 | 久久亚洲国产午夜精品理论片 | 国产高清在线不卡 | 欧美一级视频在线 | 男人的天堂欧美精品色偷偷 | 91在线免费观看网站 | 亚洲综合极品香蕉久久网 | 日韩经典一区 | 亚洲欧美日韩另类在线 | eeuss影院在线奇兵区1页 | 麻豆伦理视频 | 国内自拍一区 | 国产成a人片在线观看视频 国产产一区二区三区久久毛片国语 | 91香蕉国产线在线观看免费 | 日本欧美一区二区三区 | 国产三级日本三级美三级 | 日韩国产有码在线观看视频 | 日本成人精品 | 国产亚洲一区二区三区 | 天天干天天干天天插 | 在线观看精品国产入口 | 精品一区二区三区亚洲 | 欧美婷婷六月丁香综合色 | 高清韩国a级特黄毛片 | 91视频色 | 国产麻豆免费观看 | 日本中文字幕二区三区 | 亚洲国产二区三区久久 | 九九热在线观看视频 | 年轻的嫂子在线线观免费观看 | 日本强日本不卡一 | 亚洲国产91 | 青青操网址 | 日本免费一区二区三区中文 | 日韩中文字幕一区二区不卡 | 四虎国产在线观看 | 片多多视频app黄版下载 | 国产精品成人免费视频 | 九色在线免费观看 |