OpenEdv-开源电子网

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

STM32与DAC7612进行通讯

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2016-6-16
在线时间
1 小时
发表于 2016-6-16 09:57:41 | 显示全部楼层 |阅读模式
3金钱
void Dac7612_Init(void)
{

GPIO_InitTypeDef  GPIO_InitStructure;
  
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;   
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;   
GPIO_Init(GPIOB, &GPIO_InitStructure);   
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}

void Convert_DAC7612(unsigned int Byte)
{
   char i;
  uint number=0x2000;
LOADDACS =0;
CLK=1;
CS=1;
delay_us(4);

LOADDACS =1;   
delay_us(4);
CS=0;
delay_us(4);
   for(i=0;i<14;i++)
     {
    CLK=0;
    //delay_us(15);
      
    if(Byte&number)                                            
    {
      SDI=1;
        }
         else
         {
      SDI=0;
         }
   
   delay_us(4);
   CLK=1;                                    
   number = number >>1;
   delay_us(4);                  
      
  }
  CS=1;
  delay_us(4);
  LOADDACS =0;
  delay_us(4);
  LOADDACS =1;
   delay_us(4);
}



上面是7612的配置,为什么始终没有模拟输出,DAC是串行输入,但与STM32并没有使用串口,而是使用的普通IO口来模拟。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11552
金钱
11552
注册时间
2014-4-1
在线时间
1317 小时
发表于 2016-6-16 11:01:46 | 显示全部楼层

示波器,测几个管脚的波形。


回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-6-18 20:50:20 | 显示全部楼层
帮顶
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-17 19:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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