参数资料
型号: 20-101-0435
厂商: Rabbit Semiconductor
文件页数: 20/100页
文件大小: 0K
描述: MODULE RABBITCORE RCM2110
标准包装: 1
系列: RabbitCore®
模块/板类型: MPU 核心模块
适用于相关产品: RCM2110
产品目录页面: 620 (CN2011-ZH PDF)
其它名称: 316-1086
20
RabbitCore RCM2100
3.1.4.2 FLASHLEDS.C
In addition to Dynamic C’s implementation of C-language programming for embedded
systems, it supports assembly-language programming for very efficient processor-level
control of the module hardware and program flow. This application is similar to
FLASHLED.C
and TOGGLELEDS.C, but uses assembly language for the low-level port
control within cofunctions, another powerful multitasking tool.
Dynamic C permits the use of assembly language statements within C code. This program
creates three functions using assembly language statements, then creates a C cofunction to
call two of them. That cofunction is then called within main().
Within each of the C-like functions, the #asm and #endasm directives are used to indicate
the beginning and end of the assembly language statements.
In the function initialize_ports( ), port A is initialized to be all outputs while bit 0
of port E is initialized to be an output.
In the function ledon(), a 0 is written to the port A bit corresponding to the desired LED
(0, which equals DS3, or 1 which equals DS4), turning that LED on. The ledoff( )
function works exactly the same way except that a 1 is written to the bit, turning the
selected LED off.
Finally, in the cofunction flashled(), the LED to be flashed, the on time in millisec-
onds, and the off time in milliseconds are passed as arguments. This function uses an end-
less for(;;) loop to call the ledon() and ledoff() functions, separated by calls to
the wait function DelayMs(). This sequence will make the indicated LED flash on and
off.
As is proper in C program design, the contents of main() are almost trivial. The program
first calls initialize_ports(), then begins an endless for(;;) loop. Within this
loop, the program:
1. Calls the library function hitwd(), which resets the microprocessor’s watchdog timer.
(If the watchdog timer is not reset every so often, it will force a hard reset of the sys-
tem. The purpose is to keep an intermittent program or hardware fault from locking up
the system. Normally, this function is taken care of by the virtual driver, but it is called
explicitly here).
2. Sets up a costatement which calls two instances of the flashled() function, one for
each LED. Note that one LED is flashed one second on, one-half second (500 ms) off,
while the other is flashed in the reverse pattern.
Note also the wfd keyword in the costatement. This keyword (an abbreviation for wait-
fordone
, which can also be used) must be used when calling cofunctions. For a complete
explanation, see Section 5 and 6 in the Dynamic C User’s Manual.
More Information
See the entries for the hitwd() and DelayMs() functions in the Dynamic C User’s
Manual, as well as those for the directives #asm and #endasm. For a complete explana-
相关PDF资料
PDF描述
345-030-527-801 CARDEDGE 30POS DUAL .100 GREEN
AT25640N-10SI-2.7 IC EEPROM 64KBIT 3MHZ 8SOIC
345-030-527-204 CARDEDGE 30POS DUAL .100 GREEN
AT25640-10PI-2.7 IC EEPROM 64KBIT 3MHZ 8DIP
345-030-527-202 CARDEDGE 30POS DUAL .100 GREEN
相关代理商/技术参数
参数描述
20-101-0436 功能描述:模块化系统 - SOM RCM2120 RabbitCore Module 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
20-101-0437 功能描述:子卡和OEM板 SR9205 16 in/8 out RoHS:否 制造商:BeagleBoard by CircuitCo 产品:BeagleBone LCD4 Boards 用于:BeagleBone - BB-Bone - Open Source Development Kit
20-101-0439 功能描述:模块化系统 - SOM SR9215 SRC 8IN 16OUT 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
20-101-0440 功能描述:模块配件 SR9510 Relay 8 RoHS:否 制造商:Lantronix 产品: 用于:
20-101-0444 功能描述:子卡和OEM板 SR9320 A/D 4-20mA RoHS:否 制造商:BeagleBoard by CircuitCo 产品:BeagleBone LCD4 Boards 用于:BeagleBone - BB-Bone - Open Source Development Kit