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

企炬网站织梦配置手机网站

企炬网站,织梦配置手机网站,网站建设实训心得php,期货网站做模拟接线图#xff1a; #include stm32f10x.h // Device header//1: 开启RCC时钟#xff0c;包括ADC和GPIO的时钟//2#xff1a;配置GPIO将GPIO配置为模拟输入模式//3#xff1a;配置多路开关将左边的通道接入到规则组中//4#xff1a;配置ADC转… 接线图 #include stm32f10x.h // Device header//1: 开启RCC时钟包括ADC和GPIO的时钟//2配置GPIO将GPIO配置为模拟输入模式//3配置多路开关将左边的通道接入到规则组中//4配置ADC转换器单次转换连续转换扫描还是非扫描//5开关控制调用ADC_COM参数ADC配置完成就能正常工作 void AD_Init(void){ // void RCC_ADCCLKConfig(uint32_t RCC_PCLK2); RCC_ADCCLKConfig配置ADCCLK分频器 // void ADC_DeInit(ADC_TypeDef* ADCx); 恢复缺省配置 // void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct); Init初始化 // void ADC_StructInit(ADC_InitTypeDef* ADC_InitStruct); 结构体初始化 // void ADC_Cmd(ADC_TypeDef* ADCx, FunctionalState NewState); 给ADC上电 // void ADC_DMACmd(ADC_TypeDef* ADCx, FunctionalState NewState); 开始DMA输出信号 // void ADC_ITConfig(ADC_TypeDef* ADCx, uint16_t ADC_IT, FunctionalState NewState); // 中断输出控制 // void ADC_ResetCalibration(ADC_TypeDef* ADCx); 复位校准 // FlagStatus ADC_GetResetCalibrationStatus(ADC_TypeDef* ADCx);获取复位校准状态 // void ADC_StartCalibration(ADC_TypeDef* ADCx); 开始校准 // FlagStatus ADC_GetCalibrationStatus(ADC_TypeDef* ADCx); 获取开始校准状态 // void ADC_SoftwareStartConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState); ADC软件开始转换函数用于软件触发的函数 // FlagStatus ADC_GetSoftwareStartConvStatus(ADC_TypeDef* ADCx); ADC获取软件开始转换状态 // void ADC_DiscModeChannelCountConfig(ADC_TypeDef* ADCx, uint8_t Number); 配置间断模式每隔几个通道间断一次 // void ADC_DiscModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState); 是否启用间断模式 // void ADC_RegularChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime); ADC规则组通道配置 // void ADC_ExternalTrigInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState); ADC外部触发转换控制是否允许外部触发转换 // uint16_t ADC_GetInjectedConversionValue(ADC_TypeDef* ADCx, uint8_t ADC_InjectedChannel); ADC获取外部触发转换值 // uint16_t ADC_GetConversionValue(ADC_TypeDef* ADCx); 获取ADC转换的数据寄存器读取电平转换结果需要使用这个函数 // uint32_t ADC_GetDualModeConversionValue(void); ADC_获取双模式转换值ADC双模式读取转换结果的函数 // 以下的三个函数是对模拟看门狗进行配置的函数第一个是是否启动模拟看门狗第二个是配置高低阈值第三个是配置看门的通道 // void ADC_AnalogWatchdogCmd(ADC_TypeDef* ADCx, uint32_t ADC_AnalogWatchdog); // void ADC_AnalogWatchdogThresholdsConfig(ADC_TypeDef* ADCx, uint16_t HighThreshold, uint16_t LowThreshold); // void ADC_AnalogWatchdogSingleChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel); // void ADC_TempSensorVrefintCmd(FunctionalState NewState); ADC温度传感器内部参考电压控制 // 以下的4个函数第一个是获取标志位状态第二个是清除标志位第三个获取中断状态第四个清除中断挂起位 // FlagStatus ADC_GetFlagStatus(ADC_TypeDef* ADCx, uint8_t ADC_FLAG); // void ADC_ClearFlag(ADC_TypeDef* ADCx, uint8_t ADC_FLAG); // ITStatus ADC_GetITStatus(ADC_TypeDef* ADCx, uint16_t ADC_IT); // void ADC_ClearITPendingBit(ADC_TypeDef* ADCx, uint16_t ADC_IT);} AD.C代码 #include stm32f10x.h // Device header// 1: 开启RCC时钟包括ADC和GPIO的时钟// 2配置GPIO将GPIO配置为模拟输入模式// 3配置多路开关将左边的通道接入到规则组中// 4配置ADC转换器单次转换连续转换扫描还是非扫描// 5开关控制调用ADC_COM参数ADC配置完成就能正常工作void AD_Init(void){// 开启ADC的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);// 开启GPIOA的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);// 配置ADC_CLK,72MHz/6 12MHzRCC_ADCCLKConfig(RCC_PCLK2_Div6);// 配置GPIOGPIO_InitTypeDef GPIO_InitStructre;// 将GPIO的模式引用出来GPIO_InitStructre.GPIO_Mode GPIO_Mode_AIN; // 选择GPIO的模式,设置为AN模拟输入的模式在AIN模式下GPIO口是没有效果的GPIO_InitStructre.GPIO_Pin GPIO_Pin_0; // 选择GPIO的输出模式选择输出的管脚GPIO_InitStructre.GPIO_Speed GPIO_Speed_50MHz; // 选择GPIO的时钟频率GPIO_Init(GPIOA,GPIO_InitStructre); // 初始化GPIO// 第二步 ---》 选择规则组的输入通道参数二指定通道参数三规则组序列器里面的次序1-16之间参数4指定通道的采样时间ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_239Cycles5); // 第三步 --- 使用结构体初始化ADCADC_InitTypeDef ADC_InitStructure;// 引出结构体成员ADC_InitStructure.ADC_ContinuousConvMode DISABLE ; // 配置扫描的模式ADC_InitStructure.ADC_DataAlign ADC_DataAlign_Right; // 配置ADC的数据对齐方式ADC_InitStructure.ADC_ExternalTrigConv ADC_ExternalTrigConv_None; // 配置ADC的外部触发转换选择这里使用内部软件触发的方式ADC_InitStructure.ADC_Mode ADC_Mode_Independent; // 配置ADC的工作模式为独立模式ADC_InitStructure.ADC_NbrOfChannel 1; // 配置通道数目ADC_InitStructure.ADC_ScanConvMode DISABLE; // 配置扫描的模式ADC_Init(ADC1,ADC_InitStructure);// 以下还可以配置中断和模拟看门狗根据自己的需求进行配置// 开启ADC设置,第一个ENABLE第二个开启ADC的电源ADC_Cmd(ADC1,ENABLE); // 对ADC进行校准这里分别有四个函数可以进行配置ADC_ResetCalibration(ADC1); // 复位校准while(ADC_GetResetCalibrationStatus(ADC1) SET); // 返回复位校准的状态ADC_StartCalibration(ADC1); // 启动校准while(ADC_GetCalibrationStatus(ADC1) SET); // 获取校准后的状态 } uint16_t AD_GetValue(void){// 1 软件触发转换 2等待触发完成也就是等待EOC标志位设置为1,3读取ADC数据寄存器ADC_SoftwareStartConvCmd(ADC1,ENABLE); // 获取标志位状态共有5个参数// 第一个参数AWD模拟看门狗标志位// 第二个参数EOC规则组转换完成标志位// 第三个参数JEOC注入组转换完成标志位// 第四个参数JSTRT注入组开始转换标志位// 第五个参数STRT规则组开始转换标志位while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) RESET); // 这里添加一个while空循环实现一个等待的过程// 获取ADC的结果---使用ADC获取转换值的方式return ADC_GetConversionValue(ADC1); } AD.H代码 #ifndef __AD_H #define __AD_Huint16_t AD_GetValue(void); void AD_Init(void);#endifmain函数代码 #include stm32f10x.h // Device header #include Delay.h #include OLED.h #include AD.huint16_t ADValue; float Votage; int main(void) {// 初始化oledOLED_Init();AD_Init();OLED_ShowString(1,1,ADVALUE!);OLED_ShowString(2,1,Votage:0.00V);while (1){ADValue AD_GetValue();Votage (float)ADValue / 4095 * 3.3;OLED_ShowNum(1, 9, ADValue, 4); OLED_ShowNum(2, 9, Votage, 1); OLED_ShowNum(2, 11, (int)(Votage * 100) % 100, 1);Delay_ms(100);} }切换为连续转换模式需要修改的代码
http://www.zqtcl.cn/news/418042/

