标题: 使用单片机解码433 WS2812灯珠出现异常 别人是如何做到互不影响的 [打印本页]

作者: 我比黑点子更黑    时间: 2024-1-4 11:23
标题: 使用单片机解码433 WS2812灯珠出现异常 别人是如何做到互不影响的
昨天看别人单片机解码433 然后WS2812时序没有受到任何影响,有大师知道如何做到的吗,中断不能使用因为WS2812时序是NS级别

通过波形对比 发现 单片机既在解码 又在发送数据



作者: coody_sz    时间: 2024-1-4 12:03
想多了,没有任何技术含量。
要么MCU自带2812时序,要么就是直接IO驱动、PWM驱动、SPI驱动、串口驱动,都做过,都没有问题,只要保证输出高电平0.3us或0.9us不受影响即可,低电平是可以再50us之内的。
MCU接收遥控信号,处理简单,不会耗什么时间,各种中断只要保证小于50us(加点余量小于30us),就不会影响2812时序。。
作者: Y_G_G    时间: 2024-1-4 22:28
WS2812在发送数据时,关闭中断,不然灯色大概率是会乱的
发送完成之后,再打开中断
看起来好像是效率很低一样,但实际上并没有多大影响
发送一个完整的WS2812数据,可以在20uS以内完成
如果是串口通讯,那就完全有时间检测到串口中断的
如果是SPI通讯,可以把SPI的时钟调低一点




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1