|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | 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 |
請(qǐng)問(wèn)LPC2114的AD轉(zhuǎn)換大概要多少時(shí)間?大家測(cè)量過(guò)嗎?--恐怖 |
| 作者:flylongins 欄目:ARM技術(shù) |
大家有沒(méi)有測(cè)量過(guò)? 恐怖。。。 我將AD轉(zhuǎn)換的函數(shù)去掉后,發(fā)現(xiàn)程序循環(huán)大概要0.2ms 但是加上這個(gè)ad轉(zhuǎn)換函數(shù)后,發(fā)現(xiàn)程序循環(huán)要67ms。 這里面差335倍。。。怎么回事??? 有解釋嗎? 我的函數(shù)也沒(méi)多少特別呀。。。。 void GatherA(void) { ADC_Data=ADDR; //清零寄存器 ADCR=(ADCR&0xFFFFFF00)|0x02|(1<<24); //選擇AIN1,立即啟動(dòng)轉(zhuǎn)換 while((ADDR&0x80000000)==0); //等待轉(zhuǎn)換結(jié)束 ADCR=ADCR|(1<<24); //再次啟動(dòng)轉(zhuǎn)換 while((ADDR&0x80000000)==0); ADC_Data=ADDR; ADC_Data=(ADC_Data>>6)&0x3FFl; ADC_Data=ADC_Data*3300; ADC_Data=ADC_Data/1024; DelayNS(10); /*轉(zhuǎn)換為角度,660--2640mV,-30--30*/ angleSteer=(fp32)((fp32)ADC_Data-1650)/(fp32)33; } |
| 2樓: | >>參與討論 |
| 作者: xxqarm 于 2006/8/1 10:50:00 發(fā)布:
是否你的延時(shí)和浮點(diǎn)運(yùn)算占用了大量時(shí)間? |
|
| 3樓: | >>參與討論 |
| 作者: flylongins 于 2006/8/1 10:55:00 發(fā)布:
可能是延時(shí)占用了時(shí)間。。。。。 我試了一下。果然占用了不少時(shí)間,呵呵 草率了。 |
|
| 4樓: | >>參與討論 |
| 作者: flylongins 于 2006/8/1 11:00:00 發(fā)布:
去掉延時(shí)行不行? |
|
| 5樓: | >>參與討論 |
| 作者: TRUE_ARM 于 2006/8/1 18:35:00 發(fā)布:
我用的采樣頻率是200K 不是用查詢(xún)方式,定時(shí)方式,發(fā)現(xiàn)沒(méi)有問(wèn)題! |
|
| 6樓: | >>參與討論 |
| 作者: xxqarm 于 2006/8/1 23:49:00 發(fā)布:
還有 把/1024改為>>10,用除法總覺(jué)的不爽,移位快. |
|
| 7樓: | >>參與討論 |
| 作者: 服裝電子 于 2006/8/2 9:23:00 發(fā)布:
2114AD是慢的 請(qǐng)TRUE_ARM定時(shí)方式怎么搞的呀 |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |