找回密码
 立即注册
查看: 995|回复: 8

如何使用DMA释放CPU

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:434
  • 最近打卡:2025-05-01 20:16:58
已绑定手机

229

主题

328

回帖

1471

积分

金牌会员

积分
1471
发表于 2023-7-29 18:34:03 | 显示全部楼层 |阅读模式
本帖最后由 QQ624353765 于 2023-7-29 18:38 编辑

0`K6KILN$Y_PR6$E}KBSILT.png


DS_BJ是中断标记,spi dma发送完数据中断中会把此位清零


现在是启动DMA发送数据并等待DMA完成发送是正常的,oled屏幕是正常显示的

总觉得这种写法并没有释放CPU

8P~3]DTAHHQ8}{1{[9KN6W8.png


修改下,在发送数据前访问上次数据是否发送完成

把DS_BJ等待标记写在开头,但这样写oled屏幕怎么也点不亮,逻辑也没错,不知道什么原因导致的


如果说第二种写法实现不了,谈何释放CPU

F@[SMG0X0VY(~GD8O$CY}0E.png

还有这个写SPI数据寄存器也是同样的问题,先查询上次是否完成发送,在发送数据也是点不亮oled12864


回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:518
  • 最近打卡:2025-05-01 05:52:49
已绑定手机

46

主题

1694

回帖

2540

积分

金牌会员

积分
2540
发表于 2023-7-30 17:15:20 | 显示全部楼层
if  return可能可以解决你的问题
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:434
  • 最近打卡:2025-05-01 20:16:58
已绑定手机

229

主题

328

回帖

1471

积分

金牌会员

积分
1471
发表于 2023-7-30 17:56:16 | 显示全部楼层
jw*** 发表于 2023-7-30 17:15
if  return可能可以解决你的问题

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2023-12-20 15:16:48 | 显示全部楼层
5个月过去了,,XieZhiLing可以了么 哈哈哈   还是大驼峰呢
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:434
  • 最近打卡:2025-05-01 20:16:58
已绑定手机

229

主题

328

回帖

1471

积分

金牌会员

积分
1471
发表于 2023-12-20 15:29:44 | 显示全部楼层
cofmilk 发表于 2023-12-20 15:16
5个月过去了,,XieZhiLing可以了么 哈哈哈   还是大驼峰呢

不行,硬件问题
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2023-12-20 16:01:01 | 显示全部楼层

硬件问题?那可惜了..板子还是片子?
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:217
  • 最近打卡:2024-11-15 09:12:27

29

主题

722

回帖

2790

积分

荣誉版主

积分
2790
发表于 2023-12-20 17:28:35 | 显示全部楼层
用  if  判断
用while 还是会堵塞。


cpu 往内存 装完数据就想干嘛干嘛
让DMA 自己 发送数据





回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2025-03-03 10:30:04

0

主题

13

回帖

156

积分

注册会员

积分
156
发表于 2024-6-27 10:26:41 来自手机 | 显示全部楼层
用rtos 切另一个任务运行 是这样吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-8-6 12:01:25 来自手机 | 显示全部楼层
magic8421 发表于 2024-6-27 10:26
用rtos 切另一个任务运行 是这样吗?

正解。我觉得如果不这样,阻塞的DMA其实谈不上释放cpu,充其量idle一下低功耗
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 06:21 , Processed in 0.114966 second(s), 111 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表