日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

单片机面试知识点汇总

發布時間:2023/12/29 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单片机面试知识点汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

GPIO

  • IO有哪三種常用方式?
  • 輸入模式:

    1. 浮空輸入:對I/O口當前電平進行輸入,通常用于讀取I/O口輸入,輸入狀態是不確定的。

    2. 上拉輸入:對I/O口置高電平輸入。

    3. 下拉輸入:對I/O口置低電平輸入,上拉和下拉電阻經常用于在不確定GPIO輸入時確定狀態。

    4. 模擬輸入:和另外三種輸入方式不同,模擬輸入的是模擬信號,一般用于AD轉換。


    輸出模式:(值得注意的是,輸出模式的輸出結果可以用輸入模式讀取。)

    1. 開漏輸出:寫入口與CPU相連。寫入1時輸出由外部上拉或下拉電阻決定電平;寫入0時N-MOS管導通,電壓為VSS,輸出電平為低電平。

    2. 復用開漏輸出:與開漏輸出模式類似,但寫入口不與CPU相連而是和片上的外設模塊相連。

    3. 推挽輸出:寫入口與CPU相連。寫入1時P-MOS管導通,N-MOS管截止,輸出高電平;寫入0時P-MOS管截止,N-MOS管導通,輸出低電平。

    4. 復用推挽輸出:與推挽輸出模式類似,但寫入口不與CPU相連而是和片上的外設模塊相連。

    推挽輸出和開漏輸出的區別:

    推挽輸出:可以輸出強高低電平(VSS和VDD),連接數字器件。

    開漏輸出:只能輸出強低電平(VSS),高電平需要靠外部上拉電阻。輸出相當于三極管集電極,電流吸收能力較好(20mA以內),適合做電流型的驅動。

  • 狀態怎么轉換?
  • 中斷

    什么是中斷?

    ? 1)中斷請求:
    ? 2)中斷響應:
    ? 3)現場保護:
    ? 4)中斷處理:
    ? 5)恢復現場:
    ? 6)中斷返回:

    中斷的觸發方式有哪些?

    沿觸發: 這是很最常見的觸發方式,我們可以用數字電路的方法來解釋它的特性。邊觸發應該應觸發器來描述: ?輸入引腳(當作觸發器的CLK) ----> 觸發器------> 中斷控制器 ,當輸入引腳的相應的沿到來時,就會將觸發器置1,并觸發中斷,觸發器會一直保持電平1除非在ISR中用一條語句清0,否則會不斷的觸發中斷,這也就是每次觸發中斷都要清0的原因。當有高優先級的中斷運行后退出時,處理器檢測到觸發器的值為1,所以依然會進入中斷服務程序。
    ?電平觸發: 有的時候,邊沿觸發很容易產生毛刺并導致誤中斷,這時候就要使用電平觸發,電平觸發是持續觸發,可以用數字電路的緩沖器來描述

    哪些函數不能在中斷中使用?

    printf,malloc,free

    什么叫不可重入函數?

    中斷與異常有何區別?

    中斷的響應執行流程是什么?

    寫一個中斷服務需要注意哪些?

    1、中斷服務子程序設計原則是要快進快出,printf的實現會一直調用到底層逐個字節的打印輸出,
    這種IO操作效率很慢,不適合放到中斷里面。如果有鎖機制,可能會造成死鎖。

    中斷和輪詢哪個效率高?怎樣決定是采用中斷方式還是采用輪詢方式去實現驅動?

    中斷是CPU處于被動狀態下來接受設備的信號,而輪詢是CPU主動去查詢該設備是否有請求。凡事都是兩面性,所以,看效率所以,看效率不能簡單的說那個效率高。如果是請求設備是一個頻繁請求cpu的設備,或者有大量數據請求的網絡設備,那么輪詢的效率是比中斷高。如果是一般設備,并且該設備請求cpu的頻率比較底,則用中斷效率要高一些。主要是看請求頻率。

    中斷優先級有哪些?

    一種是搶占優先級,一種是固有優先級

    單片機這種沒有操作系統的,中斷處理函數不能有輸入參數也不能有函數返回

    定時器

  • 定時器的特殊工作模式有哪些?
  • 定時器PWM?
  • 如何實現PWM調速?
  • 定時器中斷?
  • 通信協議

    什么是異步傳輸和同步傳輸?

    異步傳輸是面向字符的傳輸,而同步傳輸是面向比特的傳輸。

    UART、IIC、SPI對比的優缺點?

    SPI IIC UART三種通信方式的比較

    ? ? ? (1)UART(Universal Asynchronous Receive Transmitter):也就是我們經常所說的串口,基本都用于調試。

    ? ? ? ? ? ? ? ?主機和從機之間采用三根線,RX,TX,GND。TX是用來發送數據,RX是用來接收數據,這個過程中,收和發不是同一根線,所以它是全雙工進行通信,GND 是地線;

    ? ? ? ?(2)IIC(Inter Integrated Circuit):

    ? ? ? ? ? ? ? ? 它的通信只需要兩根數據線,一個時鐘線SCL和一個數據線SDA。只有一根數據線,所以是半雙工通信,兩條線上可以掛載許多設備(不同的設備會有不同的IIC地址)

    ? ? ? ?(3)SPI(Serial Peripheral Interface, 同步外設接口):

    ? ? ? ? ? ? ? ? 是摩托羅拉開發的全雙工同步串行總線,該總線大量在EEPROM,ADC,FRAM和顯示驅動器之類的外設器件通信(通信速度比較慢);

    ? ? ? ? ? ? ? ? SPI是一種串行同步通訊協議,由一個主設備和一個或多個從設備組成,主設備啟動一個與從設備的同步通訊,從而完成數據的交換。SPI 接口由SDI(串行數據輸入),SDO(串行數據輸出),SCK(串行移位時鐘),CS(從使能信號)四種信號構成,CS 決定了唯一的與主設備通信的從設備,片選信號低電平有效。如沒有CS 信號,則只能存在一個從設備,主設備通過產生移位時鐘來發起通訊。通訊時,數據由SDO 輸出,SDI 輸入,數據在時鐘的上升或下降沿由SDO 輸出,在緊接著的下降或上升沿由SDI 讀入,這樣經過8/16 次時鐘的改變,完成8/16 位數據的傳輸。

    UART串口

    usart和uart的區別?

    首先從名字上看:

      UART:universal asynchronous receiver and transmitter通用異步收/發器

      USART:universal synchronous asynchronous receiver and transmitter通用同步/異步收/發器

      從名字上可以看出,USART在UART基礎上增加了同步功能,即USART是UART的增強型,事實也確實是這樣。但是具體增強到了什么地方呢?

      其實當我們使用USART在異步通信的時候,它與UART沒有什么區別,但是用在同步通信的時候,區別就很明顯了:大家都知道同步通信需要時鐘來觸發數據傳輸,也就是說USART相對UART的區別之一就是能提供主動時鐘。如STM32的USART可以提供時鐘支持ISO7816的智能卡接口。 USART支持流控制

    在s3c2440中看到的是uart,而在一般新的芯片手冊中看到的都是usart,雖然在以前也都看到過,原本以為這倆其實是相同的,以為只是不同芯片采用不同的名稱而已,其實不然,uart全名叫通用異步收發傳輸器,在uart上追加同步方式的序列信號變換電路則稱之為usart

    UART 是一種通用串行數據總線,用于異步通信,全雙工,

    與UART的區別是USART具有發送部分有外部時鐘輸入驅動和波特率發生器,發送器有一個單獨的寫入緩沖器(發送UDR),一個串行移位寄存器、校驗位發生器和用于處理不同幀結構的控制邏輯電路構成。使用寫入緩沖器,實現了連續發送多幀數據無延遲的通信。其實USART是UART的增強型,只是比UART多了個同步功能,擁有獨立的時鐘驅動器,可以實現無延遲的數據傳輸。

    uart優缺點?

    優點

    通信只需要兩條數據線;
    無需時鐘信號;
    有奇偶校驗位,方便通信的差錯檢查;
    只需要接收端和發送端設置好數據包結構,即可穩定通信;

    缺點

    數據幀最大支持9位數據;
    不支持多主機或多從機的主從系統;

    要配置什么參數?

    時序?

    傳輸速率?

    RX為什么要上拉?

    RX為什么要上拉?原因分析,是因為RX不上拉,懸空的話,電路的某些信號影響(比如射頻,大功率器件),就容易誤觸發,進入接收中斷。改成上拉就可以解決。

    怎么傳輸浮點數?

    串口如何接收不定長數據?

    第一種:使用中斷方式? 第二種使用自定義結束符

    軟件怎么實現自動波特率檢測?

    IIC

  • IIC的特點
  • 數據有效性
  • 三種信號
  • 畫IIC時序圖
  • 數據傳輸流程
  • 為什么要上拉?
  • IIC總線怎么實現?
  • IIC工作速率
  • 怎樣用IO口模擬IIC?
  • IIC如何進行讀寫操作?
  • IIC總線仲裁機制是怎么樣的?
  • 主設備3.3v從設備1.8v,不使用電平轉換如何通過搭電路實現通信(這題我在某次筆試中遇到過,不過至今仍不知道答案,有懂的大佬可以在下面評論或者私信我)
  • SPI

  • 介紹SPI
  • 最大傳輸速率受什么影響?
  • 四種模式及其對應的時序圖
  • SPI如何讀寫?
  • SPI總線怎么實現?
  • 其他接口

    DMA

  • DMA是什么?
  • 為什么要用DMA?
  • DMA的實現機制是怎么樣的?
  • DMA與中斷的比較
  • ADC

  • 什么是ADC?
  • ADC是怎么實現的?
  • ADC種類有哪些?
  • ADC獲取的數據有哪些處理、濾波方法?
  • ADC時鐘由誰提供?
  • 存儲

  • flash操作注意事項
  • NAND FLASH和NOR FLASH的區別?
  • 基于ROM的運行方式和基于RAM的運行方式有什么區別?
  • MCU啟動流程
  • 簡單說說你用過的STM32的一些芯片配置,CPU主頻,flash和RAM的大小
  • arm有幾個寄存器?什么是CPSR,SPSR?什么時候用到?
  • PC寄存器的作用是什么?
  • 通用寄存器包括R0~R15,可以分為具體哪三類?
  • ARM系統中,在函數調用的時候,參數是通過哪種方式傳遞的?
  • ARM指令集分為幾類?
  • ARM處理器有幾種工作狀態?
  • 什么是哈佛結構和馮諾依曼結構?
  • 其他問題

  • bootloader具體做了什么?
  • 什么是交叉編譯?
  • 為什么需要交叉編譯?
  • 單片機main函數之前做了什么工作?
  • 如何對絕對地址0x100000賦值?
  • 51單片機種PSW代表什么?
  • STCR51
    STM32
    DSP430:
    1、MSP430系列單片機是美國德州儀器(TI)1996年開始推向市場的一種16 位超低功耗的混合信號處理器(Mixed Signal Processor)
    。稱之為混合信號處理器,主要是由于其針對實際應用需求,把許多模擬電路、數字電路和微處理器集成在一個芯片上,以提供“單片”解決方案。
    2、MSP430是16位單片機,51是8位單片機
    3、MSP430采用RISC精簡指令集,單個時鐘周期就可以執行一條指令,相同晶振,速度較51快12倍。
    4、其它片上資源也是MSP較豐富。
    Arudino:就是一個很方便的集成開發環境,有著各種各樣的庫,擁有很不錯的生態,屏蔽掉了很多底層代碼,不用再去頭疼GPIO怎么配,
    各種設備怎么初始化,讓開發者專注于軟件上的開發。
    ?




    ?

    總結

    以上是生活随笔為你收集整理的单片机面试知识点汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。