打印
[STM32F0]

关于ad转化PWM的问题,再求1问

[复制链接]
1494|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jmworkspace|  楼主 | 2014-5-20 14:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟现在想用stm32f0 adc_dma固件库源码adc_dma的函数。通过公式将数据处理成PWM的占空比、频率,再从stm32 tim1的通道1输出波形。请问 这个pwm 频率与占空比该如何计算,还有DMA是用哪个数据去处理。 小弟刚玩stm32,见怪莫怪。~
沙发
airwill| | 2014-5-20 14:55 | 只看该作者
这个问题不好说, 或者说, 这是你自己的方案问题, 想怎么处理就怎么处理.
根据想要的效果来设置, 我觉得这只是个纯数学的问题.

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
jmworkspace + 2
板凳
jmworkspace|  楼主 | 2014-5-20 15:04 | 只看该作者
  while (1)
  {
               
    /* Test DMA1 TC flag */
    while((DMA_GetFlagStatus(DMA1_FLAG_TC1)) == RESET );
   
    /* Clear DMA TC flag */
    DMA_ClearFlag(DMA1_FLAG_TC1);
   
    /* Convert temperature sensor voltage value in mv */
    TempSensVoltmv = (uint32_t)((RegularConvData_Tab[0]* 3300) / 0xFFF);
   
    /* Convert Vref voltage value in mv */
    VrefIntVoltmv  = (uint32_t)((RegularConvData_Tab[1]* 3300) / 0xFFF);  
  }
}
这个代码是源固件的主函数,但是不知道这TempSensVoltmv 、VrefIntVoltmv  这2个变量是否可以直接用来当作占空比或者频率什么的?如果要转换该怎么转换?小弟尽力网上搜也找不到很多的资源也~。最近小弟一直在研究这板的低级问题。作为应届实习生,实在有辱大家程序员的脸也~ 哎 可惜小公司 而且没人带 自己接触的芯片,网上资源随可能多。但是因为工作安排实在没那么多时间都开~ 最近都在恶补~

使用特权

评论回复
地板
jmworkspace|  楼主 | 2014-5-20 15:04 | 只看该作者
airwill 发表于 2014-5-20 14:55
这个问题不好说, 或者说, 这是你自己的方案问题, 想怎么处理就怎么处理.
根据想要的效果来设置, 我觉得这只 ...

数据部知道拿哪个来处理

使用特权

评论回复
5
airwill| | 2014-5-20 15:14 | 只看该作者
做占空比, 当然可以.
这个数值应该 16 精度就足够了.
看你的 PWM 周期怎么定, 这两个数值就可以直接写入 CCRx 中.
当然为了精度和分辨度, 可以优化这个处理.
怎么优化, 这只是数学问题

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
jmworkspace + 2 很给力!
6
jmworkspace|  楼主 | 2014-5-20 15:24 | 只看该作者
airwill 发表于 2014-5-20 15:14
做占空比, 当然可以.
这个数值应该 16 精度就足够了.
看你的 PWM 周期怎么定, 这两个数值就可以直接写入 CC ...

我是有1个信号产生器,所以我想频率还有占空比都由那个信号发生器控制,这个要不要加中断呢?如果我是想通过信号发生器的调频、调整占空比的话?
目前我可以用TIM3作为频率、占空比捕捉然后从TIM1输出,而且这个我是做了中断处理的,是可以实时观察波形调整变化的。但是因为只有一个TIM可以供我使用,所以我才考虑用AD来做输入捕捉的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

45

帖子

0

粉丝