打印

STM32学习笔记之F1产生随机数控制全彩灯

[复制链接]
477|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
大碴子味|  楼主 | 2020-4-25 17:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在捣鼓控制RGB全彩灯的实验;我看了火哥F4板子上的全彩灯程序,是通过随机数发生器产生随机数,然后修改TIM定时器中各通道比较寄存器的值改变占空比控制RGB;但是我用的是F1的,没有F2/F4中那样能够产生随机数的函数;所以借鉴了网上的一些思路。F1产生随机数可以结合C库来实现;主要函数就是srand(unsigned seed)和rand()两个函数,srand(unsigned seed)通过修改seed的值,可以为rand()提供不同的伪随机数数列;rand()函数就可以产生一系列的随机数。而这个种子怎么来,网友给了很多方法,这里可以使用悬空的ADC来实现,如下图一;还有说可以用srand((uint16_t)time(NULL))来作种子源,但是编译的时候会出错。这个方法需要包含time.h,所以我看了下这个头文件,把这个函数改成了srand((uint16_t)clock()),编译通过了,我看了串口,好像也可以产生随机数,具体正确与否,我布吉岛,我是真的很新手,求火哥和友友指点下

使用特权

评论回复

相关帖子

沙发
chen472015439| | 2020-5-9 13:40 | 只看该作者
火哥指的是谁啊?哪里可以找到他的全彩灯程序呢?

使用特权

评论回复
板凳
elecbugkage| | 2020-5-17 09:53 | 只看该作者
控制RGB全彩灯,
这是个有意思的灯

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

372

主题

372

帖子

0

粉丝