51uwb.cn

 找回密码
 立即注册
查看: 3710|回复: 5
打印 上一主题 下一主题

有关PWM输出时电压波峰时高时低问题

[复制链接]

3

主题

15

帖子

39

积分

新手上路

Rank: 1

积分
39
跳转到指定楼层
#
发表于 2020-4-14 10:36:14 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 maybe0524 于 2020-4-14 10:45 编辑

我在基站上边移植FreeRTOS使得有多任务处理,我做了如下实验:
1. 只打开PWM输出时,电压峰值稳定
2. 同时打开PWM输出程序,和基站的程序,PWM会变得一会偏高(峰值到3V左右,需要波形图可以下次提供),一会正常(峰值2.8V)。

虽然这个电压波动不影响PWM的使用,但是还想问下有经验的人是怎么回事呢?

源码:https://github.com/maybe524/AIBR ... V1.1_16MHz_V1.3.git
分支:AIBRAIN_RTOS
回复

使用道具 举报

3

主题

15

帖子

39

积分

新手上路

Rank: 1

积分
39
5#
 楼主| 发表于 2020-4-15 10:26:50 | 只看该作者
tuzhuke 发表于 2020-4-14 21:01
与你另外问题一样

你移植到FreeRTOS,但是目前这个工程,测距过程不能打断,一定会出现问题。

多谢回复。我先尝试使用DMA的方式做个试验看看效果如何,在按照你的方式试试吧。
不过话说PWM是硬件产生的,不用CPU参与,怎么会出现峰值变化呢?
回复

使用道具 举报

3

主题

15

帖子

39

积分

新手上路

Rank: 1

积分
39
地板
 楼主| 发表于 2020-4-15 10:25:29 | 只看该作者
多谢回复。我先尝试使用DMA的方式做个试验看看效果如何,在按照你的方式试试吧。
回复

使用道具 举报

73

主题

249

帖子

7015

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7015
板凳
发表于 2020-4-14 21:01:46 | 只看该作者
与你另外问题一样

你移植到FreeRTOS,但是目前这个工程,测距过程不能打断,一定会出现问题。
建议你用我们另外一套开源框架做FreeRTOS移植。
http://51uwb.cn/forum.php?mod=vi ... &extra=page%3D1
回复

使用道具 举报

73

主题

249

帖子

7015

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7015
沙发
发表于 2020-4-14 20:57:59 | 只看该作者
maybe0524 发表于 2020-4-14 15:43
我发现这个串口的打印还会影响到程序的稳定性?

while (!((status_reg = dwt_read32bitreg(SYS_STATUS_I ...

你串口打印占用太多时间了
这个测距是一气呵成的,串口打印时候可能正好错过了接收信息。

测距过程调试尽量使用LED灯指示,测距完成可以用慢速设备打印
回复

使用道具 举报

3

主题

15

帖子

39

积分

新手上路

Rank: 1

积分
39
楼主
 楼主| 发表于 2020-4-14 15:43:13 | 只看该作者
我发现这个串口的打印还会影响到程序的稳定性?

while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & (SYS_STATUS_RXFCG | SYS_STATUS_ALL_RX_ERR))) {};
// 比如在这里打印一个LOG,程序会一直在截图里边的地方转悠?
aibrain_dbug("step 5, send one frame, frame_seq_nb: %05d, TAG_ID: %d", frame_seq_nb, TAG_ID);

微信图片_20200414154152.png (13.46 KB, 下载次数: 1990)

微信图片_20200414154152.png
回复

使用道具 举报

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

本版积分规则

bphero Inc.  

GMT+8, 2024-9-28 23:25 , Processed in 0.014943 second(s), 6 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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