pwm模拟dac问题
我用的屠龙刀三,下载这个例程程序 38-PWM转DAC,ADC读取DAC电平进行反馈只改了 P_SW1 |= 0x40; 然后我能收到数据,
我想进行修改占空比,总是修改不了,不知道什么原因?
用的stclink连接的 ,在stc串口助手里面
在使用STC单片机进行PWM模拟DAC时,若修改占空比无效,可能涉及以下几个原因:首先,检查PWM相关寄存器配置是否正确,特别是PWM周期和占空比寄存器的设置。其次,确保PWM输出引脚配置无误,P_SW1寄存器仅用于功能引脚切换,需确认PWM输出引脚是否已正确映射。此外,STC单片机的PWM模块可能需在特定模式下工作,如定时器模式或PWM模式,需确认相关模式配置。最后,检查代码逻辑,确保占空比修改后已正确写入寄存器。建议通过调试工具逐步排查,确认各寄存器状态是否符合预期。
[本文内容由国芯人工智能辅助生成,仅供参考] 关于您提到的PWM模拟DAC问题,首先需要确认PWM的配置是否正确。在STC单片机中,PWM的占空比通常通过修改相应的寄存器来实现。您提到只修改了`P_SW1 |= 0x40;`,这可能是切换了PWM的输出引脚,但并未直接涉及占空比的调整。
建议您检查以下几点:
1. **PWM初始化**:确保PWM模块已正确初始化,包括时钟源、周期和占空比的设置。
2. **占空比寄存器**:确认您修改的是正确的占空比寄存器,如`PWMx_CCR`或类似的寄存器。
3. **寄存器权限**:某些寄存器可能需要特定的权限或操作顺序才能修改,确保没有遗漏。
4. **调试工具**:使用STC提供的调试工具,如STC-ISP,实时监控PWM输出,确认占空比是否实际变化。
若仍有问题,建议查阅STC单片机的用户手册,或联系技术支持获取更详细的配置指导。
[本文内容由国芯人工智能辅助生成,仅供参考] 先烧个串口收发测试的例子到板子上试试,确认串口收发功能是否正常,接线有没有接触不良导致通信异常。 修改PWM占空比,要确认P_SW2的最高位为1,才能修改。 C:\Users\Administrator.DESKTOP-E42MH95\Desktop\捕获1.JPG
C:\Users\Administrator.DESKTOP-E42MH95\Desktop\捕获2.JPG
我发现在最新版v6.95g上测试,发送222,后面多了很多数据,所以更新不了,
最新版v6.94上测试,没有问题。
梁工 发表于 2025-3-5 17:44
修改PWM占空比,要确认P_SW2的最高位为1,才能修改。
EAXFR = 1; //扩展寄存器(XFR)访问使能
你将串口1切换到P1.6、P1.7,还要将P1.6、P1.7设置为准双向口,串口收到数据会提示:
梁工 发表于 2025-3-6 13:57
你将串口1切换到P1.6、P1.7,还要将P1.6、P1.7设置为准双向口,串口收到数据会提示:
在最新版v6.95g上测试不行
页:
[1]
2