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

正文內(nèi)容

畢業(yè)論文-嵌入式聲光數(shù)據(jù)采集平臺設(shè)計(參考版)

2025-01-19 22:50本頁面
  

【正文】 if ( drawDotLine ) //補(bǔ)劃坐標(biāo)系縱軸的刻度 { for。 int y0 = ().y()。 ( ().x(), ().y(), ().x(), ().y() )。 Xold = ().x() STEP。 Xnew = ().x() 1。 int Xnew, Xold。 //得到獲取數(shù)據(jù)列表的迭代器 QValueListdouble::Iterator Yit = ()。newBuffer, ().x()+1, ().y()+1, amp。saveBuffer, ().x(), ().y(), (), () )。 bitBlt(amp。saveBuffer,0, 0,amp。 } void Screen::updateCurve( QPainter amp。 //退出循環(huán) usleep(100)。 adcdata = data。tempdata)。\039。 len = read(fd,buffer,sizeof(buffer)1)。 //命令參數(shù) ioctl(fd,cmd,argu)。 //文件描述符 int cmd = adccmd。 char buffer[20]。 //存儲采集到的數(shù)據(jù)變量 int len。 Measurement Magazine, 2022, 11(3):2433. 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 26 附錄 void * my_process (void *arg) //線程執(zhí)行函數(shù) { ADC *adc = (ADC*)arg。 Petri, D。 Boni, A。 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 24 致謝 通過畢業(yè)設(shè)計,學(xué)會了如何將 所學(xué)知識應(yīng)用于實(shí)際的項(xiàng)目開發(fā)中,復(fù)習(xí)了以前學(xué)的知識也接觸到了新的知識和技術(shù),收獲還是蠻大的。 解決辦法:首先就是升級 qt 的版本,使其支持 RGB 格式的數(shù)據(jù),這樣就省去了轉(zhuǎn)化為 JPEG 文件的時間,其次可以通過多線程技術(shù),一個線程采樣數(shù)據(jù),一個線程顯示數(shù)據(jù),達(dá)到并行執(zhí)行的目的,最后就是購買直接輸出 qt 支持俄數(shù)據(jù)流,這樣就不需要中間的轉(zhuǎn)化過程,使顯示的效率進(jìn)一步的提高,這樣視頻將更加流杭州電子科技大學(xué)本科畢業(yè)設(shè)計 23 暢,基本無延遲。 解決辦法:可以通過將讀取的數(shù)據(jù)存儲在一個 緩沖區(qū)中,當(dāng)達(dá)到一定的數(shù)據(jù)時,一次顯示在界面上,這樣將大大提高顯示的效率,讀取的數(shù)據(jù)也不會覆蓋,只是顯示的時間有點(diǎn)延遲,但這并不影響最終的結(jié)果,系統(tǒng)的靈敏度也提高了許多。 ( 2)通道限制 由于 開發(fā)板只能使用四個 A/D 通道,而實(shí)際上需要許多的通道,如何擴(kuò)展通道數(shù)也是需要解決的問題。 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 22 7 系統(tǒng)實(shí)現(xiàn)及改進(jìn) 雖然系統(tǒng)最終實(shí)現(xiàn)了最初的目標(biāo),能 夠采集多通道的 AD 數(shù)據(jù),并且在界面上實(shí)時顯示波形,能夠從 USB 攝像頭采集圖像數(shù)據(jù)并在界面上顯示視頻,但是系統(tǒng)還有一些地方需要改進(jìn)或者修改,下面僅列出本人覺得有必要改進(jìn)的地方及具體改進(jìn)方法: ( 1)主界面的設(shè)計 由于采用的 qt 版本和虛擬機(jī)中安裝 Linux 發(fā)行版之間不能很好的兼容,導(dǎo)致不能直接用 QT Designer直接進(jìn)行界面的設(shè)計,而只能采用代碼編寫的方法設(shè)計界面,這一方面延長了項(xiàng)目開發(fā)的周期,同時設(shè)計的界面也不是很友好。 圖 63 驅(qū)動流程圖 A/D 驅(qū)動 設(shè)計 我們將 A/D 接口看成混雜設(shè)備 [8],其驅(qū)動主要是實(shí)現(xiàn)以下幾部分: 實(shí)現(xiàn)混雜設(shè)備的結(jié)構(gòu),也就是構(gòu)造 struct miscdevice 結(jié)構(gòu); 實(shí)現(xiàn)混雜設(shè)備的操作函數(shù)集,也就是填充 struct file_operation 結(jié)構(gòu),具體的函數(shù)操作集有, open,close,read,write,ioctl 等等;實(shí)現(xiàn)相應(yīng)的中斷處理函數(shù) 由于驅(qū)動是設(shè)計成模塊方式,所以還必須包含 module_init 和 module_exit 函數(shù) ,具體源碼見附錄 4。所謂設(shè)備驅(qū)動程序 [2]就是控制與管理硬件設(shè)備數(shù)據(jù)收發(fā)的軟件,它是應(yīng)用程序與硬件設(shè)備溝通的橋梁。 視頻采集及顯示 程序流程圖如下所示: 圖 62 視頻流程圖 視頻采集過程主要是運(yùn)用 Linux 內(nèi)核本身提供的 Video4linux 編程接口來訪問USB 設(shè)備,由于從攝像頭讀取的數(shù)據(jù)是 YUV4:2:2 格式的,因此還要轉(zhuǎn)化為 QT 支持的圖像格式,程序中是將它轉(zhuǎn)化為 jpeg 格式的圖片數(shù)據(jù)進(jìn)行顯示 ,源碼見附錄3。 圖 61 A/D 采樣流程圖 在線程中每隔一定的時間從 A/D 接口采集數(shù)據(jù),并賦值給 ADC 結(jié)構(gòu)中的 data變量供顯示模塊訪問 ,源碼見附錄 1。 應(yīng)用程序開發(fā) 本課題設(shè)計到的應(yīng)用程序開發(fā) [1,5]主要有以下兩方面:在 Qtopia 環(huán)境下實(shí)現(xiàn)多通道 A/D 采樣及波形顯示和視頻采集及顯示。 在宿主機(jī)上運(yùn)行的是 armlinuxgdb 程序,而在開發(fā)板上運(yùn)行的程序師 gdbserver,兩者通過串口或者網(wǎng)口通訊,完成調(diào)試工作。 解壓: tar –zxvf –C / 將安裝目錄添加到 /etc/profile 文件中: pathmunge /opt/EmbedSky/使 /etc/profile 文件 生效 : source /etc/profile 交叉 調(diào)試工具 我們使用的交叉調(diào)試工具 [6]是 armlinuxgdb: ? 解壓: tar –jxvf ? 配置 armlinuxgdb: ./configure –target=armlinux –prefix=/armlinuxgdb –programprefix=armlinux ? 編譯安裝: make。 交叉編譯工具 在嵌入式開發(fā)過程中,我們往往使用現(xiàn)成的交叉編譯器,這樣大大縮短了開發(fā)周期。嵌入式軟件開發(fā)所采用的編譯為交叉編譯,所謂的交叉編譯就是在一個平臺上生成可以在另一個平臺上執(zhí)行的代碼,一般我們將進(jìn)行交叉編譯的主機(jī)成為宿主機(jī),將程序最終運(yùn)行的環(huán)境稱為目標(biāo)機(jī),由于目標(biāo)機(jī)資源有限,不方便集成開發(fā)環(huán)境的搭建和調(diào)試工具的安裝,因此,嵌入式系統(tǒng)的開發(fā)需要借助宿主機(jī)來生成目標(biāo)程序和調(diào)試可執(zhí)行代碼。make ARCH=arm CROSS_COMPILE=armlinux。mknod –m 666 c 1 3 ? 安裝 etc: tar –zxvf –C /XXX ? 編譯內(nèi)核模塊: make modules ARCH=arm CROSS_COMPILE=armlinux ? 安裝內(nèi)核模塊: make modules_install ARCH=arm INSTALL_MOD_PATH=/XXX ? 編 譯 安 裝 busybox : cd busybox。首先它起到其他 文件系統(tǒng)的“根”的作用,其次它要包含 linux 系統(tǒng)初始化所需的目錄和關(guān)鍵文件,否則即使內(nèi)核成功啟動也無法執(zhí)行其它應(yīng)用程序,無法與用戶交互,整個系統(tǒng)也就無法使用。現(xiàn)在就可以將 linux 內(nèi)核鏡像下載到 NAND Flash 中。 讀寫 NAND FLASH: ? Nand erase 0x30000 0x300000 把 Flash 從地址 0x30000 開 始的長度為0x300000 的區(qū)域擦除; ? Nand write 0x30008000 0x30000 0x300000 把內(nèi)存地址 0x30008000 開始的數(shù)據(jù)寫入 Flash 中從地址 0x30000 開始的區(qū)域,寫入的長度為 0x300000字節(jié); ? Nand read 0x30008000 0x30000 0x300000 把 Flash 中從地址 0x30000 開始的數(shù)據(jù)讀取到內(nèi)存中地址 0x30008000開始的區(qū)域,讀取長度為 0x300000字節(jié)。 本課題中選用的 bootloader 是 UBOOT, 因?yàn)?它支持多處理器、多操作系統(tǒng) ,對 linux 系統(tǒng)的支持最完善。 UBOOT[4]移植 系統(tǒng)的 bootloader 主要是完成兩個階段的工作,第一階段, bootloader 執(zhí)行最基本的硬件初始化操作,如關(guān)中斷、關(guān)閉看門狗以及避免 處理器被復(fù)位、關(guān)閉 MMU和處理器緩存、設(shè)置系統(tǒng)時鐘和初始化內(nèi)存等。 在本課題中主要利用無線通訊芯片 進(jìn)行數(shù)據(jù)的傳輸。衛(wèi)星通信是利用通信衛(wèi)星作為中繼站在地面上兩個或多個地球站之間或移動物體之間建立微波通信聯(lián)系。 通訊模塊 無線傳感網(wǎng)絡(luò)的數(shù)據(jù)傳輸,通過無線通訊技術(shù)實(shí)現(xiàn)簡單,方便,快捷的數(shù)據(jù)轉(zhuǎn)發(fā),現(xiàn)在無線通信技術(shù)的發(fā)展已經(jīng)非常成熟,可利用的技術(shù)有很多。這些資源對于開發(fā)一些嵌入式系統(tǒng)遠(yuǎn)遠(yuǎn)足夠。 TQ2440 開發(fā)板 TQ2440 開發(fā)板主控芯片使用的是韓國三星的 S3C2440,其核心是 ARM920T,實(shí)現(xiàn)了 MMU, AMBA BUS 和哈佛緩存體系結(jié)構(gòu) 。 主控模塊是 TQ2440 開發(fā)板,它提供了 USB 接口,因此只需將 USB 攝像頭接杭州電子科技大學(xué)本科畢業(yè)設(shè)計 16 在其接口上就完成了硬件方面的工作,其主要開發(fā)過程在軟件方面。 CCD 的分辨率高,色彩還原逼真,已經(jīng)成為百萬像素級的數(shù)碼攝影器材里的主角;與 CCD 相比, CMOS 具有節(jié)能及成本低等特點(diǎn),因而中低端攝像頭幾乎全都 采用 CMOS 作為感光元件 。 USB 攝像頭 目前市場上主流攝像頭使用的感光元件 主要是 CCD 何 CMOS 兩種。 A:音頻信號輸出線(綠色線) 注意:當(dāng)信號太強(qiáng),或監(jiān)聽器與揚(yáng)聲器太近時,可能會阻塞,或自激現(xiàn)象,這時把音量關(guān)小,錄音時不受監(jiān)聽音量控制 。 ( 1)本監(jiān)聽器能在 40 度到 20 度的氣溫下長期工作; ( 2)信號輸出引線能長達(dá) 1000 米; ( 3)靜態(tài)電流: ; ( 4)供電電壓: 12v 直流 ( 5)最大不失真輸出信號電壓 ; ( 6)監(jiān)聽場合 100 平方米內(nèi)不會失真。 } ( 5)編輯工程文件 文件 TEMPLATE = app CONFIG = qt warn_on release HEADERS = SOURCES = INTERFACES = ( 6)生成 Makefile 文件 tmake –o Makefile ( 7)編譯鏈接整個工程 make ( 8)生成可執(zhí)行文 件 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 15 5 硬件系統(tǒng)設(shè)計 信號采集模塊 信號的采集主要包括音頻數(shù)據(jù)采樣和視頻數(shù)據(jù)采集,音頻數(shù)據(jù)通過 A/D 接口采樣,視頻數(shù)據(jù)通過 USB 接口采集, A/D 接口外接微音監(jiān)聽器, USB 接口接攝像頭。 ()。 (amp。dlg,SIGNAL(clicked()),amp。 Hello dlg。 Qt/Embedded 常用類 控件屬性類 QChar 類是 Qt 中用于表示一個字符的類,類內(nèi)部用兩個字節(jié)的 Unicode 編碼來表示一個字符; QString 類是 Qt 中用于表示字符串的類,它采用 Unicode 內(nèi)部編碼,可以表示世界上大多數(shù)語言的文字,它的存儲有引用計數(shù),當(dāng)一個 Qstring 對象被復(fù)制為另一個 Qstring 對象時,它們實(shí) 際上指向相同的存儲空間,僅僅是增加了一個引用計數(shù),采用“按需復(fù)制”技術(shù),當(dāng)指向相同存儲空間的多個 Qstring 對象中的一個要被修改時,將真正復(fù)制一個新的字符串并進(jìn)行修改; QPoint 類代表一個坐標(biāo)點(diǎn),它可以認(rèn)為是一個整型的橫坐標(biāo)和一個整型的縱坐標(biāo)的組合; QSize 類代表一個矩形區(qū)域的大小,它可以認(rèn)為是由一個整型的寬度和整型的高度組合而成的; QRect 類代表一個矩形區(qū)域,它可以認(rèn)為是一個 QPoint 對象和一個 QSize 對象的組合, QPoint 對象是它的左上角的坐標(biāo), QSize 對象則是它的大?。? QFont 類代表字體; 常用控件類 QPixmap 類代表圖像 ; QIcon 類代表圖標(biāo),可以是一系列圖像的組合,每個圖像代表窗口的某種狀態(tài)杭州電子科技大學(xué)本科畢業(yè)設(shè)計 13 下應(yīng)該顯示的圖標(biāo); QWidget 類代表一般的窗口,其他的窗口類都是從 QWidget 類集成出來的; Qdialog 類代表普通的對話框; Qlabel 類代表標(biāo)簽,用于顯示文本或圖像的窗口部件; QpushButton 類代表按鈕; QcheckBox 類代表復(fù)選按鈕; QradioButton 類表示單選按鈕; QlineEdit 類表示編輯框; 這些都 是 Qt 開發(fā)過程中常用的控件類, Qt 中還有許多的控件。當(dāng)與其相關(guān)聯(lián)的信號被發(fā)射時,這個插槽就會被調(diào)用。當(dāng)一個信號被發(fā)射時,與其相關(guān)聯(lián)的插槽就將被執(zhí)行,就像一個正常的函數(shù)調(diào)用一樣,信號和插槽機(jī)制完全獨(dú)立與任何 GUI 事件循環(huán)。當(dāng)某個信號對其客戶或所有者內(nèi)部狀態(tài)發(fā)送改變時,信號就被一個對象發(fā)射。 信號和插槽機(jī)制是 Qt 的核心機(jī)制,要精通 Qt
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1