极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2756|回复: 13

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

[复制链接]
发表于 2017-5-23 12:18:46 | 显示全部楼层 |阅读模式
本帖最后由 弘毅 于 2017-5-24 12:59 编辑

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

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


输出一个固定电压值

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

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


输出正弦波

  1. #define PI 3.1415926535897932384626433832795    //定义常数π

  2. void setup() {

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

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


8f328p dac.jpg
回复

使用道具 举报

 楼主| 发表于 2017-5-23 12:27:15 | 显示全部楼层
补充一下。。。DAC功能需要使用最新的0.0.11支持。。。很快就会更新
回复 支持 反对

使用道具 举报

发表于 2017-5-23 13:22:29 | 显示全部楼层
先赞一个,谢谢楼主的分享
回复 支持 反对

使用道具 举报

发表于 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 ... amp;id=550310897281
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-23 18:07:35 | 显示全部楼层
PINKWALKMAN 发表于 2017-5-23 18:01
主啊,8F328P是国产的芯片吧?找不到在哪买。

淘宝上搜8F328P,只有一家卖芯片的。。。就是LGT官方。
回复 支持 反对

使用道具 举报

发表于 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 | 显示全部楼层
。。。这个示波器是便宜货。。。贵的买不起。。
回复 支持 反对

使用道具 举报

发表于 2017-5-27 09:30:49 | 显示全部楼层
wing 发表于 2017-5-24 10:50
先惊叹一下那款高贵的示波仪

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

串口能分配到不同的管脚去   你可以切换着用   伪双串口!?
回复 支持 反对

使用道具 举报

发表于 2017-5-27 10:53:29 | 显示全部楼层
jike-sean 发表于 2017-5-27 09:30
串口能分配到不同的管脚去   你可以切换着用   伪双串口!?

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

使用道具 举报

发表于 2017-5-27 14:11:32 | 显示全部楼层
wing 发表于 2017-5-27 10:53
居然还有这种功能 !!!
不过这种切换能热触发么?还是说需要重启才能生效么?

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

使用道具 举报

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

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

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2019-3-26 06:56 , Processed in 0.051153 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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