參數(shù)資料
型號: DSPIC30F2010
英文描述: dsPIC?Language Tools Getting Started
中文描述: dsPIC數(shù)字信號?語言工具入門
文件頁數(shù): 37/56頁
文件大?。?/td> 2612K
代理商: DSPIC30F2010
Tutorial 2 - Real-Time Interrupt
2003 Microchip Technology Inc.
DS70094B-page 33
A main routine and an interrupt service routine may need to be written. The most
complex routine is the interrupt service routine. It is executed when Timer 1 counts
down 0x1388 cycles. It increments a counter
sticks
at each of these 1 ms interrupt
until it exceeds one thousand. Then it increments the
seconds
variable in the
RTclock
structure and resets
sticks
. This routine should count time in seconds. In
the section labelled “
START OF INTERRUPT SERVICE ROUTINES
” where a template
for the _
T1Interrupt()
code is written, replace the comment
/* Interrupt Service Routine code goes here */
with these lines of code (added code is bold):
EXAMPLE 3-5:
INTERRUPT SERVICE ROUTINE
There are three sample interrupt functions in the template file. Comment out
_INT0Interrupt()
because it uses two of the template file sample variables and, as
a result, will not compile.
_ADCInterrupt()
can be commented out too, since it will
not be used in this tutorial.
By comparison to the Timer 1 interrupt code, the
main()
code is simple. Type this in
for the body, replacing the line “
/* code goes here */
” (added code is bold):
EXAMPLE 3-6:
MAIN CODE
The
main()
code is simply a call to our Timer 1 initialization routine, followed by an
infinite loop, allowing the Timer 1 interrupt to function. Typically, an application that
made use of this timer would be placed in this loop in place of this test variable,
main_counter.
/* Interrupt Service Routine 2 */
/* Fast context save (using push.s and pop.s) */
void __attribute__((__interrupt__, __shadow__)) _T1Interrupt(void)
{
static int sticks=0;
irq_counter++;
if (RTclock.timer > 0)
RTclock.timer -= 1;
/* if timer is active */
/* decrement it */
RTclock.ticks++;
/* increment ticks counter */
if (sticks++ == 1000)
{
sticks = 0;
RTclock.seconds++;
}
/* if time to rollover */
/* clear seconds ticks */
/* and increment seconds */
IFS0bits.T1IF = 0;
/* clear interrupt flag */
}
/* Interrupt Service Routine 3: INT0Interrupt */
/* Save and restore variables var1, var2, etc. */
/************* START OF MAIN FUNCTION ***************/
int main ( void )
{
reset_clock();
for (;;)
main_counter++;
}
/****** START OF INTERRUPT SERVICE ROUTINES *********/
相關(guān)PDF資料
PDF描述
DSR180-12-14 Single output 30W~180W
DSR180-48-24 Single output 30W~180W
DSR30-12-24 Single output 30W~180W
DSR30-12-48 Single output 30W~180W
DSR30-15-24 Single output 30W~180W
相關(guān)代理商/技術(shù)參數(shù)
參數(shù)描述
DSPIC30F2010 DEVELOPMENT BOARD KIT 功能描述:BOARD DEV FOR DSPIC30F2010 RoHS:否 類別:編程器,開發(fā)系統(tǒng) >> 通用嵌入式開發(fā)板和套件(MCU、DSP、FPGA、CPLD等) 系列:- 標(biāo)準(zhǔn)包裝:1 系列:PICDEM™ 類型:MCU 適用于相關(guān)產(chǎn)品:PIC10F206,PIC16F690,PIC16F819 所含物品:板,線纜,元件,CD,PICkit 編程器 產(chǎn)品目錄頁面:659 (CN2011-ZH PDF)
DSPIC30F2010 DEVELOPMENT KIT 功能描述:KIT DEV EMBEDDED C RoHS:否 類別:編程器,開發(fā)系統(tǒng) >> 通用嵌入式開發(fā)板和套件(MCU、DSP、FPGA、CPLD等) 系列:- 標(biāo)準(zhǔn)包裝:1 系列:PICDEM™ 類型:MCU 適用于相關(guān)產(chǎn)品:PIC10F206,PIC16F690,PIC16F819 所含物品:板,線纜,元件,CD,PICkit 編程器 產(chǎn)品目錄頁面:659 (CN2011-ZH PDF)
DSPIC30F2010_08 制造商:MICROCHIP 制造商全稱:Microchip Technology 功能描述:High-Performance, 16-bit Digital Signal Controllers
DSPIC30F2010_11 制造商:MICROCHIP 制造商全稱:Microchip Technology 功能描述:16-bit Digital Signal Controllers
dsPIC30F2010-20E/MM 功能描述:數(shù)字信號處理器和控制器 - DSP, DSC 16B MCU DSP 28LD 30MIPS 12KB FLASH RoHS:否 制造商:Microchip Technology 核心:dsPIC 數(shù)據(jù)總線寬度:16 bit 程序存儲器大小:16 KB 數(shù)據(jù) RAM 大小:2 KB 最大時鐘頻率:40 MHz 可編程輸入/輸出端數(shù)量:35 定時器數(shù)量:3 設(shè)備每秒兆指令數(shù):50 MIPs 工作電源電壓:3.3 V 最大工作溫度:+ 85 C 封裝 / 箱體:TQFP-44 安裝風(fēng)格:SMD/SMT