参数资料
型号: 151-0153
厂商: Rabbit Semiconductor
文件页数: 88/162页
文件大小: 0K
描述: ASSEMBLY - RABBITFLEX CABLES
标准包装: 1
系列: RabbitFLEX™
附件类型: 缆线组件
适用于相关产品: BL300F
We will now go through each part of this new while loop in detail:
while (1) {
costate {
// Check if a switch has been pressed
do {
flexDigInGroup16(switches, &switch_values);
} while (switch_values == 0x00);
Like before, we use a costatement to make implementing debouncing easier. Now notice the
flexDigInGroup16() function call. Like flexDigOutGroup16() , this function takes an array
of Flex_IOPin pointers. However, the second parameter is a pointer to an unsigned integer.
flexDigInGroup16() places the values read from the digital inputs into this unsigned integer
( switch_values , in this case). This is done in much the same way that the outputs are used in
flexDigOutGroup16() . That is, the value read from the first input in the group is placed in the least
significant bit in the unsigned integer; the second input value is placed in the next least significant bit; etc.
Note that having a do/while loop in a costatement is not an efficient design for cooperative multitasking,
since the costatement would not yield until a switch has been pressed. In a real-world application, busy
waiting such as this should be replaced with a waitfor statement and a function call to code that would
check for the switch press and return.
Notice that we are reading the switch inputs until one of the switches has been pressed. Because we read
the values in a group, we can check all switches simultaneously.
// Determine which switch was pressed
value = 1;
switch_pressed = switches;
led = leds;
switchnum = 1;
while (!(value | switch_values)) {
value <<= 1;
switch_pressed++;
led++;
switchnum++;
}
// switch_pressed now indicates which pin was pressed
Next, we must inspect the switch_values unsigned integer to determine which switch was pressed. To
do this, we use the value variable to check against each bit of switch_values . That is, we change
the bit that is set within the variable value in each iteration of the loop. By ORing the value variable
against switch_values , we can determine if the corresponding switch has been pressed.
82
Applications Programming
相关PDF资料
PDF描述
1515738-1 INSERT ASSEMBLY 1 CHANNEL
1515739-1 INSERT ASSEMBLY, 2 X 1310
1515740-1 INSERT ASSEMBLY 4 CHANNEL
1515747-1 INSERT ASSEMBLY 4 CHANNEL
1515867-1 PROTECTIVE CAP,PLUG CONN.
相关代理商/技术参数
参数描述
151-01530 功能描述:RATCHET P CLAMP SIZE A SOFT INSE 制造商:hellermanntyton 系列:- 零件状态:新产品 配件类型:插件 配套使用产品/相关产品:Ratchet P 夹,6.2mm-13.7mm 捆扎直径 材料:热塑性塑胶(TPE) 特性:- 标准包装:100
151-01531 功能描述:RATCHET P CLAMP SIZE B SOFT INSE 制造商:hellermanntyton 系列:- 零件状态:新产品 配件类型:插件 配套使用产品/相关产品:Ratchet P 夹,13.2mm-19.5mm 捆扎直径 材料:热塑性塑胶(TPE) 特性:- 标准包装:100
151-01532 功能描述:RATCHET P CLAMP SIZE C SOFT INSE 制造商:hellermanntyton 系列:- 零件状态:新产品 配件类型:插件 配套使用产品/相关产品:Ratchet P 夹,19.2mm-36mm 捆扎直径 材料:热塑性塑胶(TPE) 特性:- 标准包装:100
151-01533 功能描述:RATCHET P CLAMP SIZE D SOFT INSE 制造商:hellermanntyton 系列:- 零件状态:新产品 配件类型:插件 配套使用产品/相关产品:Ratchet P 夹,35.1mm-51mm 捆扎直径 材料:热塑性塑胶(TPE) 特性:- 标准包装:100
151-01554 功能描述:WIDE STRAP ADHESIVE MOUNT BLK 制造商:hellermanntyton 系列:* 零件状态:在售 标准包装:3,000