相关文章:

  • 免费域名试用注册网站google搜索关键词热度
  • 温州建设小学网站高中资料网站免费
  • 室内设计网站官网大全电子商务网站后台核心管理
  • 网站建设报价图片欣赏福州网站建设报价
  • 网站推广基本方法是文创产品设计稿
  • 厦门网站制作公司推荐作文网投稿网站
  • 网站开发过什么软件杭州cms建站模板下载
  • 做中东服装有什么网站谁能给我个网址
  • 深圳网站建设公司服务平台河北省建设银行网站首页
  • 新密网站网页版微信小程序在哪
  • 长春建一个网站大概要多少钱微信公众号开店流程
  • 网站运营实例django 微信小程序开发教程
  • wordpress 搭网站郑州网站建设华久
  • 网站建设图片尺寸专门做音乐的网站
  • 株洲做网站外贸推广产品
  • 枫叶的网站建设博客企业网站样板制作
  • 织梦网站文章相互调用百度下载老版本
  • pc网站的优势网站建设款属不属于无形资产
  • 网站建设数据安全分析网络全案推广
  • 网站建设哪家好就推 鹏博资讯手机自助建网站
  • 沈阳网站制作招聘网长治网站建设电话
  • 承德网站设计公司余姚做百度网站
  • 阿里云购买网站空间做网站怎么插音乐循环
  • 网站设计时应考虑哪些因素惠州做网站
  • 西安网站搭建的公司网站建设条例
  • 网站建设联系网站改备案信息吗
  • 建设一个看电影的网站唐山网址建站
  • 呼和浩特网站建设价格vs网站开发入门
  • 中国农业工程建设协会网站有专业做线切割配件的网站吗
  • 东莞建网站公司哪个好陕西手机网站建设公司