|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
LPC2138-uc/os問題,求助各位高手!急! |
| 作者:cmanning 欄目:ARM技術(shù) |
LPC2138-uc/os問題,求助各位高手!急! 在uc/os for LPC2138模版中: //target.c void Timer0Init(void) { T0IR = 0xffffffff; T0TC = 0; T0TCR = 0x01; T0MCR = 0x03; T0MR0 = (Fpclk / OS_TICKS_PER_SEC); } 此函數(shù)是否通過TIMER0來控制uc/oc系統(tǒng)節(jié)拍? T0IR = 0xffffffff; //此句會(huì)復(fù)位中斷,初始化 //目的是否為獨(dú)占TIMER0,不讓其它程序?qū)c/oc系統(tǒng)節(jié)拍產(chǎn)生影響? //但實(shí)際上只使用了T0MR0? 但是通常我們用T0MR0做定時(shí)器,還要設(shè)置中斷,用MR0中斷來實(shí)現(xiàn), 不只2138是通過何種方式(中斷?)來告知uc/oc?還有其它地方有相關(guān)代碼? 如果我要同時(shí)使用TIMER0的四個(gè)捕獲 在此函數(shù)中加入對CAP的初始化程序, 并有void __irq Timer0_CapInt (void)中斷程序, 我在中斷中只處理CAP相對T0IR中的四位,可行嗎? 這樣做,會(huì)使uc/oc系統(tǒng)時(shí)鐘產(chǎn)生一定的偏差?但偏差不大吧? uc/oc系統(tǒng)基本上不會(huì)有問題吧? * - 本貼最后修改時(shí)間:2006-1-19 14:41:53 修改者:cmanning |
| 2樓: | >>參與討論 |
| 作者: masm311 于 2006/1/19 13:58:00 發(fā)布:
TIME0的中斷函數(shù)里就實(shí)現(xiàn)了OS的時(shí)鐘節(jié)拍! 其它問題你看書吧,你根本沒明白TIMER0是怎么工作的,對OS來說差得更多。 |
|
| 3樓: | >>參與討論 |
| 作者: cmanning 于 2006/1/19 15:07:00 發(fā)布:
急!已作修改,實(shí)現(xiàn)部分設(shè)想,還有問題? 修改uc/os for LPC2138模版中: target.c的TIME0的中斷函數(shù),可以同時(shí)實(shí)現(xiàn)T0的四個(gè)捕獲,一切OK 感覺uc/oc系統(tǒng)時(shí)鐘變慢了,TIME0的中斷函數(shù)原來每秒中斷200次, 每次都多運(yùn)行了我加入的代碼,是不是1秒走不了200次? 2138目前在50M下走,改為60M的話,是否能有改觀? 接著我照著加入了TIMAR1的初始化和中斷函數(shù),就有問題了, 程序一開始就會(huì)進(jìn)TIMAR1的中斷函數(shù),接著就回到main函數(shù)的開頭, 像復(fù)位了,但不是從啟動(dòng)代碼開始的,從main函數(shù)的開頭開始。 這個(gè)現(xiàn)象一般是啥問題? 求助各位高手!急! (masm311 既然很懂,為何不做回答呢?) * - 本貼最后修改時(shí)間:2006-1-19 15:33:51 修改者:cmanning |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |