当前位置: 首页 > news >正文

上海网站搭建公司公众号推广合作平台

上海网站搭建公司,公众号推广合作平台,网页设计模板html代码dw,thea wordpress目录 ADC寄存器介绍(F1) ADC控制寄存器 1(ADC_CR1) ADC控制寄存器 2(ADC_CR2) ADC采样时间寄存器1(ADC_SMPR1) ADC采样时间寄存器2(ADC_SMPR2) ADC规则序列寄存器 1(ADC_SQR1) ADC规则序列寄存器 2(ADC_SQR2) ADC规则序列寄存器 3(ADC_SQR3) AD…

目录

ADC寄存器介绍(F1)

ADC控制寄存器 1(ADC_CR1)

ADC控制寄存器 2(ADC_CR2)

ADC采样时间寄存器1(ADC_SMPR1)

ADC采样时间寄存器2(ADC_SMPR2)

ADC规则序列寄存器 1(ADC_SQR1)

ADC规则序列寄存器 2(ADC_SQR2)

ADC规则序列寄存器 3(ADC_SQR3)

ADC规则数据寄存器 (ADC_DR)

ADC状态寄存器(ADC_SR)

​编辑

单通道ADC采集实验配置步骤

相关HAL库函数介绍

关键结构体介绍(F1)

相关HAL库函数介绍

关键结构体介绍


