diff options
Diffstat (limited to 'test/boost/randtest.c')
-rw-r--r-- | test/boost/randtest.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/test/boost/randtest.c b/test/boost/randtest.c new file mode 100644 index 0000000..812dfd6 --- /dev/null +++ b/test/boost/randtest.c @@ -0,0 +1,48 @@ +/* + Random number generator sample for BoostC compiler. + Use the 'Led Block' plugin to see + changing random value on port B. +*/ + +#include <system.h> +#include <rand.h> + +#pragma CLOCK_FREQ 20000000 + +// Set configuration word +#ifdef _PIC16 + #pragma DATA 0x2007, _HS_OSC & _WDT_OFF +#endif //_PIC16 + + +void main() +{ + trisb = 0; //configure port B + portb = 0; + +#ifdef _PIC16 + option_reg = 7; //set prescaler + + set_bit( intcon, GIE ); + set_bit( intcon, T0IE ); //enable TMR0 overflow bit +#else + clear_bit( t0con, T0CS ); // select internal clock + clear_bit( t0con, PSA ); // select pres-scaler + set_bit( t0con, T0PS0 ); // set pres-scaler to 1:256 + set_bit( t0con, T0PS1 ); + set_bit( t0con, T0PS2 ); + + // enable interrupts + set_bit( intcon, GIE ); + set_bit( intcon, TMR0IE ); //enable TMR0 overflow bit +#endif + + //Set ramdom number generator seed + srand( 0x1234 ); + + while( 1 ) //endless loop + { + portb = rand(); + delay_ms( 100 ); + } +} |