参数资料
型号: 101-0558
厂商: Rabbit Semiconductor
文件页数: 49/94页
文件大小: 0K
描述: COMPUTER SNG BD BL1800 512K SRAM
标准包装: 10
系列: SBC
模块/板类型: 单板计算机模块
适用于相关产品: BL1800
User’s Manual
49
The numbers in the left margin are reference indicators and are not a part of the code.
Load and run the program. Note that LED DS4 flashes once per second. Push button S1
several times and note how LED DS1 is toggled.
The flashing of LED DS4 is performed by the costatement starting at the line marked (2).
Costatements need to be executed regularly, often at least every 25 ms. To accomplish
this, the costatements are enclosed in a while 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 while loop starts at (1) and ends at (7). The function BigLoopTop() is
int vswitch;
// state of virtual switch controlled by button
S1
main(){
// begin main program
// set up parallel port A as output
WrPortI(SPCR,NULL,0x84);
WrPortI(PADR,&PADRShadow,0xff);
// turn off all LEDs
vswitch=0;
// initialize virtual switch off
(1) while (1) {
// Endless loop
BigLoopTop();
// Begin a big endless loop
// first task flash LED DS4 every second for 200 milliseconds
(2)
costate {
// begin a costatement
BitWrPortI(PADR,&PADRShadow,0,3);
// LED DS4 on
(3)
waitfor(DelayMs(200));
// light on for 200 ms
BitWrPortI(PADR,&PADRShadow,1,3);
// LED DS4 off
waitfor(DelayMs(800));
// light off for 800 ms
(4)
}
// end of costatement
// second task - debounce switch #1 and toggle virtual switch vswitch
// check button 1 and toggle vswitch on or off
costate {
(5)
if(BitRdPortI(PBDR,2)) abort;
// if button not down skip out
waitfor(DelayMs(50));
// wait 50 ms
if(BitRdPortI(PBDR,2)) abort;
// if button not still down skip
out
vswitch=!vswitch;
// toggle virtual switch- button was down 50
ms
while (1) {
// wait for button to be off 200 ms
waitfor(BitRdPortI(PBDR,2));
// wait for button to go up
waitfor(DelayMs(200));
// wait for 200 milliseconds
if(BitRdPortI(PBDR,2)) break;
// if button up break
}
// end of while(1)
}
// end of costatement
// make LED agree with vswitch if vswitch has changed
(6)
if( (PADRShadow & 1) == vswitch) {
BitWrPortI(PADR,&PADRShadow,!vswitch,0);
)
(7) }
// end of while loop, go back to start
}
// end of main, never come here
相关PDF资料
PDF描述
396-036-526-204 CARD EDGE 36POS DL .125X.250 BLK
396-036-526-202 CARD EDGE 36POS DL .125X.250 BLK
101-0411 INTERFACE 12KEYDISP ETHNT OP6700
AT24C02A-10PI-2.7 IC EEPROM 2KBIT 400KHZ 8DIP
AT24C02A-10PI-1.8 IC EEPROM 2KBIT 400KHZ 8DIP
相关代理商/技术参数
参数描述
10105584 制造商:Amphenol Corporation 功能描述:10-341374-222 - Bulk
101055OO 制造商:TE Connectivity 功能描述:
101056084S 制造商:Amphenol Aerospace 功能描述:CONNECTOR
101-0561 功能描述:模块化系统 - SOM RCM3400 RABBITCORE RoHS:否 制造商:Digi International 外观尺寸:ConnectCore 9P 处理器类型:ARM926EJ-S 频率:150 MHz 存储容量:8 MB, 16 MB 存储类型:NOR Flash, SDRAM 接口类型:I2C, SPI, UART 工作电源电压:3.3 V 最大工作温度:+ 85 C 尺寸:1.97 in x 1.97 in x 6.1 in
10-105610-02S 制造商:Amphenol Aerospace 功能描述:PLUG