freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

北郵20xx現(xiàn)代通信技術(shù)實驗報告二-資料下載頁

2024-10-25 07:25本頁面
  

【正文】 N)。只需將上面的代碼改為如下代碼即可:在理論課中,我們學(xué)習(xí)了許多中斷方面的知識,包括中斷向量、中斷優(yōu)先級、中斷過程等。在PXA270系統(tǒng)里,中斷控制器分外部設(shè)備和 PXA270X 處理器設(shè)備產(chǎn)生的兩個層次的中斷,前者是初級的中斷源,后者是次級中斷源,大量的次級中斷源通常被映射為一個初級中斷源。補充代碼1 voidshowversion(void){ printk(“*********************************************n”)。printk(“t %s tn”, VERSION)。printk(“*********************************************nn”)。} static intSimpleINT_temp_count = 0。補充代碼2 //READssize_tSIMPLE_INT_read(struct file * file ,char * buf, size_t count, loff_t * f_ops){ifdef OURS_INT_DEBUGendif return count。printk(“SIMPLE_INT_read [kernel]n”)。} 補充代碼3 //WRITEssize_tSIMPLE_INT_write(struct file * file ,const char * buf, size_t count, loff_t * f_ops){ifdef OURS_INT_DEBUG} 補充代碼4 //structfile_operationsINT_ctl_ops ={ open: SIMPLE_INT_open, read: SIMPLE_INT_read, endif return count。printk(“SIMPL_INT_write [kernel]n”)。write:SIMPLE_INT_write, ioctl:SIMPLE_INT_ioctl, release:SIMPLE_INT_release, }。通過此實驗,我了解了硬件中斷管腳與中斷號的對應(yīng)關(guān)系,以及中斷號與中斷處理程序的對應(yīng)關(guān)系,對于今后編寫更為復(fù)雜的中斷程序打下基礎(chǔ)。數(shù)碼管顯示實驗在此實驗中,我們要編寫針對 74LV164 的驅(qū)動程序,并用其串并轉(zhuǎn)換功能來控制八段LED數(shù)碼管的顯示。補充代碼1 voidshowversion(void){ printk(“*********************************************n”)。printk(“t %s tn”, VERSION)。printk(“*********************************************nn”)。} 補充代碼2 //READssize_tSERIAL_LED_read(struct file * file ,char * buf, size_t count, loff_t * f_ops){ ifdef OURS_HELLO_DEBUG} 補充代碼3 //WRITEssize_tSERIAL_LED_write(struct file * file ,const char * buf, size_t count, loff_t * f_ops)return count。printk(“SERIAL_LED_read [kernel]n”)。endif { ifdef OURS_HELLO_DEBUG} 補充代碼4 //IOCTLssize_tSERIAL_LED_ioctl(structinode * inode ,struct file * file, unsigned intcmd, long data){ ifdef OURS_HELLO_DEBUGendif} 補充代碼5 //OPENssize_tSERIAL_LED_open(structinode * inode ,struct file * file){ ifdef OURS_HELLO_DEBUGendifreturn 0。} MOD_INC_USE_COUNT。printk(“SERIAL_LED_open [kernel]n”)。return 0。printk(“SERIAL_LED_ioctl [kernel]n”)。return count。endif write_byte(* buf)。printk(“SERIAL_LED_write [kernel]n”)。補充代碼6 //RELEASE/CLOSEssize_tSERIAL_LED_release(structinode *inode ,struct file * file){ ifdef OURS_HELLO_DEBUGprintk(“SERIAL_LED_release [kernel]n”)。endif MOD_DEC_USE_COUNT。return 0。} 補充代碼7 //structfile_operationsSERIAL_LED_ops ={ open: SERIAL_LED_open,read: SERIAL_LED_read,write:SERIAL_LED_write,ioctl:SERIAL_LED_ioctl,release:SERIAL_LED_release, }。補充代碼8 staticint __initHW_SERIAL_LED_init(void){ int ret =ENODEV。ret =devfs_register_chrdev(SERIAL_LED_MAJOR, amp。SERIAL_LED_ops)。showversion()。if(ret 0)“serial_led_ctl”,} {} else { } return ret。printk(“ pxa270 serial_led_driver register success!![kernel]n”)。printk(“ pxa270 init_module failed with %dn [kernel]”, ret)。return ret。補充代碼9 staticint __init pxa270_SERIAL_LED_init(void){ int ret =ENODEV。printk(“pxa270_SERIAL_LED_init [kernel]n”)。endifret = HW_SERIAL_LED_init()。if(ret)return ret。return 0。} 補充代碼10 static void __exit cleanup_SERIAL_LED(void){ ifdef OURS_HELLO_DEBUG ifdef OURS_HELLO_DEBUGendif }補充代碼11 MODULE_DESCRIPTION(“serial_led driver module”)。MODULE_AUTHOR(“l(fā)iduo”)。MODULE_LICENSE(“GPL”)。module_init(pxa270_SERIAL_LED_init)。module_exit(cleanup_SERIAL_LED)。使用測試程序看到的測試結(jié)果是數(shù)碼管按09顯示輸出。實驗作業(yè)要求在上述基礎(chǔ)上,分別實現(xiàn)一下兩個功能:①要求您再編寫一個測試程序,實現(xiàn) PXA270EP 目標(biāo)板上的 LED 數(shù)碼管循環(huán)顯示的數(shù)字90。②要求您再編寫一個測試程序,實現(xiàn) PXA270EP 目標(biāo)板上的 LED 數(shù)碼管循環(huán)顯示的數(shù)字02468。由于在測試程序中定義了數(shù)組buf[10]分別存儲了09是個數(shù),因此上述功能的實現(xiàn)方法是,分別對測試程序做如下修改:原測試程序: while(1){ for(count=0。count=0。count)} } 結(jié)果顯示// 倒序顯示數(shù)字{ data[0] = buf[count]。ret=write(fd,data,1)。sleep(1)。devfs_unregister_chrdev(SERIAL_LED_MAJOR, “serial_led”)。printk(“cleanup_SERIAL_LED [kernel]n”)。實現(xiàn)功能②: while(1){ for(count=0。count// 更改顯數(shù)順序{ data[0] = buf[count]。ret=write(fd,data,1)。sleep(1)。通過更改顯數(shù)的順序,很容易實現(xiàn)實驗作業(yè)里要求的功能。 LED點陣驅(qū)動程序設(shè)計通過本實驗的操作,我們將 8X8 的點陣 LED 驅(qū)動起來并通過編寫測試程序,使其能夠按照您的意圖進行顯示。要求您還編寫更多的測試程序補充代碼1 voidshowversion(void){ printk(“*********************************************n”)。printk(“t %s tn”, VERSION)。printk(“*********************************************nn”)。} 補充代碼2 //READssize_tSIMPLE_LED_read(struct file * file ,char * buf, size_t count, loff_t * f_ops){ ifdef OURS_LED_DEBUGendif return count。printk(“SIMPLE_LED_read [kernel]n”)。} 補充代碼3 //IOCTLssize_tSIMPLE_LED_ioctl(structinode * inode ,struct file * file, unsigned intcmd, long data){endif} 補充代碼4 //structfile_operationsLED_ctl_ops ={ open: SIMPLE_LED_open, read:SIMPLE_LED_read, write: SIMPLE_LED_write, ioctl: SIMPLE_LED_ioctl, release:SIMPLE_LED_release, }。補充代碼5 staticint __init pxa270_LED_CTL_init(void){ int ret =ENODEV。printk(“pxa270_LED_CTL_init [kernel]n”)。endifret = HW_LED_CTL_init()。if(ret)return ret。ifdef OURS_LED_DEBUG return 0。printk(“SIMPLE_LED_ioctl [kernel]n”)。ifdef OURS_LED_DEBUG return 0。} 補充代碼6 static void __exit cleanup_LED_ctl(void){ifdef OURS_LED_DEBUGendif} ①要求您再編寫一個測試程序,實現(xiàn)按橫的方向隔行順序掃描 LED 點陣數(shù)碼管。②要求您再編寫一個測試程序,實現(xiàn)按豎的方向順序掃描 LED 點陣數(shù)碼管。作業(yè)一,隔行掃描:printk(“cleanup_LED_ctl [kernel]n”)。outw(0x0000,ioremap_addr)。devfs_unregister_chrdev(SIMPLE_LED_MAJOR, “l(fā)ed_ary_ctl”)。for(i=1。ibuf[0]=c。buf[1]=~r。// row for(j=1。j} r = 1。c = cwrite(fd,buf,2)。printf(“buf[0],buf[1]: [%x,%x]n”,buf[0],buf[1])。usleep(200000)。// sleep second r=rbuf[1]=~r。// column結(jié)果顯示作業(yè)二,豎向掃描:for(i=1。ibuf[0]=c。buf[1]=~r。// row for(j=1。j} r = 1。c = cwrite(fd,buf,2)。printf(“buf[0],buf[1]: [%x,%x]n”,buf[0],buf[1])。usleep(200000)。// sleep second r=rbuf[1]=~r。// column結(jié)果顯示 AD驅(qū)動實驗通過本實驗的操作,我們將 AD 轉(zhuǎn)換器驅(qū)動起來并通過編寫測試程序,使其能夠?qū)⒛M信號量按照我們的要求轉(zhuǎn)換成數(shù)字信號量。為了更加清楚地理解 AD 轉(zhuǎn)換器的工作過程,請您再編寫一個測試程序,將 UCB_ADC_INP_AD0 換成其他通道,來觀察其他 AD 通道情況。補充代碼1 voidshowversion(voi
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1