找回密码
 立即注册
查看: 290|回复: 10

pwm模拟dac问题

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:255
  • 最近打卡:2025-04-29 09:38:27

2

主题

13

回帖

337

积分

中级会员

积分
337
发表于 2025-3-5 16:42:25 | 显示全部楼层 |阅读模式
我用的屠龙刀三,下载这个例程程序    38-PWM转DAC,ADC读取DAC电平进行反馈   
只改了 P_SW1 |= 0x40;   然后我能收到数据,
我想进行修改占空比,总是修改不了,不知道什么原因?

用的stclink连接的 ,在stc串口助手里面

微信图片_20250305164058.jpg
回复

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-3-5 16:43:00 | 显示全部楼层
在使用STC单片机进行PWM模拟DAC时,若修改占空比无效,可能涉及以下几个原因:首先,检查PWM相关寄存器配置是否正确,特别是PWM周期和占空比寄存器的设置。其次,确保PWM输出引脚配置无误,P_SW1寄存器仅用于功能引脚切换,需确认PWM输出引脚是否已正确映射。此外,STC单片机的PWM模块可能需在特定模式下工作,如定时器模式或PWM模式,需确认相关模式配置。最后,检查代码逻辑,确保占空比修改后已正确写入寄存器。建议通过调试工具逐步排查,确认各寄存器状态是否符合预期。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-3-5 16:48:00 | 显示全部楼层
关于您提到的PWM模拟DAC问题,首先需要确认PWM的配置是否正确。在STC单片机中,PWM的占空比通常通过修改相应的寄存器来实现。您提到只修改了`P_SW1 |= 0x40;`,这可能是切换了PWM的输出引脚,但并未直接涉及占空比的调整。

建议您检查以下几点:
1. **PWM初始化**:确保PWM模块已正确初始化,包括时钟源、周期和占空比的设置。
2. **占空比寄存器**:确认您修改的是正确的占空比寄存器,如`PWMx_CCR`或类似的寄存器。
3. **寄存器权限**:某些寄存器可能需要特定的权限或操作顺序才能修改,确保没有遗漏。
4. **调试工具**:使用STC提供的调试工具,如STC-ISP,实时监控PWM输出,确认占空比是否实际变化。

若仍有问题,建议查阅STC单片机的用户手册,或联系技术支持获取更详细的配置指导。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2025-3-5 17:31:17 | 显示全部楼层
先烧个串口收发测试的例子到板子上试试,确认串口收发功能是否正常,接线有没有接触不良导致通信异常。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2025-3-5 17:44:46 | 显示全部楼层
修改PWM占空比,要确认P_SW2的最高位为1,才能修改。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:255
  • 最近打卡:2025-04-29 09:38:27

2

主题

13

回帖

337

积分

中级会员

积分
337
发表于 2025-3-6 09:01:22 | 显示全部楼层
C:\Users\Administrator.DESKTOP-E42MH95\Desktop\捕获1.JPG
C:\Users\Administrator.DESKTOP-E42MH95\Desktop\捕获2.JPG 捕获2.JPG


捕获1.JPG

我发现在最新版v6.95g上测试,发送222,后面多了很多数据,所以更新不了,
最新版v6.94上测试,没有问题。


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:255
  • 最近打卡:2025-04-29 09:38:27

2

主题

13

回帖

337

积分

中级会员

积分
337
发表于 2025-3-6 09:05:54 | 显示全部楼层
梁*** 发表于 2025-3-5 17:44
修改PWM占空比,要确认P_SW2的最高位为1,才能修改。

   EAXFR = 1; //扩展寄存器(XFR)访问使能
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2025-3-6 09:07:16 | 显示全部楼层

截图202503060910277295.jpg

截图202503060907143793.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2025-3-6 13:57:03 | 显示全部楼层
你将串口1切换到P1.6、P1.7,还要将P1.6、P1.7设置为准双向口,串口收到数据会提示:
截图202503061356514143.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:255
  • 最近打卡:2025-04-29 09:38:27

2

主题

13

回帖

337

积分

中级会员

积分
337
发表于 2025-3-6 17:07:40 | 显示全部楼层
梁*** 发表于 2025-3-6 13:57
你将串口1切换到P1.6、P1.7,还要将P1.6、P1.7设置为准双向口,串口收到数据会提示:

在最新版v6.95g上测试不行
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 04:17 , Processed in 0.160362 second(s), 113 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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