📄 rng.c
字号:
/*****************************************************************************
* *
* ********** *
* ************ *
* *** *** *
* *** +++ *** *
* *** + + *** *
* *** + CHIPCON CC1010 EXAMPLE PROGRAM *
* *** + + *** Using the random number generator *
* *** +++ *** *
* *** *** *
* *********** *
* ********* *
* *
*****************************************************************************
* This program demonstrates the use of the random number generator. *
* *
* The program uses the random number generator to generate one random byte *
* in each iteration of the infinite while loop. The 4 LSBs are displayed on *
* the LEDs on the board to blink them in a true random way every 0.2 *
* seconds. *
*****************************************************************************
* Author: TEL, JOL *
*****************************************************************************
* Revision history: *
* 1.0 2002/08/29 First Public Release *
* *
* $Log: rng.c,v $
* Revision 1.2 2002/11/19 15:40:01 kht
* Added startup macros
*
* Revision 1.1 2002/10/14 11:08:03 tos
* Initial version in CVS.
*
* *
****************************************************************************/
#include <chipcon/reg1010.h>
#include <chipcon/hal.h>
#include <chipcon/cc1010eb.h>
#define WAIT_TIME 200 // ms
#define RLED_MASK 0x01
#define YLED_MASK 0x02
#define GLED_MASK 0x04
#define BLED_MASK 0x08
//----------------------------------------------------------------------------
// MAIN PROGRAM
//----------------------------------------------------------------------------
void main() {
byte randomNumber;
// Output enable
RLED_OE(TRUE);
YLED_OE(TRUE);
GLED_OE(TRUE);
BLED_OE(TRUE);
// Set optimum settings for speed and low power consumption
MEM_NO_WAIT_STATES();
FLASH_SET_POWER_MODE(FLASH_STANDBY_BETWEEN_READS);
// Loop forever
while (TRUE) {
// Generate a random number
halRandomNumberGen(&randomNumber, 1);
// Change LEDs
RLED = randomNumber & RLED_MASK;
YLED = randomNumber & YLED_MASK;
GLED = randomNumber & GLED_MASK;
BLED = randomNumber & BLED_MASK;
// Wait
halWait(WAIT_TIME, CC1010EB_CLKFREQ);
}
} // main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -