弘毅 发表于 2017-5-23 12:18:46

ALPHA应用笔记03--8F328P的DAC使用

本帖最后由 弘毅 于 2017-5-24 12:59 编辑

ALPHA 8F328P具有一路8位DAC,我们介绍一下,怎样使用DAC。

需要注意的是,ADC和DAC使用的是同一个基准源,如果你改变基准源的话是两个所参考的基准源同时改变。

输出一个固定电压值

int dac = 4;//定义dac管脚
void setup() {
pinMode(dac, ANALOG); //初始化dac管脚为模拟输出模式
analogReference(INTERNAL2V048);//设置基准源为2.048内部基准
}

void loop() {
analogWrite(dac, 100);//DAC是8位精度,范围是0-255。255就是基准源上限。
}

输出正弦波

#define PI 3.1415926535897932384626433832795    //定义常数π

void setup() {

pinMode(4, ANALOG);   //配置DAC输出
analogReference(INTERNAL4V096);   //内部基准源4.096V
}

void loop()
{
for(float i=0;i<=2;i=i+0.01)    //起始点为0,终止为2π,采样率为0.01
{
float rad=PI*i;   
float Sin=sin(rad);
long intSin=Sin*300;    //将数据放大300倍,取整数
byte val=map(intSin,-300,300,0,255);   //映射至8位DAC精度
analogWrite(4, val);   //DAC输出
}
}


弘毅 发表于 2017-5-23 12:27:15

补充一下。。。DAC功能需要使用最新的0.0.11支持。。。很快就会更新

D19TCI 发表于 2017-5-23 13:22:29

先赞一个,谢谢楼主的分享

PINKWALKMAN 发表于 2017-5-23 18:01:15

主啊,8F328P是国产的芯片吧?找不到在哪买。

迷你强 发表于 2017-5-23 18:02:39

PINKWALKMAN 发表于 2017-5-23 18:01
主啊,8F328P是国产的芯片吧?找不到在哪买。

https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-367519639.16.FoMCW7&id=550310897281

弘毅 发表于 2017-5-23 18:07:35

PINKWALKMAN 发表于 2017-5-23 18:01
主啊,8F328P是国产的芯片吧?找不到在哪买。

淘宝上搜8F328P,只有一家卖芯片的。。。就是LGT官方。

wing 发表于 2017-5-24 10:50:37

先惊叹一下那款高贵的示波仪

不知道LGT是否有40Pin以下双串口的芯片呢?
或者说LZ是否有打算开发微型双串口开发板的想法呢?

弘毅 发表于 2017-5-24 11:35:12

wing 发表于 2017-5-24 10:50
先惊叹一下那款高贵的示波仪

不知道LGT是否有40Pin以下双串口的芯片呢?


貌似没。。。。双串口可能只有32位才会有了吧。。。

弘毅 发表于 2017-5-24 11:35:29

多串口我感觉现阶段还是老老实实2560

弘毅 发表于 2017-5-24 11:35:46

。。。这个示波器是便宜货。。。贵的买不起。。

jike-sean 发表于 2017-5-27 09:30:49

wing 发表于 2017-5-24 10:50
先惊叹一下那款高贵的示波仪

不知道LGT是否有40Pin以下双串口的芯片呢?


串口能分配到不同的管脚去   你可以切换着用   伪双串口!?

wing 发表于 2017-5-27 10:53:29

jike-sean 发表于 2017-5-27 09:30
串口能分配到不同的管脚去   你可以切换着用   伪双串口!?

居然还有这种功能 !!!
不过这种切换能热触发么?还是说需要重启才能生效么?

jike-sean 发表于 2017-5-27 14:11:32

wing 发表于 2017-5-27 10:53
居然还有这种功能 !!!
不过这种切换能热触发么?还是说需要重启才能生效么?

寄存器控制的啊, 修改寄存器的值就行了你看datasheet。端口复用控制寄存器 0- PMX0 0,1位就是控制这个的

wing 发表于 2017-5-27 21:43:18

jike-sean 发表于 2017-5-27 14:11
寄存器控制的啊, 修改寄存器的值就行了你看datasheet。端口复用控制寄存器 0- PMX0 0,1位就是控制这个 ...

还是有风险,
只发不收的应用场景还可以考虑,
如果是用来监听的话,就不太适合了

Jone 发表于 2019-10-5 22:41:42

谢谢分享!
页: [1] 2
查看完整版本: ALPHA应用笔记03--8F328P的DAC使用