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值可以修改输出正弦波的频率。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部