• slider image 442
  • slider image 497
  • slider image 498
  • slider image 499
  • slider image 500
  • slider image 502
:::


Browsing this Thread:   1 Anonymous Users






Re: 請教一些範例程式小問題~~
#2
版主
版主


查看用戶資訊
1.PORTD=(unsigned char)(AD_Result>>2); 為何中間要放unsigned char,假如不放的話會有何影響?

Ans: 因為 AD_Result 是 unsigned int 的資料型態,所以要做型別轉換後再傳給 unsigned char 的 PORTD,這是C的基本觀念,最好自己先讀一些有關 C 的基礎知識。

2.unsigned int AD_Result; 跟上面那行的關係?

Ans: 已說明了

3.OpenPWM2(0xff); 註解是寫set period to 0xFF,但看不懂是啥意思?

Ans: 因為你沒有去看 PWM Module 的方塊圖所以就不了解,要懂得控制PWM & ADC 就須將Data Sheet裡有關周邊的部份理解一下,這樣才會知道為什麼要做這樣的設定。

發表於: 2009/4/21 9:28
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


請教一些範例程式小問題~~
#1
新會員
新會員


查看用戶資訊
因為我還是新手,下面範例程式的小地方看不懂...
1.PORTD=(unsigned char)(AD_Result>>2); 為何中間要放unsigned char,假如不放的話會有何影響?
2.unsigned int AD_Result; 跟上面那行的關係?
3.OpenPWM2(0xff); 註解是寫set period to 0xFF,但看不懂是啥意思?

可以請懂的人為我解答嗎?(越詳細越好,希望能徹底理解...)


#include <p18f4520.h>
#include <adc.h>
#include <pwm.h>
#include <timers.h>

void InitializeAD(void);
void InitializePWM2(void);
void InitializeTMR2(void);
void InitializePORT(void);

unsigned int AD_Result;

void main(void)
{
InitializePORT( );
InitializePWM2( );
InitializeAD( );
InitializeTMR2( );

while(1)
{
ConvertADC();
while(BusyADC());
AD_Result=ReadADC();
SetDCPWM2(AD_Result);
PORTD=(unsigned char)(AD_Result>>2);

}
}




void InitializeAD(void)
{
OpenADC( ADC_FOSC_32
& ADC_RIGHT_JUST
& ADC_4_TAD,
ADC_CH0
& ADC_INT_OFF
& ADC_REF_VDD_VSS,
ADC_1ANA);
}




void InitializePWM2(void)
{
TRISCbits.TRISC1=0;
OpenPWM2(0xff);
}



void InitializeTMR2(void)
{
OpenTimer2(T2_PS_1_4 & T2_POST_1_16);
}



void InitializePORT(void)
{
TRISD=0;
PORTD=0x00;
}

發表於: 2009/4/20 19:56
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

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... ]

教育訓練中心

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