精品国产一级毛片大全,毛片一级在线,毛片免费观看的视频在线,午夜毛片福利

2016驅(qū)動(dòng)工程師筆試題目

  下面是CN人才網(wǎng)小編為大家整解答2016驅(qū)動(dòng)工程師筆試題目,歡迎大家閱讀。

  2016驅(qū)動(dòng)工程師筆試題目

  1.什么是GPIO?

  general purpose input/output

  GPIO是相對(duì)于芯片本身而言的,如某個(gè)管腳是芯片的GPIO腳,則該腳可作為輸入或輸出高或低電平使用,當(dāng)然某個(gè)腳具有復(fù)用的功能,即可做GPIO也可做其他用途。

  也就是說(shuō)你可以把這些引腳拿來(lái)用作任何一般用途的輸入輸出,例如用一根引腳連到led的一極來(lái)控制它的亮滅,也可以用一根(一些)引腳連到一個(gè)傳感器上以獲得該傳感器的狀態(tài),這給cpu提供了一個(gè)方便的控制周邊設(shè)備的途經(jīng)。如果沒(méi)有足夠多的gpio管腳,在控制一些外圍設(shè)備時(shí)就會(huì)力有不逮,這時(shí)可采取的方案是使用CPLD來(lái)幫助管理。

  2.觸摸屏的硬件原理?

  觸摸屏的主要三大種類是:電阻技術(shù)觸摸屏、 表面聲波技術(shù)觸摸屏、 電容技術(shù)觸摸屏。

  電阻觸摸屏的主要部分是一塊與顯示器表面非常配合的電阻薄膜屏, 這是一種多層的復(fù)合薄膜,它以一層玻璃或硬塑料平板作為基層,表面圖有一層透明氧化金屬 (ITO氧化銦,透明的導(dǎo)電電阻) 導(dǎo)電層,上面在蓋有一層外表面硬化處理、光滑防擦的塑料層 、它的內(nèi)表面也涂有一層ITO涂層 、在他們之間有許多細(xì)小的(小于1/1000英寸)的透明隔離點(diǎn)把兩層導(dǎo)電層隔開(kāi)絕緣 。當(dāng)手指觸摸屏幕時(shí),兩層導(dǎo)電層在觸摸點(diǎn)位置就有了接觸,控制器偵測(cè)到這一接觸并計(jì)算出(X,Y )的位置,再根據(jù)模擬鼠標(biāo)的方式運(yùn)作。這就是電阻技術(shù)觸摸屏的最基本的原理。

  表面聲波技術(shù)是利用聲波在物體的表面進(jìn)行傳輸,當(dāng)有物體觸摸到表面時(shí),阻礙聲波的傳輸,換能器偵測(cè)到這個(gè)變化,反映給計(jì)算機(jī),進(jìn)而進(jìn)行鼠標(biāo)的模擬。

  電容技術(shù)觸摸屏利用人體的電流感應(yīng)進(jìn)行工作 。用戶觸摸屏幕時(shí) ,由于人體電場(chǎng),用戶和觸摸屏表面形成以一個(gè)耦合電容, 對(duì)于高頻電流來(lái)說(shuō),電容是直接導(dǎo)體,于是手指從接觸點(diǎn)吸走一個(gè)很小的電流

  3.在Linux C中,ls這個(gè)命令是怎么被執(zhí)行的?

  使用fork創(chuàng)建一個(gè)進(jìn)程或exec函數(shù)族覆蓋原進(jìn)程。

  4.在一個(gè)只有128M內(nèi)存并且沒(méi)有交換分區(qū)的機(jī)器上,說(shuō)說(shuō)下面兩個(gè)程序的運(yùn)行結(jié)果

  1,#define MEMSIZE 1024*1024

  int count = 0;

  void *p = NULL;

  while(1) {

  p = (void *)malloc(MEMSIZE);

  if (!p) break;

  printf("Current allocation %d MB\n", ++count);

  }

  2,

  while(1) {

  p = (void *)malloc(MEMSIZE);

  if (!p) break;

  memset(p, 1, MEMSIZE);

  printf("Current allocation %d MB\n", ++count);

  }

  第一道程序分配內(nèi)存但沒(méi)有填充,編譯器可能會(huì)把內(nèi)存分配優(yōu)化掉,程序死循環(huán);第二道,程序分配內(nèi)存并進(jìn)行填充,系統(tǒng)會(huì)一直分配內(nèi)存,直到內(nèi)存不足,退出循環(huán)。

  5.請(qǐng)定義一個(gè)宏,比較兩個(gè)數(shù)a、b的大小,不能使用大于、小于、if語(yǔ)句

  搞的比較復(fù)雜。主要思想就是a-b的值的最高位是否為0;但是又得考慮整數(shù)溢出的問(wèn)題,所以很復(fù)雜。不知道哪位大俠有更好的辦法,指點(diǎn)指點(diǎn)。

  #include

  #define ZHENG(i) ((i >> 31) == 0)

  #define FU(i) ((i >> 31) != 0)

  #define COMPARE(a,b) ((ZHENG(a) && FU(b)) || (((ZHENG(a) && ZHENG(b)) || (FU(a) && FU(b))) && ((((a) - (b)) >> 31) == 0)))

  void main()

  {

  int a = 0x80000001;

  int b = 0x6FFFFFFF;

  if(COMPARE(a,b))

  {

  printf("a >= b\n");

  }

  else

  {

  printf("a < b\n");

  }

本文已影響6827
上一篇:山東公務(wù)員考試筆試時(shí)間 下一篇:上海市重點(diǎn)中學(xué)面試題目

相關(guān)文章推薦

|||||