OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4834|回复: 6

这是原子哥发的通过DMA传输DAC产生1kHZ正弦波的程序

[复制链接]

1

主题

10

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2021-2-19
在线时间
7 小时
发表于 2021-2-21 16:28:03 | 显示全部楼层 |阅读模式
3金钱
outdata=2047*(1+sin(inc*i));      这条语句中乘以2047是什么意思DAC_DMA_Config(DMA1_Channel3,(u32)&DAC->DHR12R1,(u32)DAC_SIN_BUF,DAC_SIN_SIZE);      DAC_SIN_BUF是数组为什么没加中括号呢
TIM3->DIER|=1<<8;   这条语句是干什么用的




实验22 DMA实验-1K正弦波DAC输出.rar

366.44 KB, 下载次数: 100

最佳答案

查看完整内容[请看2#楼]

sin返回值为-1~+1的小数,12位DAC输出为0~4095,自己算一下。 数组名是指针 C语言的位运算了解一下
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

3397

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8669
金钱
8669
注册时间
2020-5-11
在线时间
4135 小时
发表于 2021-2-21 16:28:04 | 显示全部楼层
sin返回值为-1~+1的小数,12位DAC输出为0~4095,自己算一下。
数组名是指针
C语言的位运算了解一下
专治疑难杂症
回复

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2021-2-19
在线时间
7 小时
 楼主| 发表于 2021-2-22 13:07:55 | 显示全部楼层
LcwSwust 发表于 2021-2-21 16:28
sin返回值为-1~+1的小数,12位DAC输出为0~4095,自己算一下。
数组名是指针
C语言的位运算了解一下

感谢大哥指点,小弟还有个疑惑,u16  DAC_SIN_BUF[DAC_SIN_SIZE]是个16位数组,DMA传输数据是8位,传到DAC是12位,这不冲突吗
回复

使用道具 举报

12

主题

3397

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8669
金钱
8669
注册时间
2020-5-11
在线时间
4135 小时
发表于 2021-2-22 13:14:26 | 显示全部楼层
victory123 发表于 2021-2-22 13:07
感谢大哥指点,小弟还有个疑惑,u16  DAC_SIN_BUF[DAC_SIN_SIZE]是个16位数组,DMA传输数据是8位,传到DA ...

傲游截图20210222131352.jpg
这个?注释写错了
专治疑难杂症
回复

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2021-2-19
在线时间
7 小时
 楼主| 发表于 2021-2-22 13:20:38 | 显示全部楼层
LcwSwust 发表于 2021-2-22 13:14
这个?注释写错了

小白看不太懂,哪边错了
回复

使用道具 举报

12

主题

3397

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8669
金钱
8669
注册时间
2020-5-11
在线时间
4135 小时
发表于 2021-2-22 14:09:16 | 显示全部楼层
victory123 发表于 2021-2-22 13:20
小白看不太懂,哪边错了

从代码看,是16位的,没问题,看注释就被误导了。
byte、word、HalfWord了解一下,或者查看一下:
DMA_PeripheralDataSize_HalfWord的定义
DMA_Init函数中对DMA_PeripheralDataSize的使用
单片机手册中DMA相关寄存器的定义
傲游截图20210222140840.jpg
傲游截图20210222140852.jpg
专治疑难杂症
回复

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2021-2-19
在线时间
7 小时
 楼主| 发表于 2021-2-22 17:30:14 | 显示全部楼层
LcwSwust 发表于 2021-2-22 14:09
从代码看,是16位的,没问题,看注释就被误导了。
byte、word、HalfWord了解一下,或者查看一下:
DMA_ ...

好的,我明白了,谢谢大哥
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 00:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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