欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式工程師去面試可能被問(wèn)到的問(wèn)題集錦

精通單片機(jī)與嵌入式 ? 來(lái)源:精通單片機(jī)與嵌入式 ? 作者:精通單片機(jī)與嵌入 ? 2022-11-15 11:03 ? 次閱讀

Q:什么是ISR?

A:ISR 是指中斷服務(wù)程序。 這些是存儲(chǔ)在特定內(nèi)存地址的函數(shù),當(dāng)發(fā)生某種類(lèi)型的中斷時(shí)會(huì)調(diào)用這些函數(shù)。 Cortex-M 處理器系列具有管理中斷執(zhí)行的 NVIC

Q:我們可以給ISP傳遞參數(shù)或從ISR返回一個(gè)值嗎?為什么?

A:ISR 不返回任何內(nèi)容并且不允許傳遞任何參數(shù)。

當(dāng)硬件或軟件中斷發(fā)生時(shí)會(huì)調(diào)用 ISR,它不會(huì)被任何代碼調(diào)用,所以這就是沒(méi)有參數(shù)傳遞到 ISR 的原因。因?yàn)樗粫?huì)被任何代碼調(diào)用,所以它不會(huì)有返回值。

Q:什么是 volatile 關(guān)鍵字?

A:volatile 關(guān)鍵字是一個(gè)類(lèi)型限定符,可防止對(duì)象進(jìn)行編譯器優(yōu)化。根據(jù) C 標(biāo)準(zhǔn),具有 volatile 限定類(lèi)型的對(duì)象可能會(huì)以實(shí)現(xiàn)未知的方式進(jìn)行修改或具有其他未知的副作用。您也可以說(shuō) volatile 限定對(duì)象的值可以隨時(shí)更改,而無(wú)需代碼采取任何操作。如果對(duì)象由 volatile 限定符限定,則每次程序訪(fǎng)問(wèn)該對(duì)象時(shí),編譯器都會(huì)從內(nèi)存中重新加載該值,這意味著它可以防止將變量緩存到寄存器中。從內(nèi)存中讀取值是檢查值不可預(yù)測(cè)變化的唯一方法。

Q:標(biāo)準(zhǔn)C語(yǔ)言嵌入式C語(yǔ)言有什么區(qū)別?

A:C語(yǔ)言:是一種通用編程語(yǔ)言,廣泛用于設(shè)計(jì)任何類(lèi)型的基于桌面的應(yīng)用程序。 它是一種用于開(kāi)發(fā)操作系統(tǒng)的系統(tǒng)編程語(yǔ)言。 C 語(yǔ)言的主要特點(diǎn)包括對(duì)內(nèi)存的低級(jí)訪(fǎng)問(wèn)、一組簡(jiǎn)單的關(guān)鍵字和干凈的風(fēng)格,這些特點(diǎn)使 C 語(yǔ)言適用于操作系統(tǒng)或編譯器開(kāi)發(fā)等系統(tǒng)編程。 本質(zhì)上它采用原生平臺(tái)開(kāi)發(fā)方案,即它開(kāi)發(fā)的應(yīng)用程序是平臺(tái)相關(guān)的,只能在單一平臺(tái)上使用。

嵌入式 C:是標(biāo)準(zhǔn)C的擴(kuò)展,而不能說(shuō)是標(biāo)準(zhǔn)C的一部分。嵌入式C語(yǔ)言用于開(kāi)發(fā)基于微控制器的應(yīng)用程序。 嵌入式C語(yǔ)言對(duì)標(biāo)準(zhǔn)C的擴(kuò)展是I/O硬件尋址、定點(diǎn)算術(shù)運(yùn)算、訪(fǎng)問(wèn)地址空間等。

本公眾號(hào)會(huì)更新一篇關(guān)于標(biāo)準(zhǔn)C語(yǔ)言與嵌入式C語(yǔ)言的區(qū)別,歡迎持續(xù)關(guān)注。

Q:C 中的 const 和 volatile 限定符有什么區(qū)別?

A:const 關(guān)鍵字是編譯器強(qiáng)制執(zhí)行的,它表示程序無(wú)法更改對(duì)象的值,這意味著它使對(duì)象成為不可修改的類(lèi)型。 讓我們看一個(gè)例子,

const int a = 0;

如果我們嘗試修改“a”的值,我們將得到編譯器錯(cuò)誤,因?yàn)椤癮”用 const 關(guān)鍵字限定,防止更改“a”(整數(shù)變量)的值。

