你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
STM32 HAL库使用SPI+DMA驱动WS2812优化方案
[复制链接]
waiman
发布时间:2018-2-6 15:03
阅读主题, 点击返回1楼
赞
1
收藏
28
评论
77
分享
发布时间:2018-2-6 15:03
请先
登录
后回答问题
77个回答
九子帝王
回答时间:2019-7-10 16:42:08
a0a.1 32b0c
正要用这个
赞
评论
回复
支持
反对
sujido
回答时间:2019-7-19 10:36:52
a0a.1 32b0c
学习了,谢谢分享
赞
评论
回复
支持
反对
aabb000
回答时间:2019-7-30 16:38:37
a1024a.1 32b0c
谢谢分享!
赞
评论
回复
支持
反对
HQS
回答时间:2019-8-24 16:59:45
a0a.1 32b0c
移植到其他芯片上,不运行不知道是什么问题。
赞
评论
回复
支持
反对
js4136
回答时间:2019-9-20 10:36:18
a0a.1 32b0c
多谢楼主,下载下来看看
赞
评论
回复
支持
反对
generalcircuits
回答时间:2019-9-20 15:29:57
a0a.1 32b0c
非常好的想法,感谢分享
赞
评论
回复
支持
反对
Eric.shi
回答时间:2019-10-31 12:26:06
a1024a.1 32b0c
感谢提供
赞
评论
回复
支持
反对
cruse
回答时间:2019-12-3 00:38:52
a4a.1 32b0c
是不是PWM双缓冲(或者HT/TC双中断)的占用空间会更少一些?
赞
评论
回复
支持
反对
Yv-Yu
回答时间:2019-12-5 23:56:10
a0a.1 32b0c
首先膜拜一下大佬,感谢大佬的分享,然后想请教一下各位,下面这段代码的实现是个啥意思啊,scale是干啥的啊?
" l0 s( q6 s- B. h& j7 ?7 b2 h
void Sw28_SetBrightness(SW28_HandleTypeDef *swObj, uint8_t b)
' j; M+ C: C% B6 |- P
{
0 P& o- D% P3 h0 P& }
uint8_t newBrightness = b + 1;
2 z5 Y! H4 Z) {% l/ ]) n! C/ P `
uint8_t oldBrightness = swObj->Brightness - 1; // De-wrap old brightness value
( a% _$ S8 d; `& f
uint32_t c;
5 R( y0 X% N9 {5 g5 }2 T0 E
uint16_t scale,i;
: h( U6 W7 A0 L% y5 `) n9 w
if(newBrightness != swObj->Brightness)
- l8 |4 ~4 l1 X$ p9 k6 h
{ // Compare against prior value
* o) \: f' M- U+ {6 t5 b; p
// Brightness has changed -- re-scale existing data in RAM
7 _# o6 F3 ^ i5 t2 t# d, R6 E
- d) {8 C* m+ x# _% v1 r" @ X
if(oldBrightness == 0)
8 I# t8 T3 e7 ?5 r! J
scale = 0; // Avoid /0
7 C0 C5 Y7 v% }2 k4 X# U' Y3 [
else if(b == 255)
0 T; a) y, ], r* z+ R
scale = 65535 / oldBrightness;
9 l( n9 ]4 k9 c& _8 W E
else
$ \) W: S/ ?+ o7 R# v$ G- p7 M0 d& a
scale = (((uint16_t)newBrightness << 8) - 1) / oldBrightness;
" c' \# i2 k: X& c, Z
) O- W9 G g+ @+ _+ N; I3 |
for(i=0; i<swObj->PixelLen; i++)
3 b0 e T2 O- M" U' f$ {9 P
{
. g C) n% M: R: \6 S% V% o
c = Sw28_GetPixelColor(swObj,i); //获取16bit颜色
- {4 c5 u$ \6 G# s% ^% l* f: f
c = Sw28_ScaleColor(scale, c);
; _$ P9 Q/ F8 g8 a/ a! M7 |
Sw28_SetPixelsColor(swObj,i,c);//设置颜色
$ p+ c4 O% ~6 C, x; L
}
4 {. y' w: k0 I% U" S. B
swObj->Brightness = newBrightness;
$ T% p4 Q. X K; ?, `# |
}
2 s+ k' \, Q! x& Q: f# b
}
; d F) Q+ _ \% ]
+ O: C ^. M% ~7 {% n( N3 A
, {+ b# T1 \/ @/ h* ^1 n' x$ y& p
赞
评论
回复
支持
反对
_zw_
回答时间:2020-2-13 21:49:32
a4a.1 32b0c
正在学习,参考一下,感谢分享
赞
评论
回复
支持
反对
_zw_
回答时间:2020-2-14 09:37:25
a4a.1 32b0c
下载不了还扣了金币,怎么办
赞
评论
回复
支持
反对
奇怪的叶子
回答时间:2020-4-4 23:12:19
a1024a.1 32b0c
感谢分享
赞
评论
回复
支持
反对
奇怪的叶子
回答时间:2020-4-4 23:13:03
a1024a.1 32b0c
感谢分享
赞
评论
回复
支持
反对
枯雪
回答时间:2020-4-5 18:20:46
a4a.1 32b0c
请问F103的Baud Rate是9MBits/s是不是不能满足,我尝试相同的设置,只有白光
赞
评论
回复
支持
反对
vanaua
回答时间:2020-5-6 10:25:28
a0a.1 32b0c
不错不错,受教了
赞
评论
回复
支持
反对
1
2
3
4
5
6
/ 6 页
下一页
所属标签
相似分享
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
void Sw28_SetBrightness(SW28_HandleTypeDef *swObj, uint8_t b)' j; M+ C: C% B6 |- P
{0 P& o- D% P3 h0 P& }
uint8_t newBrightness = b + 1;2 z5 Y! H4 Z) {% l/ ]) n! C/ P `
uint8_t oldBrightness = swObj->Brightness - 1; // De-wrap old brightness value( a% _$ S8 d; `& f
uint32_t c;5 R( y0 X% N9 {5 g5 }2 T0 E
uint16_t scale,i;: h( U6 W7 A0 L% y5 `) n9 w
if(newBrightness != swObj->Brightness) - l8 |4 ~4 l1 X$ p9 k6 h
{ // Compare against prior value* o) \: f' M- U+ {6 t5 b; p
// Brightness has changed -- re-scale existing data in RAM
- d) {8 C* m+ x# _% v1 r" @ X
if(oldBrightness == 0)
scale = 0; // Avoid /07 C0 C5 Y7 v% }2 k4 X# U' Y3 [
else if(b == 255) 0 T; a) y, ], r* z+ R
scale = 65535 / oldBrightness;9 l( n9 ]4 k9 c& _8 W E
else
scale = (((uint16_t)newBrightness << 8) - 1) / oldBrightness;" c' \# i2 k: X& c, Z
) O- W9 G g+ @+ _+ N; I3 |
for(i=0; i<swObj->PixelLen; i++)
{
c = Sw28_GetPixelColor(swObj,i); //获取16bit颜色 - {4 c5 u$ \6 G# s% ^% l* f: f
c = Sw28_ScaleColor(scale, c);
Sw28_SetPixelsColor(swObj,i,c);//设置颜色$ p+ c4 O% ~6 C, x; L
}
swObj->Brightness = newBrightness;$ T% p4 Q. X K; ?, `# |
}
}
+ O: C ^. M% ~7 {% n( N3 A