OpenEdv-开源电子网

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

使用官方的例子无法产生三角波

[复制链接]

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2013-8-24
在线时间
0 小时
发表于 2013-8-24 13:19:52 | 显示全部楼层 |阅读模式

#include "stm32f10x.h"

DAC_InitTypeDef            DAC_InitStructure;
TIM_TimeBaseInitTypeDef    TIM_TimeBaseStructure;

void RCC_Configuration(void);
void GPIO_Configuration(void);
void Delay(__IO uint32_t nCount);


int main(void)
{
  RCC_Configuration();  

  GPIO_Configuration();


  TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
  TIM_TimeBaseStructure.TIM_Period = 0xF;         
  TIM_TimeBaseStructure.TIM_Prescaler = 0xF;      
  TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;   
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; 
  TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);


  TIM_SelectOutputTrigger(TIM2, TIM_TRGOSource_Update);


  DAC_InitStructure.DAC_Trigger = DAC_Trigger_T2_TRGO;
  DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_Triangle;
  DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_TriangleAmplitude_2047;
  DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable;
  DAC_Init(DAC_Channel_1, &DAC_InitStructure);

  DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_TriangleAmplitude_1023;
  DAC_Init(DAC_Channel_2, &DAC_InitStructure);

  DAC_Cmd(DAC_Channel_1, ENABLE);
  DAC_Cmd(DAC_Channel_2, ENABLE);
  DAC_SetDualChannelData(DAC_Align_12b_R, 0x100, 0x100);
  TIM_Cmd(TIM2, ENABLE);

  while (1)
  {
  }
}

void RCC_Configuration(void)
{   
  SystemInit();
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);

  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
}

void GPIO_Configuration(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_4 | GPIO_Pin_5;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
}


void Delay(__IO uint32_t nCount)
{
  for(; nCount != 0; nCount--);
}

我用是3.0库里面的例子 MDK是4.2.2 我用软件仿真的时候无三角波产生 请问是什么原因?
还有就是有时候软件仿真的时候 给示波器加管脚总是提示未知信号?
新手求指导,谢谢!


 

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

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2013-8-24
在线时间
0 小时
 楼主| 发表于 2013-8-25 10:08:54 | 显示全部楼层
请问有高手能帮忙解答下吗
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-25 22:49:08 | 显示全部楼层
菜鸟要先学会搜索论坛!!!
http://www.openedv.com/posts/list/20259.htm
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2013-8-24
在线时间
0 小时
 楼主| 发表于 2013-8-26 09:49:21 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
原子哥 我看不出和你给的有什么区别 但是就是没有三角波出来
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-26 13:53:57 | 显示全部楼层
你用别人的代码直接试试了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2013-8-24
在线时间
0 小时
 楼主| 发表于 2013-8-26 17:21:22 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
谢谢原子哥 

有个问题还想请教下 

如果用管脚来接收红外,仅仅是判断有人或无人的情况 那是不是只要把那个管脚设置成上拉输入 

然后if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_0) == 1)来判断可不可以
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-26 18:40:24 | 显示全部楼层
回复【6楼】smallC:
---------------------------------
可以。最好用中断吧。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-14 12:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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