ADC寄存器介绍(F1

ADC控制寄存器 1(ADC_CR1)

         摘自:STM32F10xxx参考手册_V10(中文版).pdf11.12.2

ADC控制寄存器 2(ADC_CR2)

ADC采样时间寄存器1(ADC_SMPR1)

 摘自:STM32F10xxx参考手册_V10(中文版).pdf11.12.4

ADC采样时间寄存器2(ADC_SMPR2)

 摘自:STM32F10xxx参考手册_V10(中文版).pdf11.12.5

ADC规则序列寄存器 1(ADC_SQR1)

 摘自:STM32F10xxx参考手册_V10(中文版).pdf11.12.9

ADC规则序列寄存器 2(ADC_SQR2)

 摘自:STM32F10xxx参考手册_V10(中文版).pdf11.12.10

ADC规则序列寄存器 3(ADC_SQR3)

摘自:STM32F10xxx参考手册_V10(中文版).pdf11.12.11 

ADC规则数据寄存器 (ADC_DR)

摘自:STM32F10xxx参考手册_V10(中文版).pdf11.12.14

ADC状态寄存器(ADC_SR)

单通道ADC采集实验配置步骤

1,配置ADC工作参数、ADC校准

        HAL_ADC_Init()HAL_ADCEx_Calibration_Start()

2ADC MSP初始化

        HAL_ADC_MspInit()     配置NVICCLOCKGPIO

3,配置ADC相应通道相关参数

        HAL_ADC_ConfigChannel()

4,启动A/D转换

        HAL_ADC_Start()

5,等待规则通道转换完成

        HAL_ADC_PollForConversion()

6,获取规则通道A/D转换结果

        HAL_ADC_GetValue()

相关HAL库函数介绍

关键结构体介绍(F1

typedef struct 
{ ADC_TypeDef *Instance; 			/* ADC 寄存器基地址 */ ADC_InitTypeDef Init; 				/* ADC 参数初始化结构体变量 */ DMA_HandleTypeDef *DMA_Handle; 	/* DMA 配置结构体 */…… 
} ADC_HandleTypeDef;
typedef struct{ uint32_t DataAlign; 					/* 设置数据的对齐方式 */ uint32_t ScanConvMode; 				/* 扫描模式 */ FunctionalState ContinuousConvMode; 	/* 开启单次转换模式或者连续转换模式 */ 	uint32_t NbrOfConversion; 				/* 设置转换通道数目 */ FunctionalState DiscontinuousConvMode; 	/* 是否使用规则通道组间断模式 */ uint32_t NbrOfDiscConversion; 			/* 配置间断模式的规则通道个数 */ uint32_t ExternalTrigConv; 				/* ADC 外部触发源选择 */ 
} ADC_InitTypeDef;
typedef struct 
{ uint32_t Channel; 			/* ADC 转换通道*/ uint32_t Rank; 			/* ADC 转换顺序 */ uint32_t SamplingTime; 	/* ADC 采样周期 */ 
}  ADC_ChannelConfTypeDef;

单通道ADC采集(DMA读取)配置步骤

1,初始化DMA

        HAL_DMA_Init()

2,将DMAADC句柄联系起来

        __HAL_LINKDMA()

3,配置ADC工作参数、ADC校准

        HAL_ADC_Init()HAL_ADCEx_Calibration_Start()

4ADC MSP初始化

        HAL_ADC_MspInit()     配置NVICCLOCKGPIO

5,配置ADC相应通道相关参数

        HAL_ADC_ConfigChannel()

6,使能DMA数据流传输完成中断

        HAL_NVIC_SetPriority()HAL_NVIC_EnableIRQ()

7,编写DMA数据流中断服务函数

        DMAx_Channely_IRQHandler()

8,启动DMA,开启传输完成中断

        HAL_DMA_Start_IT()

9,触发ADC转换,DMA传输数据

        HAL_ADC_Start_DMA()

相关HAL库函数介绍

关键结构体介绍

typedef struct 
{ uint32_t Direction; 				/* 传输方向 */ uint32_t PeriphInc; 				/* 外设(非)增量模式 */ uint32_t MemInc; 				/* 存储器(非)增量模式 */ uint32_t PeriphDataAlignment; 	/* 外设数据宽度 */ uint32_t MemDataAlignment; 		/* 存储器数据宽度 */ uint32_t Mode; 					/* 操作模式 */ uint32_t Priority; 				/* DMA通道优先级 */ 
}DMA_InitTypeDef; 

在DMA_HandleTypeDef结构体中

typedef struct __DMA_HandleTypeDef
{DMA_Channel_TypeDef   *Instance;                       /*!< Register base address                  */DMA_InitTypeDef       Init;                            /*!< DMA communication parameters           */ HAL_LockTypeDef       Lock;                            /*!< DMA locking object                     */  HAL_DMA_StateTypeDef  State;                           /*!< DMA transfer state                     */void                  *Parent;                                                      /*!< Parent object state                    */  void                  (* XferCpltCallback)( struct __DMA_HandleTypeDef * hdma);     /*!< DMA transfer complete callback         */void                  (* XferHalfCpltCallback)( struct __DMA_HandleTypeDef * hdma); /*!< DMA Half transfer complete callback    */void                  (* XferErrorCallback)( struct __DMA_HandleTypeDef * hdma);    /*!< DMA transfer error callback            */void                  (* XferAbortCallback)( struct __DMA_HandleTypeDef * hdma);    /*!< DMA transfer abort callback            */  __IO uint32_t         ErrorCode;                                                    /*!< DMA Error code                         */DMA_TypeDef            *DmaBaseAddress;                                             /*!< DMA Channel Base Address               */uint32_t               ChannelIndex;                                                /*!< DMA Channel Index                      */  } DMA_HandleTypeDef;  

通过注册回调函数:(这里注册的是传输完成中断)

DMA_HandleTypeDef g_dma_handle_for_adc_struct;
g_dma_handle_for_adc_struct.XferCpltCallback = XferCpltCallback_for_adc;    

在中断发送时,通过DMA公共处理中断函数,来调用所注册的函数,这样就不需要手动判断传输完成标志位被置1,以及不需要手动清除中断标志位。

注意:使用注册回调函数方法,STM32程序莫名其妙不会进入所注册的回调函数中,所以建议使用寄存器方法
 

void DMA1_Channel1_IRQHandler(void)
{if (DMA1->ISR & (1<<1)){g_adc_dma_sta = 1;DMA1->IFCR |= 1 << 1;}
}

http://www.khdw.cn/news/16273.html

相关文章:

  • 网站建设数据处理青岛网站seo
  • 做网站好吗在线友情链接
  • 网站建设全网址网域ip地址查询
  • 武威 网站建设个人博客登录入口
  • 朝阳做网站哪家公司好seo网站查询
  • 网站开发的课程b站新人视频怎么推广
  • 视频网站视频预览怎么做班级优化大师简介
  • 做网站用什么字体字号百度seo点击
  • 稿定设计网站官网入口提高网站排名的软件
  • 大学两学一做专题网站seo工资
  • 做片头网站推广普通话奋进新征程演讲稿
  • 电子商务型网站网站关键词优化公司
  • 可以建网站的软件爱站网关键词查询工具
  • 网站建设 qq业务网制作跨境电商有哪些平台
  • 做网站前台需要学什么 后台百度资源搜索资源平台
  • 网站建设费用表注册百度账号
  • 广东网站建设公司电话中国疾控卫生应急服装
  • 公司网站对比那几点优势百度指数上多少就算热词
  • 市北区大型网站建设自媒体推广渠道
  • 刚做的网站为什么百度搜不出来链接下载
  • 网络搭建是什么工作semseo是什么意思
  • 步骤的骤怎么写四川整站优化关键词排名
  • 个人网站与企业网站自媒体平台有哪些
  • 文库网站开发建设宁波正规优化seo公司
  • 网站建设网页开发百度推广官网登录
  • 网站建设最新外文翻译杭州网站优化平台
  • 珠海斗门建设局官方网站网络营销的认识
  • 菜鸟学做网站的步骤东莞优化排名推广
  • 做外贸怎么在阿里云建网站关键词优化系统
  • 桥拓云智能建站加入网络营销公司