嵌入式开发中的随机数生成与位数组实现
1. 随机数生成
在嵌入式开发中,随机数的生成是一个常见需求。这里介绍了 xs_randomIntRange 函数,它用于生成指定范围内的随机整数。
1.1 异常情况
在某些情况下,如进行整数除零操作时,会产生 IntegerDivideByZero 异常;在 ESP8266 上,还可能产生 Illegal Instruction 异常,这两种异常都会导致微控制器复位。
1.2 实现代码
#if ESP32
xsmcSetInteger(xsResult, esp_random() % range);
#elif defined(__ets__)
xsmcSetInteger(xsResult,
(*(volatile uint32_t *)0x3FF20E44) % range);
#else
#error Unsupported platform
#endif
1.3 与内置 Math.random 函数对比
| 对比项 | 内置 Math.random 函数 | 原生 randomIntRange 函数 |
|---|---|---|
| 返回值类型 |
超级会员免费看
订阅专栏 解锁全文
21

被折叠的 条评论
为什么被折叠?



