• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::

論壇索引


Board index » All Posts (slipknot)




Re: 如何讀取6個 ADC channel
#11
初級會員
初級會員


謝謝 已經解決
小弟目前用的方法是以單數次進interrupt就讀AN0-AN3
雙數次進interrupt就讀AN4-AN5-AN2-AN3的折衷方式來做
因為在INTERRUPT裡面取完AN0-AN3之後馬上切ADCHS到AN4-AN5的話是會讀不到值的

發表於: 2007/8/1 12:54
頂部


Re: 如何讀取6個 ADC channel
#12
初級會員
初級會員


謝謝回覆,
小弟目前的ADC是依序轉換,而且不需要太快的速度,
我目前的作法是進去中斷後,
1.讀取AN0-AN3,
2.clear ADIF=0,
3.再設定ADCHS=00010001;設定讀取AN4-AN5,
4.GO=1重啟ADC,
5.再作while(ADIF!=1)去等待ADC轉換完成
6.設回ADCHS=00000000; AN0-AN3
7.中斷結束

用此方法並沒有辦法讀到AN4-AN5的值,但AN0-AN3是正常的,所以我想是不是方法或程序上有錯誤的樣子?

發表於: 2007/7/30 19:05
頂部


如何讀取6個 ADC channel
#13
初級會員
初級會員


小弟目前使用p18f4331,擁有9個adc channel,我想要使用其中的六個an0-an5,但我知道可以一次讀取4個channel AN0-AN3(group ABCD),但讀取完之後,要如何再去讀取AN4-AN5這兩個channel呢(group AB)? 是否group ABCD讀完以後,把ADCHS切到AN4 (groupA) AN5 (groupB),再重新GO=1讀取一次呢?這個方式似乎沒有用,以下是小弟程式碼,請各位前輩指教!

ADCHS=0x00; //groupABCD=AN0-AN3
ANSEL0=00111111;
ADIF=0;
ADIE=1;
GIE=1;
ADON=1;
GO=1;

void READ_ADC(void)
{
if(ADIF==1)
{
ACC_STEP=ADRESH; //an0
DEC_STEP=ADRESH; //an1
SPEED_STEP=ADRESH/4; //an2
VOLT_H=ADRESH; //an3
}
ADIF=0;
ADCHS=00010001; //AN4 (groupA) AN5(groupB),
GO=1;
if(ADIF==1)
{
OC=ADRESH; //an4
OT=ADRESH; //an5
}
ADCHS=0x00;
ADIF=0;
GO=1;
}



發表於: 2007/7/30 10:20
頂部


Re: PIC18F1230 programming failed
#14
初級會員
初級會員


謝謝
已經解決,除了VDD VSS之間的0.1u
另外拉線也要直接拉到電源和地而且拉線不能借道

發表於: 2007/6/14 12:51
頂部


Re: pic18f4331 update duty cycle,週期跟著改變?
#15
初級會員
初級會員


終於找到問題!
原來是AVdd,AVss和Vdd,Vss必須要個別接到電源端和地,否則靈異現象會非常的多

發表於: 2007/6/14 9:38
頂部


pic18f4331 update duty cycle,週期跟著改變?
#16
初級會員
初級會員


請教一下各位大大,
我在main裡面有個
while(1)
{
TD_L=TARGET_DUTY;
TD_H=(TARGET_DUTY>>8);
TD_H=TD_H&0x3F;
PDC0H=TD_H;
PDC0L=TD_L;
}

duty cycle會在TMR0 的ISR中有變化,利用while(1)迴圈,我在ISR裡面只要更改TARET_DUTY值就可以修改PDC0H/L的值,但是問題是如果這樣做的話,似乎會影響到PTPERH/L的值,造成週期跟著改變,不曉得為什麼?

發表於: 2007/6/13 11:15
頂部


PIC18F1230 programming failed
#17
初級會員
初級會員


請教各位前輩,小弟的PIC18F1230在用ICD2作DEBUG時,8Mhz~16Mhz是正常的 (OSC MODE選HS),但由於小弟需要時脈跑到40Mhz,因此我就外掛10Mhz crystal(OSC MDOE選HS-PLL),但是一選到HS-PLL後, 燒錄進去時就會出現
ICD0154: Invalid target mode for requested operation (TM = Running)
ICD0275: Programming failed.
ICD2就會出現ERROR燈號, 想請教該如何解決? 到底是IC有問題或是ICD2有問題?謝謝

發表於: 2007/6/8 18:02
頂部


C/asm嵌入object code的問題
#18
初級會員
初級會員


想請教各位先進
目前想把自己作好的library送出去給他人使用
但怕對方不懂link obj/lib的方法,
因此我有聽過可以在C code裡面嵌入自己library的obj code, 弄成一個header, 如此一來只要對方include我的h, 就能使用我的library裡面的function, 但不確定到底詳細方法為何
類似如:
char test()
{
//obj code
0x03 0x56 0x12 0xA0....
0xF1 0x44 0x55 0x66....
....
//---

return value;
}

有沒有前輩能夠指點一下呢? thanx!

發表於: 2007/1/17 11:53
頂部


Re: 關於製作LIBRARY
#19
初級會員
初級會員


那請問我CALL 該obj檔的 c檔中, 需要做include, 或是宣告extern之類的動作嗎?
thanx!

發表於: 2006/12/13 13:24
頂部


Re: 關於製作LIBRARY
#20
初級會員
初級會員


Thanks, 我已經將obj檔產出了,請問在MPLAB環境下,使用該obj的專案要如何將obj檔include進來,小弟是以CCS做COMPILER,請問該如何設定build option或是其他設定?

發表於: 2006/12/12 18:24
頂部



« 1 (2) 3 4 »



:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------