volatile 會(huì)阻止任何編譯器優(yōu)化,并表示對(duì)象的值可以被程序控制之外的東西更改,因此編譯器不會(huì)對(duì)對(duì)象做出任何假設(shè)。 看個(gè)例子,

volatile int a;

當(dāng)編譯器看到上面的聲明時(shí),它會(huì)避免對(duì)“a”做出任何假設(shè),并在每次迭代中從分配給“a”的地址讀取值。

Q:C中的變量可以既是const又是volatile嗎?

A:是的,可以同時(shí)使用 const 和 volatile。

將 volatile 和 const 關(guān)鍵字一起使用的一個(gè)重要用途是在訪(fǎng)問(wèn) GPIO 寄存器時(shí)。在 GPIO被配置為輸入的情況下,讀取到的值將取決于外部因素(如開(kāi)關(guān)或其他設(shè)備的輸出信號(hào))的改變。在這種情況下, volatile 發(fā)揮著重要作用,并確保編譯器始終從 GPIO 地址讀取值并避免做出任何優(yōu)化。

使用 volatile 關(guān)鍵字后,無(wú)論何時(shí)訪(fǎng)問(wèn)端口,您都會(huì)獲得正確的值,但仍然存在另一個(gè)問(wèn)題,因?yàn)橹羔槻皇?const 類(lèi)型,當(dāng)您的程序更改了指針的指向地址時(shí),所獲取的數(shù)值就是錯(cuò)誤的,這樣我們就必須創(chuàng)建一個(gè)帶有 volatile 關(guān)鍵字的常量指針。

定義的用法為:

int volatile * const PortRegister;

理解:

60b770fc-6472-11ed-8abf-dac502259ad0.png

Q:常用的使用volatile的場(chǎng)合?

A:1、訪(fǎng)問(wèn)內(nèi)存映射外設(shè)寄存器或硬件狀態(tài)寄存器。

#define COM_STATUS_BIT  0x00000006


uint32_t const volatile * const pStatusReg = (uint32_t*)0x00020000;


unit32_t GetRecvData()
{
    unit32_t RecvData;
    
    //Code to receive data
    while (((*pStatusReg)  & COM_STATUS_BIT) == 0)
    {
        // Wait until flag does not set
        //Received data in RecvData


    }
    return RecvData;
}
2、在多個(gè)線(xiàn)程之間共享全局變量或緩沖區(qū)

3、在中斷例程或信號(hào)處理程序中訪(fǎng)問(wèn)全局變量

volatile int giFlag = 0;


ISR(void)
{
    giFlag = 1;
}


int main(void)
{


    while (!giFlag)
    {
        //do some work
    }


    return 0;
}

Q:什么是中斷延遲?

A:中斷延遲是處理器響應(yīng)中斷請(qǐng)求所用的時(shí)鐘周期數(shù)。 這個(gè)時(shí)鐘周期數(shù)是在中斷請(qǐng)求的發(fā)生和中斷處理程序的第一條指令之間計(jì)數(shù)。


Cortex-M 處理器的中斷延遲非常低。 在下表中列出了 Cortex-M 處理器的中斷延遲。

60caa992-6472-11ed-8abf-dac502259ad0.png

Q:如何減少中斷延遲?

A:中斷延遲取決于許多因素,我在下面的陳述中提到了一些因素。

因此,通過(guò)正確選擇平臺(tái)和處理器,我們可以輕松減少中斷延遲。 我們還可以通過(guò)縮短 ISR 并避免在 ISR 內(nèi)調(diào)用函數(shù)來(lái)減少中斷延遲。

Q:在中斷服務(wù)程序(ISR) 中調(diào)用printf() 是否安全?

A:不建議在接ISR中調(diào)用printf()

Q:可以在 ISR 中放置斷點(diǎn)嗎?

A:可以設(shè)置斷點(diǎn),但是不建議這么做。

Q:在ISR中可以調(diào)用任何函數(shù)嗎?

A:是的,但是不建議在中斷中直接調(diào)用函數(shù);建議在中斷中先設(shè)置相關(guān)標(biāo)志或執(zhí)行數(shù)據(jù)準(zhǔn)備,在主循環(huán)中進(jìn)行數(shù)據(jù)處理。

Q:什么是中斷嵌套?

A:在嵌套中斷系統(tǒng)中,即使正在執(zhí)行中斷服務(wù)函數(shù),也可以隨時(shí)隨地進(jìn)行中斷。 但是,只有最高優(yōu)先級(jí)的 ISR 會(huì)立即執(zhí)行。 優(yōu)先級(jí)次高的 ISR 將在最高優(yōu)先級(jí)的 ISR 完成后執(zhí)行。

