參數(shù)資料
型號: 20-101-0383
廠商: Rabbit Semiconductor
文件頁數(shù): 13/80頁
文件大?。?/td> 0K
描述: MODULE RABBITCORE RCM2020
標準包裝: 1
系列: RabbitCore®
模塊/板類型: MPU 核心模塊
適用于相關(guān)產(chǎn)品: RCM2020
產(chǎn)品目錄頁面: 620 (CN2011-ZH PDF)
其它名稱: 316-1082
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.
相關(guān)PDF資料
PDF描述
AT25128N-10SI-2.7 IC EEPROM 128KBIT 3MHZ 8SOIC
345-030-523-201 CARDEDGE 30POS DUAL .100 GREEN
345-030-521-802 CARDEDGE 30POS DUAL .100 GREEN
AT25128-10PI-2.7 IC EEPROM 128KBIT 3MHZ 8DIP
345-030-521-804 CARDEDGE 30POS DUAL .100 GREEN
相關(guān)代理商/技術(shù)參數(shù)
參數(shù)描述
20-101-0389 功能描述:子卡和OEM板 SR9200 16IN/8OUT RoHS:否 制造商:BeagleBoard by CircuitCo 產(chǎn)品:BeagleBone LCD4 Boards 用于:BeagleBone - BB-Bone - Open Source Development Kit
20-101-0390 功能描述:子卡和OEM板 SR9210 8 in/ 16 out RoHS:否 制造商:BeagleBoard by CircuitCo 產(chǎn)品:BeagleBone LCD4 Boards 用于:BeagleBone - BB-Bone - Open Source Development Kit
20-101-0391 功能描述:子卡和OEM板 SR9220 DIG I/O 8IN 8OUT RoHS:否 制造商:BeagleBoard by CircuitCo 產(chǎn)品:BeagleBone LCD4 Boards 用于:BeagleBone - BB-Bone - Open Source Development Kit
20-101-0392 功能描述:子卡和OEM板 SR9300 A/D 0-10V RoHS:否 制造商:BeagleBoard by CircuitCo 產(chǎn)品:BeagleBone LCD4 Boards 用于:BeagleBone - BB-Bone - Open Source Development Kit
20-101-0393 功能描述:子卡和OEM板 SR9400 D/A CARD RoHS:否 制造商:BeagleBoard by CircuitCo 產(chǎn)品:BeagleBone LCD4 Boards 用于:BeagleBone - BB-Bone - Open Source Development Kit