View Single Post
Old 07-08-2006, 01:04 AM   #2
frank
Nhập môn đệ tử
 
frank's Avatar
 
Tham gia ngày: Nov 2005
Bài gửi: 9
:
Mình mới tập làm quen với C30 để lập trình cho DSPIC6010, nhưng sao mình thử dủng những VD đơn giản của Microchip như là dùng interrupt_timer1 để làm led chớp tắt, hoặc những VD khác mà ko chương trình nào chạy hết, mình nghĩ là do cách thiết đặt chương trìnhh biên dịch, nhưng đã kiễm tra nhiều lần mà ko tìm ra lỗi, mong những người đi trước có nhiều kinh nghiệm hướng dẫn lại dùm

VD chương trình mẫu của Microchip:
Code:
#define __dsPIC30F6010__ 
#include <p30f6010.h> 
#include<timer.h> 
unsigned int timer_value; 
void _ _attribute_ _((_ _interrupt_ _)) _T1Interrupt(void) 
{ 
PORTDbits.RD1 = 1; 	/* turn off LED on RD1 */
WriteTimer1(0);
IFS0bits.T1IF = 0; 	/* Clear Timer interrupt flag */
} 
int main(void) 
{ 
        unsigned int match_value; TRISDbits.TRISD1 = 0; 
        PORTDbits.RD1 = 1; 	/* turn off LED on RD1 */ /* Enable Timer1 Interrupt and Priority to "1" */ 
	ConfigIntTimer1(T1_INT_PRIOR_1 & T1_INT_ON); 
	WriteTimer1(0); 
        match_value = 0xFFF; 
OpenTimer1(T1_ON & T1_GATE_OFF & T1_IDLE_STOP & T1_PS_1_1 & T1_SYNC_EXT_OFF & T1_SOURCE_INT, match_value); 
/* Wait till the timer matches with the period value */ 
	while(1) 
{ 
timer_value = ReadTimer1(); 
if(timer_value >= 0x7FF) 
{ 
PORTDbits.RD1 = 0; /* turn on LED on RD1 */
}
}
CloseTimer1();
}

thay đổi nội dung bởi: namqn, 07-08-2006 lúc 01:24 AM.
frank vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn