参数资料
型号: 101-0405
厂商: Rabbit Semiconductor
文件页数: 13/80页
文件大小: 0K
描述: MODULE RABBITCORE RCM2010
标准包装: 1
系列: RabbitCore®
模块/板类型: MPU 核心模块
适用于相关产品: RCM2010
其它名称: 316-1009
16
RabbitCore RCM2000
#define DS2 0
// predefine for LED DS2
#define DS3 1
// predefine for LED DS3
//
This cofunction flashes LED on for ontime, then off for offtime
cofunc flashled[4](int led, int ontime, int offtime) {
for(;;) {
waitfor(DelayMs(ontime));
// on delay
WrPortI(PADR,&PADRShadow,(1<<led)|PADR);
// turn LED off
waitfor(DelayMs(offtime);
// off delay
WrPortI(PADR,&PADRShadow,(1<<led)^0xff&PADR);
// turn LED on
}
main {
// Initialize ports
WrPortI(SPCR,&SPCRShadow,0x84);
// Set Port A all outputs, LEDs on
WrPortI(PEFR,&PEFRShadow,0x00);
// Set Port E normal I/O
WrPortI(PEDDR,&PEDDRShadow,0x01);
// Set Port E bits 7…1 input, 0 output
WrPortI(PECR,&PECRShadow,0x00);
// Set transfer clock as pclk/2
for(;;) {
// run forever
costate {
// start costatement
wfd {
// use wfd (waitfordone) with cofunctions
flashled[0](DS2,200,200);
// flash DS2 on 200 ms, off 200 ms
flashled[1](DS3,1000,500);
// flash DS3 on 1000 ms, off 500 ms
}
// end costatement
}
// end for loop
}
// end of main, never come here
The flashing of the LEDs is performed by the costatement. Costatements need to be exe-
cuted regularly, often at least every 25 ms. To accomplish this, the costatements are
enclosed in a while loop or a for loop. The term while loop is used as a handy way to
describe a style of real-time programming in which most operations are done in one loop.
The costatement is executed on each pass through the big loop. When a waitfor or a wfd
condition is encountered the first time, the current value of MS_TIMER is saved and then
on each subsequent pass the saved value is compared to the current value. If a waitfor
condition is not encountered, then a jump is made to the end of the costatement, and on the
next pass of the loop, when the execution thread reaches the beginning of the costatement,
execution passes directly to the waitfor statement. The costatement has the property that
it can wait for long periods of time, but not use a lot of execution time. Each costatement
is a little program with its own statement pointer that advances in response to conditions.
On each pass through the big loop, as little as one statement in the costatement is exe-
cuted, starting at the current position of the costatement’s statement pointer. Consult the
Dynamic C User’s Manual for more details.
This program also illustrates a use for a shadow register. A shadow register is used to keep
track of the contents of an I/O port that is write only—it can’t be read back. If every time a
write is made to the port the same bits are set in the shadow register, then the shadow reg-
ister has the same data as the port register.
相关PDF资料
PDF描述
101-0404 MODULE RABBITCORE RCM2000
006200505130000+ CONN FFC/FPC 5POS 1MM R/A SMD
006208505110000 CONN FFC/FPC 5POS 1MM ZIF SMD
006208505110000+ CONN FFC/FPC 5POS 1MM ZIF SMD
395-030-541-204 CARD EDGE 30POS DL .100X.200 BLK
相关代理商/技术参数
参数描述
101-0406 功能描述:开发板和工具包 - 其他处理器 Cloning Board RoHS:否 制造商:Freescale Semiconductor 产品:Development Systems 工具用于评估:P3041 核心:e500mc 接口类型:I2C, SPI, USB 工作电源电压:
1010-406 制造商:MISCELLANEOUS 功能描述:
101-040600-14 制造商:Distributed By MCM 功能描述:RJ11 PLUGS STRANDED FLAT WIREPK10
101-040600-24 制造商:Distributed By MCM 功能描述:RJ11 PLUGS SOLID FLAT WIRE PK10
101-040610-14 制造商:Distributed By MCM 功能描述:RJ11 PLUGS STRANDEDROUND WIRE PK10