嵌套中斷系統(tǒng)的規(guī)則是:

  • 所有中斷都必須被設(shè)定中斷優(yōu)先級(jí)。

  • 初始化后,任何中斷都可以隨時(shí)隨地發(fā)生。

  • 如果低優(yōu)先級(jí) ISR 被高優(yōu)先級(jí)中斷中斷,則執(zhí)行高優(yōu)先級(jí) ISR。

  • 如果高優(yōu)先級(jí) ISR 被低優(yōu)先級(jí)中斷中斷,則高優(yōu)先級(jí) ISR 繼續(xù)執(zhí)行。

  • 必須按時(shí)間順序執(zhí)行相同優(yōu)先級(jí)的 ISR

Q:ARM Cortex 中的NVIC是什么?

A:Cortex-M 處理器系列中的嵌套向量中斷控制器 (NVIC) 是具有極其靈活的中斷優(yōu)先級(jí)管理的中斷控制器的一個(gè)示例。 它支持可編程優(yōu)先級(jí)、自動(dòng)嵌套中斷支持以及對(duì)多個(gè)中斷屏蔽的支持,同時(shí)仍然非常易于程序員使用。

NVIC 的 Cortex-M3 和 Cortex-M4 處理器支持多達(dá) 240 個(gè)中斷輸入,具有 8 個(gè)多達(dá) 256 個(gè)可編程優(yōu)先級(jí)。

60dea17c-6472-11ed-8abf-dac502259ad0.png

Q:可以更改 Cortex-M 處理器系列的中斷優(yōu)先級(jí)嗎?

A:可以。

Q:什么是啟動(dòng)代碼,在進(jìn)入main函數(shù)前芯片都做了什么工作?

A:芯片上電后,進(jìn)入main 函數(shù)之前調(diào)用的代碼是啟動(dòng)代碼,一般是用匯編語(yǔ)言編寫(xiě)的一小段代碼。
啟動(dòng)代碼至少包括以下部分

  • 堆棧區(qū)的聲明

  • 堆區(qū)的聲明

  • 矢量表

  • 重置處理程序代碼

  • 其他異常處理程序代碼

Q:如何訪(fǎng)問(wèn)內(nèi)存的固定地址?

A:

//Memory address, you want to access
#define RW_FLAG 0x1FFF7800


//Pointer to access the Memory address
volatile uint32_t *flagAddress = NULL;


//variable to stored the read value
uint32_t readData = 0;


//Assign addres to the pointer
flagAddress = (volatile uint32_t *)RW_FLAG;


//Read value from memory
* flagAddress = 12; // Write


//Write value to the memory
readData = * flagAddress;

Q:什么是堆棧溢出?

A:如果您的程序嘗試訪(fǎng)問(wèn)超出可用堆棧內(nèi)存的限制,則會(huì)發(fā)生堆棧溢出。換句話(huà)說(shuō),如果調(diào)用堆棧指針超出堆棧邊界,則可以說(shuō)發(fā)生堆棧溢出。
如果發(fā)生堆棧溢出,程序可能會(huì)崩潰,或者可以說(shuō)是堆棧溢出導(dǎo)致的分段錯(cuò)誤

Q:I2C和SPI的區(qū)別是什么?

A:嵌入式系統(tǒng)中,I2C和SPI都扮演著重要的角色。這兩種通信協(xié)議都是同步通信的例子,但仍然有一些重要的區(qū)別。I2C 和 SPI 通信協(xié)議之間的重要區(qū)別。

  • I2C 支持半雙工,而 SPI 是全雙工通信。

  • I2C 只需要兩線(xiàn)進(jìn)行通信,而 SPI 需要三線(xiàn)或四線(xiàn)進(jìn)行通信(取決于要求)。

  • 與 SPI 通信相比,I2C 速度較慢。

  • I2C 比 SPI 消耗更多功率。

  • I2C 比 SPI 更不易受噪聲影響。

  • 與 SPI 通信協(xié)議相比,I2C 的實(shí)現(xiàn)成本更低。

  • I2C 工作在線(xiàn)路和邏輯上,它有一個(gè)上拉電阻,而在 SPI 的情況下不需要上拉電阻。

  • 在 I2C 通信中,我們?cè)诿總€(gè)字節(jié)后獲得確認(rèn)位,SPI 通信協(xié)議不需要。

  • I2C 確保從設(shè)備接收發(fā)送的數(shù)據(jù),而 SPI 不驗(yàn)證數(shù)據(jù)是否正確接收。

  • I2C 支持多主機(jī)通信,而 SPI 不支持多主機(jī)通信。

  • I2C 和 SPI 之間的一大區(qū)別在于,I2C 支持同一總線(xiàn)上的多個(gè)設(shè)備,而無(wú)需任何額外的選擇線(xiàn)(基于設(shè)備地址工作),而 SPI 需要額外的信號(hào)(從選擇線(xiàn))線(xiàn)來(lái)管理同一總線(xiàn)上的多個(gè)設(shè)備。

  • I2C 支持仲裁,而 SPI 不支持仲裁。

  • I2C 支持時(shí)鐘延長(zhǎng),而 SPI 不支持時(shí)鐘延長(zhǎng)。

  • I2C 可以被一個(gè)未能釋放通信總線(xiàn)的設(shè)備鎖定。

  • 由于起始位和停止位,I2C 有一些額外的開(kāi)銷(xiāo)。

  • I2C 更適合長(zhǎng)距離,而 SPI 更適合短距離。

