你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 4942|回复: 4

【STM32F0开发日志/评测/笔记】+adc采集和led闪烁

[复制链接]

3

主题

8

回帖

0

蝴蝶豆

初级会员

最后登录
2018-5-11
发表于 2013-12-19 12:16:09 | 显示全部楼层 |阅读模式
 代码修改自库函数例程ADC_LowPower和IO_Toggle,下面是代码:
#define BSRR_VAL        0x0300
 
ADC_InitTypeDef          ADC_InitStructure;
GPIO_InitTypeDef         GPIO_InitStructure;
TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
TIM_OCInitTypeDef        TIM_OCInitStructure;
 
void delay_ms(int i)
{
  int s;
  while(i--)
{
  s=8000;
  while(s--);
}
}
 
int main(void)
{
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
 
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOC, &GPIO_InitStructure);
 
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 ;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
  GPIO_Init(GPIOC, &GPIO_InitStructure);
 
  /* TIM3 Configuration*/
  TIM_DeInit(TIM3);
  
  TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
  
  TIM_OCStructInit(&TIM_OCInitStructure);
    
  /* Time base configuration */
  TIM_TimeBaseStructure.TIM_Period = 0xFF;
  TIM_TimeBaseStructure.TIM_Prescaler = 0x0;
  TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  
  TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
  
  /* TIM3 TRGO selection */
  TIM_SelectOutputTrigger(TIM3, TIM_TRGOSource_Update);
 
  ADC_DeInit(ADC1);
  ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;
  ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
  ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_Rising;    
  ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T3_TRGO;
  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
  ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Upward;
  ADC_Init(ADC1, &ADC_InitStructure); 
  ADC_ChannelConfig(ADC1, ADC_Channel_11 , ADC_SampleTime_28_5Cycles);   
  ADC_GetCalibrationFactor(ADC1);
  ADC_WaitModeCmd(ADC1, ENABLE); 
  ADC_AutoPowerOffCmd(ADC1, ENABLE); 
  ADC_Cmd(ADC1, ENABLE);     
  while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADEN)); 
 
TIM_Cmd(TIM3, ENABLE);
 
  ADC_StartOfConversion(ADC1);
 
  while (1)
  { 
    /* Get ADC1 converted data */
    ADC1ConvertedValue = ADC_GetConversionValue(ADC1);
    
    /* Compute the voltage */
    ADC1ConvertedVoltage = (ADC1ConvertedValue * 3300)/0xFFF;
    /* Set PC8 and PC9 */
    GPIOC->BSRR = BSRR_VAL;
    delay_ms((int)(ADC1ConvertedVoltage/5));
    /* Reset PC8 and PC9 */
    GPIOC->BRR = BSRR_VAL;
    delay_ms((int)(ADC1ConvertedVoltage/5));
  }
}
<
回复

使用道具 举报

307

主题

3125

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-7-17
发表于 2013-12-19 13:21:34 | 显示全部楼层

RE:【STM32F0开发日志/评测/笔记】+adc采集和led闪烁

多谢楼主代码!
 
已添加到社区网友原创汇总:
STM32F030探索套件开发日志,中文教程,使用问答70篇
回复 支持 反对

使用道具 举报

0

主题

2

回帖

0

蝴蝶豆

新手上路

最后登录
2017-5-15
发表于 2016-1-24 22:54:37 | 显示全部楼层
有错,不能用啊!
回复 支持 反对

使用道具 举报

0

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2016-8-9 21:31:28 | 显示全部楼层
这么少?
回复 支持 反对

使用道具 举报

2

主题

62

回帖

6

蝴蝶豆

中级会员

最后登录
2020-8-13
发表于 2018-6-19 22:40:53 | 显示全部楼层
仔细看看,怎么不附件一下呢,楼主
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版