当前位置: 首页 > news >正文

LL库实现SPI MDA发送方式驱动WS2812

1,首先打卡STM32CubeMX,配置一下工程,这里使用的芯片是STM32F030F4P6。

时钟

SPI外设

SPI DMA

下载接口,这个不配置待会下程序后第二次就不好下载调试了。

工程配置,没啥说的

选择生成所有文件

将驱动都改为LL库

然后直接点击 General Code

2,初始化dma:

void ws2812_init(void) { LL_DMA_SetPeriphAddress(DMA1,LL_DMA_CHANNEL_3,LL_SPI_DMA_GetRegAddr(SPI1)); LL_DMA_SetMemoryAddress(DMA1,LL_DMA_CHANNEL_3,(uint32_t)ledBuffer); LL_DMA_EnableIT_TC(DMA1, LL_DMA_CHANNEL_3); LL_SPI_EnableDMAReq_TX(SPI1); // 启用SPI LL_SPI_Enable(SPI1); }

这里卡了一会,原因就是忽略了 LL_SPI_EnableDMAReq_TX(SPI1);函数,导致dma不发送

,在这里我们设置了外设地址和内存地址,然后打开了传世完成中断,这个在后面的传输中会用来检测是否传输完成。

3,发送数据

void ws2812b_show(uint8_t num) { if (num > LED_COUNT) num = LED_COUNT; // 等待上一次传输完成 while (LL_DMA_IsEnabledChannel(DMA1, LL_DMA_CHANNEL_3)); LL_DMA_SetM2MDstAddress(DMA1, LL_DMA_CHANNEL_3, (uint32_t)ledBuffer); // 启动DMA传输 LL_DMA_SetDataLength(DMA1, LL_DMA_CHANNEL_3, num * 24); LL_DMA_EnableChannel(DMA1, LL_DMA_CHANNEL_3); // 等待传输完成 while (LL_DMA_IsEnabledChannel(DMA1, LL_DMA_CHANNEL_3)); LL_mDelay(1); }

下一步我们去填充数据就行了。

http://www.jsqmd.com/news/719003/

相关文章:

  • 搞定移动端H5页面那些烦人的默认手势:iOS Safari与Android Chrome全兼容方案
  • 2026雨水井篦子厂家及选型指南:基于陕西市场与合规的行业研报 - 深度智识库
  • SpringBoot+Vue项目里,我是这样用双Token让用户‘无感’登录的(附完整代码)
  • 过节礼品卡闲置无用,五一用喵权益盘活天猫超市卡更划算 - 喵权益卡劵助手
  • 量子退火与QUBO编码的热力学原理及优化实践
  • 保姆级教程:用改良版API解决GPT-SoVITS中英混合与标点切分难题
  • Steam成就管理器:5分钟解锁所有游戏成就的终极指南
  • 别再死记硬背了!用‘官能团’这把钥匙,轻松解锁有机化学命名与反应规律
  • 国内主流消毒设备厂家实测排行 聚焦合规性与场景适配 - 奔跑123
  • 讲讲广西兴辉腾管业,合作案例多不多,人才储备够不够,靠谱不 - 工业品牌热点
  • HarmonyOS 6 Progress组件设置定制内容区使用文档
  • VSCode里写数学公式PPT太香了!Marp插件搭配LaTeX语法完全指南
  • 3步解决RTranslator模型下载慢:告别数小时等待,5分钟快速部署
  • OnmyojiAutoScript技术解析:基于事件驱动的阴阳师自动化框架设计与实现
  • 互联网大厂 Java 求职面试:音视频应用的技术挑战
  • 2026年分析定制桶装水,找哪家能快速联系 - 工业品牌热点
  • 2026源头地磅生产工厂梳理:数字式地磅/物联网地磅/防雷地磅/无基坑地磅/移动式地磅厂家推荐选购指引 - 品牌推荐大师1
  • .NET 9 AOT+容器化边缘部署:实测启动提速87%、内存降42%,这6个参数你调对了吗?
  • 对象切片和解决方案
  • 闲置百联 OK 卡别放着了,这样处理更省心 - 团团收购物卡回收
  • 2026年西藏装配式建筑深度横评:拉萨集成房屋与高原绿色建材完全选购指南 - 优质企业观察收录
  • DDrawCompat完整指南:在Windows 11上轻松修复经典老游戏兼容性问题
  • 2026年淄博处理合伙纠纷律师怎么选,朋友合伙开店股权分配策略分享 - 工业品牌热点
  • 从苹果到柯达:盘点那些藏在手机相机里的经典色度降噪(CNR/UVNR)专利
  • LayUI表单提交时,如何优雅地获取并处理级联选择器(省市区)的选中值?
  • 拆解博世、大陆的EMB方案:自增力机构如何省下83%的能耗?
  • 别再只ping了!用Nmap这5个隐藏技巧,快速摸清内网主机存活状态
  • Go语言的runtime.GOMAXPROCS
  • 5分钟掌握layerdivider:AI图像分层工具让设计效率提升10倍
  • 聊聊2026年床垫源头厂家选哪家好,床垫个性化定制需求如何满足 - 工业品牌热点