当前位置:首页 > 单片机 > 单片机
[导读]最近在做电流型信号输出的项目,遇到了些问题这里把这些解决方法做一个笔记方便以后运用。在搞这个的时候因为手册这部分讲的不是很详细,所以在使用上也遇到了些阻力。用的是64封装的芯, 此芯ADC的基准Vref+和电源是

最近在做电流型信号输出的项目,遇到了些问题这里把这些解决方法做一个笔记方便以后运用。在搞这个的时候因为手册这部分讲的不是很详细,所以在使用上也遇到了些阻力。

用的是64封装的芯, 此芯ADC的基准Vref+和电源是同一个端口,Vref-共用电源地。在电池输出时AD值为0时 取样电阻100欧姆有0.66mA的电流输出,只要在初始化时只要失能端口输出缓冲,输出可到0.0025mA。OK问题就解决了。

1 void AnalogInit(void)

2 {

3 DAC_InitTypeDef DAC_InitStructure;

4 GPIO_InitTypeDef GPIO_InitStructure;

5

6 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA, ENABLE);

7 /* DAC Periph clock enable */

8 RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);

9

10 /* Configure DAC channe1 output pin */

11 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;

12 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

13 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

14 GPIO_Init(GPIOA, &GPIO_InitStructure);

15

16 /* Configure DAC channe1 output pin */

17 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;

18 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

19 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

20 GPIO_Init(GPIOA, &GPIO_InitStructure);

21

22

23 /* DAC channel1 Configuration */

24 DAC_InitStructure.DAC_Trigger = DAC_Trigger_Software;

25 DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;

26 DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable; //输出缓冲失能

27 DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_TriangleAmplitude_4095;

28

29 DAC_Init(DAC_Channel_1, &DAC_InitStructure);

30

31 /* DAC channel2 Configuration */

32 DAC_Init(DAC_Channel_2, &DAC_InitStructure);

33

34 /* Enable DAC Channel1: Once the DAC channel1 is enabled, PA.04 is

35 automatically connected to the DAC converter. */

36 DAC_Cmd(DAC_Channel_1, ENABLE);

37 /* Enable DAC Channel2: Once the DAC channel2 is enabled, PA.05 is

38 automatically connected to the DAC converter. */

39 DAC_Cmd(DAC_Channel_2, ENABLE);

40

41 }

42

43 //端口1AD值更新

44 void DAC1_update(u16 ch1)

45 {

46 ch1 = (ch1 <<4) & 0xfff0;

47 /* Set DAC Channel1 DHR12L register */

48 DAC_SetChannel1Data(DAC_Align_12b_L, ch1);

49

50 /* Start DAC Channel1 conversion by software */

51 DAC_SoftwareTriggerCmd(DAC_Channel_1, ENABLE);

52 }

53

54 void DAC2_update(u16 ch2)

55 {

56 ch2 = (ch2 <<4) & 0xfff0;

57 /* Set DAC Channel2 DHR12L register */

58 DAC_SetChannel2Data(DAC_Align_12b_L, ch2);

59

60 /* Start DAC Channel1 conversion by software */

61 DAC_SoftwareTriggerCmd(DAC_Channel_2, ENABLE);

62 }


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

此次小编所写的文章中所述的电路显示了创建可编程 LED 驱动器更简单的方法,该驱动器非常适用于需要紧凑、可扩展、易于供电和高线性度电源的精确照明控制应用。不过,尺寸必须适应应用的要求,以避免由于各种存在的电感(例如线路电...

关键字: led驱动器 电流转换器 dac

您也许知道,某些DAC包含可在输出端生成基准电压的R2R网络。这些电阻都是精密电阻。它们通常用来根据发送到DAC的数字值切换电流,从而在输出放大器端产生一个电压。采用乘法DAC时,并未集成输出放大器。这就有可能实现某些非...

关键字: dac 电路图

文中将要讨论的所有噪声源,设计人员可能会茫然不知所措。一种简单的做法是采取某种"推荐解决方案";但对任何具体设计要求而言,这都是次优做法。在所有器件特性中,噪声可能是一个特别具有挑战性、难以掌握的设计课题。

关键字: 电源 噪音 dac

    在现代系统集成控制当中,大型的信号切换系统都是各种场所必不可少的,目前主流的信号切换系统包括CREATOR快捷等大型切换系统产品,其中有AV信号切换系统、RGB信号切换

关键字: adi 医疗成像 dac ad5791

  1.绪论   自六十年代以来,许多国家即开始对导航和定位技术的研究。而车辆导航系统即是测量并解算出车辆的瞬时运动状态和位置,提供给驾驶员或自动驾驶仪以实现车辆的正确操纵或控制。车辆导

关键字: dac 视频芯片 cs7123

  引言   根据世界卫生组织公布的数据,全世界目前有3 000多万人目盲,其中约有18%是中国人。针对盲人行动不便的情况,本文介绍了一种基于超声相控阵的盲人避障系统。   本文

关键字: stm32f103 超声相控阵 导盲系统

  随着IPTV和多媒体业务的迅速发展,用户对接入带宽的要求不断增加,目前的铜线接入技术很难满足用户对高带宽、双向传输、及安全性方面的要求。在2010年以前,FTTB是中国主流的FTTx建网模式

关键字: stm32f103 张力传感器

CS43130 DAC 功耗降低了 4 倍,包括一个 NOS 滤波器和 512 单位元,用于自然、高保真的声音再现 ( 2017 年 2 月15 日,奥斯汀,德克萨斯州)—&

关键字: cs43130 dac 音频设备

引言 随着互联网技术、无线通信技术以及生物传感器技术的进一步发展,可供病人在医院、家庭等环境中使用的可穿戴健康监测预警系统已成为国内外研究人员关注的热点。 本文设计了一种应用互联

关键字: stm32f103 互联网 脉搏监测

致力于亚太地区市场的领先半导体元器件分销商---大联大控股宣布,其旗下友尚推出基于意法半导体(ST)STM32F103与德州仪器(TI)CC2564的智能车载双模蓝牙方案WLT2564S。该车载

关键字: stm32f103 蓝牙
关闭
关闭