- #include <c8051f120.h>
- void hwrng_init( ) {
- char save = SFRPAGE;
- SFRPAGE = TMR3_PAGE;
- RCAP3L = 0x00;
- RCAP3H = 0x00;
- TMR3CF = 0x08; /* no special features, clock divider = 1 */
- TMR3CN = 0x04; /* enable timer3 in auto-reload mode */
- SFRPAGE = save;
- }
- unsigned short hwrng_random( ) {
- unsigned short ret;
- char save = SFRPAGE;
- SFRPAGE = TMR3_PAGE;
- ret = (TMR3H << 8) | (TMR3L);
- SFRPAGE = save;
- return ret;
- }
Raw Paste