STM32F103RC—DAC输出正弦波

1.RCC SYS配置 

 

 

2.开通DAC的DAM

定时器2控制

3.打开定时器

 

 4.时钟配置

 5.单片机最大时钟频率72MHZ

利用工具箱生成正弦波码表(我用的是72个点)

uint16_t sinData[72]={2136,2314,2490,2663,2830,2992,3147,3293,3430,3556,3671,3773,3863,3938,3999,4045,4076,
4092,4092,4076,4045,3999,3938,3863,3773,3671,3556,3430,3293,3147,2992,2830,2663,
2490,2314,2136,1958,1780,1604,1431,1264,1102,947,801,664,538,423,321,231,
156,95,49,18,2,2,18,49,95,156,231,321,423,538,664,801,
947,1102,1264,1431,1604,1780,1958};

 在while(1)前的begin和end之间添加如下两行代码:

HAL_TIM_Base_Start(&htim2);
HAL_DAC_Start_DMA(&hdac,DAC_CHANNEL_1, (uint32_t *)sinData, 72,DAC_ALIGN_12B_R);

 上面两段代码:

第一句:打开定时器二

第二句:利用DAC输出正弦波函数

6.输出正弦波的频率

f=7200000/72/(arr+1)

通过修改定时器arr值可以修改输出正弦波的频率。

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值