//******************************************************************** // Ver 1.0 // 2020.03.05 1、新建文件。 //******************************************************************** #include "config.h" static INT16U s_hwRandomSeed = 0xAA55; static INT8U s_chRandomTable[] = { 0x12, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF, 0xF1, 0xE2, 0xD3, 0xC4, 0xB5, 0xA6, 0x97, 0x88 }; //初始化初值 void RAND_Seeed(INT16U Value) { s_hwRandomSeed ^= Value; } //生成16位随机数 INT16U RAND_Generate(void) { INT16U *ptr = (INT16U *)&s_chRandomTable[s_hwRandomSeed & 0x0e]; *ptr += s_hwRandomSeed; s_hwRandomSeed ^= *ptr; return(*ptr); }