打印
[STM32F1]

STM32F100C8T6B DAC输出---测试输出正常!

[复制链接]
5384|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xfcjava2|  楼主 | 2015-2-12 23:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


STM32F100C8T6B   DAC输出:

    有个项目要求:4路控温输出+2路DAC输出。在选择芯片功能的同时,考虑到价格等等因素,

就决定使用STM32F100C8T6B。

     在购买芯片之前,就先到网上搜搜看,有关这个芯片的使用情况。结果是一搜,网上也是

议论很多,好多的都是出现没有DAC输出的情况。

     现在芯片买回来了,就赶紧测试一番,毕竟这一款芯片,原先没有使用过。看重的就是这款

芯片的价格优势,还有就是具有2路12bit的DAC输出。

    结果是按照我原来使用STM32F103VCT6的程序,测试完全正常,在此列出来,跟大家共享。

    特别强调的是,芯片的型号是 :STM32F100C8T6B (封装:LQFP-48).

   (因为网上议论纷纷的是不带后缀B的没有这个DAC输出的功能,


   自己没有购买不带后缀B的芯片,也无法测试,在此声明一下)


  配置函数如下:


/****************************************************************************
* 功 能: STM32F100C8T6: DAC初始化函数
*-------------------------------------------------------------------------------------------------------------------------*
* 入口参数: None
* 出口参数: None
****************************************************************************/
void STM32F100_DAC_Init(void)
{
   GPIO_InitTypeDef GPIO_InitStructure;
   DAC_InitTypeDef DAC_InitStructure;

  //开启GPIOA和DAC的时钟。注意GPIOA的时钟是在APB2,而DAC的时钟则是在APB1
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //开启GPIOA时钟
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE); //开启虳AC的时钟


  //PA.4---DAC1_OUT; PA.5---DAC2_OUT;
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

  DAC_InitStructure.DAC_Trigger = DAC_Trigger_None;//选择DAC的触发输出,当产生波形时可用定时器触发
  DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
  DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable;

  DAC_Init(DAC_Channel_1, &DAC_InitStructure); //初始化DAC通道1
  DAC_Init(DAC_Channel_2, &DAC_InitStructure); //初始化DAC通道2

  DAC_Cmd(DAC_Channel_1, ENABLE); //使能DAC通道1输出
  DAC_Cmd(DAC_Channel_2, ENABLE); //使能DAC通道2输出
}

/****************************************************************************
* 功 能: STM32F100C8T6: DAC输出电压函数
*-----------------------------------------------------------------------------------------------------------------------*
* 入口参数: vt-----输出的电压数值
* 出口参数: None
****************************************************************************/
void DAC_Voltage_OutPut(float vt)
{
  u16 md;
  float mt;

  mt=vt*4096/3.3; //DAC参考电压:VDDA=3.3V
  md=(float)mt;

  DAC_SetChannel1Data(DAC_Align_12b_R,md);
  DAC_SetChannel2Data(DAC_Align_12b_R,md);
}



void  main(void)
{

    SystemInit();   

    STM32F100_DAC_Init();
       
    DAC_Voltage_OutPut(1.5);  
       
    Delay(5000); //延时5s
       
    DAC_Voltage_OutPut(2.4);

    while(1) {

    }

}






沙发
戈卫东| | 2015-2-13 09:06 | 只看该作者
能省多少钱?

使用特权

评论回复
板凳
zhaoyu2005| | 2015-2-13 11:59 | 只看该作者
不带B的真的没DAC,这个可以确定。
LS,STM32F100C8T6B,小批量价格6块多,如果大批量的更便宜。看看外置的12位DAC最便宜多少钱

使用特权

评论回复
地板
搞IT的| | 2015-2-14 19:08 | 只看该作者
现在都不敢大量批发了啊

使用特权

评论回复
5
Alisa_song| | 2015-6-14 12:09 | 只看该作者
楼主,你好,你的这个程序DAC能正常工作吗?你是采用什么方式触发DAC的?还有你测试的时候DAC是不是只转换一次吗?

使用特权

评论回复
6
xfcjava2|  楼主 | 2015-6-14 12:36 | 只看该作者
当然能正常工作了,不然的话,我还能骗大家吗!

使用特权

评论回复
7
xfcjava2|  楼主 | 2015-6-14 12:36 | 只看该作者
DAC输出,一直是正常的

使用特权

评论回复
8
FAQ| | 2015-6-14 15:06 | 只看该作者
zhaoyu2005 发表于 2015-2-13 11:59
不带B的真的没DAC,这个可以确定。
LS,STM32F100C8T6B,小批量价格6块多,如果大批量的更便宜。看看外置的 ...

STM32F100C8T6B   这个是有DAC的,你说的不带B指的是什么。

使用特权

评论回复
9
zhaoyu2005| | 2015-6-15 08:01 | 只看该作者
FAQ 发表于 2015-6-14 15:06
STM32F100C8T6B   这个是有DAC的,你说的不带B指的是什么。

100C8T6不带DAC,100C8T6B带DAC

使用特权

评论回复
10
FAQ| | 2015-6-15 23:59 | 只看该作者
zhaoyu2005 发表于 2015-6-15 08:01
100C8T6不带DAC,100C8T6B带DAC

居然还有这种说法?我一直看型号只看到100C8T6,你说的B看手册说是Internal code。这个从来没有注意过,这个官方又给出文档吗。另外你所说的带B和不带B的除了DAC有无的区别,还有其他的区别吗。

使用特权

评论回复
11
zhaoyu2005| | 2015-6-16 08:39 | 只看该作者
FAQ 发表于 2015-6-15 23:59
居然还有这种说法?我一直看型号只看到100C8T6,你说的B看手册说是Internal code。这个从来没有注意过, ...

不是有这种说法,是有这种版本差别,不知现在还有没不带B的,反正早两年有,我被坑过一次。其他的差别不清楚,懒得深究,只要没大的差异,我也不太关心。
听说不带B的是101的核

使用特权

评论回复
12
rojum32| | 2015-7-17 17:21 | 只看该作者
现在用的都是STM32F100C8T6B,不知版主是否还有这方面需求?

使用特权

评论回复
13
rosewoman| | 2015-10-8 11:33 | 只看该作者
请问下,100和103的时钟初始化不同吧。

使用特权

评论回复
14
lmc123ms| | 2015-12-28 13:20 | 只看该作者
为什么我,测试不正常啊?还有哪里需要改?

使用特权

评论回复
15
chuangyuwei| | 2015-12-28 13:46 | 只看该作者
现在一般都是有带B的,我是做ST芯片的,深圳创宇微科技有限公司,林小娜,QQ:461275865 ,电话:13530880023。可以联系哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

453

帖子

42

粉丝