Q:RS232RS485有什么區(qū)別?

A:RS232 和 RS485 之間的一些重要區(qū)別

61090aca-6472-11ed-8abf-dac502259ad0.png

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5094

    文章

    19184

    瀏覽量

    307842
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1217

    瀏覽量

    52410
  • ISR
    ISR
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    14471

原文標(biāo)題:【知識(shí)分享】嵌入式工程師去面試可能被問(wèn)到的問(wèn)題集錦-1(建議收藏)

文章出處:【微信號(hào):精通單片機(jī)與嵌入式,微信公眾號(hào):精通單片機(jī)與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    年薪30萬(wàn)的嵌入式工程師,究竟需要掌握哪些技能?

    隨著智能硬件、物聯(lián)網(wǎng)、智能汽車(chē)、自動(dòng)化控制等領(lǐng)域的迅速發(fā)展,嵌入式工程師的需求也水漲船高。尤其是在全球化和技術(shù)加速的時(shí)代,嵌入式開(kāi)發(fā)不僅是一個(gè)熱門(mén)行業(yè),還是跨學(xué)科技術(shù)與創(chuàng)新的交匯點(diǎn)。對(duì)于那些具備扎實(shí)
    的頭像 發(fā)表于 01-16 10:59 ?395次閱讀
    年薪30萬(wàn)的<b class='flag-5'>嵌入式</b><b class='flag-5'>工程師</b>,究竟需要掌握哪些技能?

    為什么嵌入式驅(qū)動(dòng)開(kāi)發(fā)工程師可以拿高薪?

    為什么嵌入式驅(qū)動(dòng)開(kāi)發(fā)工程師可以拿高薪? 嵌入式驅(qū)動(dòng)開(kāi)發(fā),屬于需求量大、薪資斷崖升高的熱門(mén)崗位,在市場(chǎng)的發(fā)展驅(qū)動(dòng)下成為“風(fēng)口”。從市場(chǎng)的整體需求來(lái)看,
    發(fā)表于 01-07 16:56

    嵌入式工程師常用的開(kāi)發(fā)工具有哪些?

    嵌入式工程師常用的開(kāi)發(fā)工具有哪些? 在嵌入式系統(tǒng)開(kāi)發(fā)的廣闊領(lǐng)域中,嵌入式工程師們憑借著一系列強(qiáng)大的工具,將創(chuàng)意與技術(shù)完美融合,打造出高效、可
    發(fā)表于 12-20 15:29

    面試嵌入式都會(huì)問(wèn)那些問(wèn)題呢?

    作為一名電子工程專(zhuān)業(yè)的畢業(yè)生,我對(duì)嵌入式系統(tǒng)開(kāi)發(fā)一直充滿(mǎn)熱情。當(dāng)我決定踏入這個(gè)行業(yè),尋找屬于自己的職業(yè)道路時(shí),面試成為了我必須面對(duì)的挑戰(zhàn)。在這里,我想分享一些我在嵌入式系統(tǒng)
    的頭像 發(fā)表于 11-27 09:13 ?397次閱讀
    <b class='flag-5'>面試</b><b class='flag-5'>嵌入式</b>都會(huì)問(wèn)那些問(wèn)題呢?

    程序員面試只需一個(gè)技能征服所有面試官!

    個(gè)車(chē)輛工程專(zhuān)業(yè)的研究生面試,面試官最后問(wèn)他會(huì)不會(huì)嵌入式。雖然應(yīng)聘的崗位不是嵌入式
    的頭像 發(fā)表于 11-05 19:35 ?264次閱讀
    程序員<b class='flag-5'>去</b><b class='flag-5'>面試</b>只需一個(gè)技能征服所有<b class='flag-5'>面試</b>官!

    嵌入式QT常見(jiàn)開(kāi)發(fā)方式有哪些?

    嵌入式QT常見(jiàn)開(kāi)發(fā)方式有哪些? 嵌入式工程師在學(xué)習(xí)和使用Qt進(jìn)行開(kāi)發(fā)時(shí),常見(jiàn)的幾種開(kāi)發(fā)方式包括: 1.Qt Widgets編程: 通過(guò)C++代碼直接編寫(xiě)GUI應(yīng)用程序,利用QtWidgets庫(kù)
    發(fā)表于 08-12 10:05

    面試嵌入式工作,會(huì)被問(wèn)什么問(wèn)題?

    面試嵌入式工作時(shí),面試可能會(huì)從多個(gè)方面考察應(yīng)聘者的知識(shí)、技能和經(jīng)驗(yàn)。以下是一些常見(jiàn)的嵌入式工作面試
    的頭像 發(fā)表于 07-17 09:26 ?2110次閱讀
    <b class='flag-5'>面試</b><b class='flag-5'>嵌入式</b>工作,會(huì)被問(wèn)什么問(wèn)題?

    嵌入式熱門(mén)領(lǐng)域有哪些?

    另一個(gè)備受關(guān)注的領(lǐng)域,已經(jīng)在汽車(chē)行業(yè)展現(xiàn)出革命性的影響。在自動(dòng)駕駛領(lǐng)域,嵌入式系統(tǒng)的重要性日益突出,它們廣泛應(yīng)用于與傳感器和控制系統(tǒng)配合,實(shí)現(xiàn)車(chē)輛的自主運(yùn)行。自動(dòng)駕駛技術(shù)的急速發(fā)展為嵌入式系統(tǒng)
    發(fā)表于 07-16 09:23

    找STM32硬件開(kāi)發(fā)兼職工程師

    上海做傳感器的公司,找STM32硬件開(kāi)發(fā)兼職工程師,會(huì)硬件開(kāi)發(fā),嵌入式軟件開(kāi)發(fā),可項(xiàng)目外包。有意聯(lián)系:15900460170
    發(fā)表于 06-22 19:12

    嵌入式軟件工程師如何提升自己?

    嵌入式軟件工程師如何提升自己? 作為一名嵌入式軟件工程師,在這個(gè)充滿(mǎn)機(jī)遇和挑戰(zhàn)的領(lǐng)域里,如何提升自己顯得非常重要,它決定了你未來(lái)的發(fā)展方向和成就。接下來(lái),我們一起探討一下。 1.奠定扎
    發(fā)表于 06-12 11:20

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    嵌入式軟件工程師和硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式軟件
    發(fā)表于 05-16 11:00

    大廠(chǎng)電子工程師常見(jiàn)面試題#電子工程師 #硬件工程師 #電路知識(shí) #面試

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    一款適合嵌入式工程師使用的在線(xiàn)工具

    一款適合嵌入式工程師使用的在線(xiàn)工具,工具有如下功能,如下圖所示: 1. 報(bào)文校驗(yàn)功能,如下圖所示 2. UDP服務(wù)端測(cè)試工具:該UDP服務(wù)端工具可以理解為 “UDP服務(wù)端” 或者 “服務(wù)器
    發(fā)表于 04-09 22:20

    嵌入式工程師需要掌握哪些技術(shù)?

    嵌入式工程師需要掌握哪些技術(shù)? 嵌入式系統(tǒng)是當(dāng)今科技領(lǐng)域中的重要組成部分,它們存在于我們生活的方方面面,從智能手機(jī)到汽車(chē)控制系統(tǒng),從家電到醫(yī)療設(shè)備。因此,對(duì)于那些想要進(jìn)入嵌入式行業(yè)的
    發(fā)表于 03-04 16:38

    嵌入式人工智能的就業(yè)方向有哪些?

    的發(fā)展方向有很多,門(mén)檻高低不一樣。下面給大家列舉一些相應(yīng)崗位所需具備的技能: 一:嵌入式Linux,C語(yǔ)言開(kāi)發(fā)工程師,Linux軟件開(kāi)發(fā)工程師 LinuxC語(yǔ)言開(kāi)發(fā) LinuxC語(yǔ)言開(kāi)發(fā)進(jìn)階 Linux
    發(fā)表于 02-26 10:17