历史上的今天
返回首页

历史上的今天

今天是:2025年03月08日(星期六)

2019年03月08日 | STM32之ADC单通道单次例程

2019-03-08 来源:eefocus

#include "stm32f10x.h"


/* RCC时钟配置 */

void RCC_config(void)

 ErrorStatus HSEStartUpStatus;


 /* RCC寄存器设置为默认配置 */

 RCC_DeInit();

 /* 打开外部高速时钟 */

 RCC_HSEConfig(RCC_HSE_ON);

 /* 等待外部高速时钟稳定 */

 HSEStartUpStatus = RCC_WaitForHSEStartUp();

 if(HSEStartUpStatus == SUCCESS) 

 { 

  /* 设置HCLK = SYSCLK */

  RCC_HCLKConfig(RCC_SYSCLK_Div1);

  /* 设置PCLK2 = HCLK */

  RCC_PCLK2Config(RCC_HCLK_Div1);

  /* 设置PCLK1 = HCLK / 2 */

  RCC_PCLK1Config(RCC_HCLK_Div2);

//  /* 设置FLASH代码延时 */

//  FLASH_SetLatency(FLASH_Latency_2);

//  /* 使能预取址缓存 */

//  FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

  /* 设置PLL时钟源为HSE倍频9 72MHz */

  RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);

  /* 使能PLL */

  RCC_PLLCmd(ENABLE);

  /* 等待PLL稳定 */

  while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);

  /* 设置PLL为系统时钟源 */

  RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

  /* 等待系统时钟源切换到PLL */

  while(RCC_GetSYSCLKSource() != 0x08);

 }

}


/* 毫秒延时函数 */

void delay_ms(uint16_t time)

{    

 uint16_t i = 0; 


 while(time--)

 {

  i = 12000;

  while(i--);    

 }

}


/* GPIO配置 */

void GPIO_config(void)

{

 GPIO_InitTypeDef GPIO_InitStructure;


 /* 时钟配置 */

 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);


 /* 模拟输入 */

 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;

 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;

 GPIO_Init(GPIOA, &GPIO_InitStructure);

}


/* ADC配置 */

void ADC_config(void)

{

 ADC_InitTypeDef ADC_InitStructure;


 /* 使能时钟 */

 RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);

 

 /* 配置ADC时钟12MHz */

 RCC_ADCCLKConfig(RCC_PCLK2_Div6);

 

 ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;     /* 独立模式 */

 ADC_InitStructure.ADC_ScanConvMode = DISABLE;      /* 单通道模式 */

 ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;     /* 单次转换模式 */

 ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; /* 软件触发 */

 ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;    /* 数据右对齐 */

 ADC_InitStructure.ADC_NbrOfChannel = 1;        /* 1个通道 */

 ADC_Init(ADC1, &ADC_InitStructure);

 

 /* 模拟通道0、采样序列1、采样周期55.5 */

 ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_55Cycles5);

 

 /* 使能ADC */

 ADC_Cmd(ADC1, ENABLE);

 

 /* 重置校准寄存器 */

 ADC_ResetCalibration(ADC1);

 while(ADC_GetResetCalibrationStatus(ADC1));

 

 /* 开始校准 */

 ADC_StartCalibration(ADC1);

 while(ADC_GetCalibrationStatus(ADC1));

}


/* 主函数 */

int main(void)

{

 uint32_t value;

 volatile float V;

 

 /* RCC时钟配置 */

 RCC_config();


 /* IO配置 */

 GPIO_config();

 

 /* ADC配置 */

 ADC_config();

 

 while(1)

 {

  /* 启动转换 */

  ADC_SoftwareStartConvCmd(ADC1, ENABLE);

  /* 等待转换结束 */

  while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));

  

  /* 获取转换值 */

  value = ADC_GetConversionValue(ADC1);

  

  /* 将数字量转换为电压值 */

  V = (float)value / 4096 * 3.3;

  

  delay_ms(1000);

 }

}

推荐阅读

史海拾趣

Cortina Systems Inc公司的发展小趣事

由于Cortina Systems Inc公司的具体发展历程和相关故事的详细资料可能涉及公司内部的敏感信息,且具体的故事可能随着时间和市场环境的变化而有所不同,因此,我无法直接为您提供5个关于Cortina Systems Inc公司在电子行业里发展起来的具体故事。不过,我可以基于公开资料为您概述Cortina Systems Inc公司在电子行业的一些重要发展节点和事件,您可以根据这些信息进行进一步的了解和研究。

  1. 并购集通科技,拓宽业务领域

在某一时期,Cortina Systems Inc.通过并购集通科技,实现了业务领域的拓宽。集通科技是一家专注于为中小型企业和家庭网络用户提供嵌入式网络处理器、三合一整合服务(Triple Play)和网络存储解决方案的私人公司。通过这次并购,Cortina成功地将集通在中小型企业和家庭网络技术方面的优势与其通信网络基础设施环境相结合,为下一代网络使用者社群网络、多媒体传输和数字家庭连接能力的发展奠定了坚实基础。

  1. 与思科紧密合作,推动技术标准发展

在技术标准制定方面,Cortina Systems Inc.与思科展开了紧密的合作。双方共同推出了Interlaken技术规范,这一规范被视为网络处理论坛(NPF)可升级的SPI规范的竞争对手。尽管NPF与光联网论坛(OIF)合并后,Cortina与思科并未将Interlaken提交至OIF,但这一合作仍然为行业内的技术标准发展注入了新的活力。

  1. 推出双模ONU网关解决方案,满足中国市场独特需求

随着全球通信市场的不断发展,Cortina Systems Inc.针对中国市场推出了双模ONU网关解决方案。这一解决方案的推出,旨在满足中国市场对于混合式接入方式的特殊需求。在中国,三大运营商引导的接入方式既包括EPON也包括GPON,这使得双模ONU成为市场趋势。Cortina通过这一解决方案,成功地为中国市场提供了独特的、适应本土需求的通信解决方案。

  1. 技术创新能力突出,不断推出新产品

作为电子行业的领导者之一,Cortina Systems Inc.一直以其突出的技术创新能力而著称。公司不断投入研发,推出了一系列具有创新性和竞争力的新产品。这些产品不仅提升了公司的市场竞争力,也为整个电子行业的发展带来了新的机遇和挑战。

  1. 拓展全球市场,提升品牌影响力

随着业务的发展和产品线的完善,Cortina Systems Inc.逐渐将目光投向了全球市场。公司通过参加各种国际展览和会议,积极与全球合作伙伴建立联系,拓展业务领域。同时,公司还加强了品牌建设和市场推广力度,提升了在全球市场的知名度和影响力。

这些事件和节点只是Cortina Systems Inc.在电子行业发展历程中的一部分。要了解更多关于该公司的具体故事和详细发展历程,建议您查阅相关新闻报道、行业分析报告或公司官方发布的信息。通过这些资料,您可以更深入地了解Cortina Systems Inc.在电子行业中的崛起和发展。

广东华裕(GDHY)公司的发展小趣事

机顶盒,全称为数字视频变换盒,是现代家庭娱乐中不可或缺的重要设备。从广义上讲,凡是与电视机连接的网络终端设备均可称为机顶盒,其发展历程涵盖了从模拟频道增补器到数字卫星、有线及IPTV机顶盒等多种形态。其核心功能在于接收并转换数字电视信号,使之能在传统或智能电视上播放,极大地丰富了用户的观看体验。

机顶盒不仅支持高清、4K乃至更高分辨率的视频播放,还具备强大的网络交互能力。用户可通过机顶盒接入互联网,享受在线购物、视频点播、游戏娱乐、社交媒体互动等多种服务。此外,部分机顶盒还集成了智能语音助手、家庭影院功能及存储能力,让家庭娱乐更加便捷、个性化。

随着科技的进步,机顶盒正朝着高清化、智能化、多功能化方向发展。高清及超高清技术的普及,使得画面更加细腻逼真;人工智能技术的应用,则让机顶盒具备了更强大的内容推荐和交互能力。同时,市场竞争的加剧也促使厂商不断创新,推出更多符合用户需求的产品和服务。

总之,机顶盒作为连接电视与互联网的桥梁,其重要性日益凸显。在未来,随着技术的不断进步和市场的持续扩大,机顶盒将继续为用户带来更加丰富、便捷、智能的观影体验。

Alcatel-Lucent公司的发展小趣事
  1. Alcatel-Lucent 的起源可以追溯到 19 世纪末的法国。1880 年,一家名为 Compagnie Générale d'Électricité (CGE) 的公司在法国成立,主要从事电信和电气设备的制造和销售。这家公司后来成为了 Alcatel-Lucent 的前身之一。

  2. 20 世纪初,CGE 开始涉足电信领域,并开始在法国和国际市场上发展。该公司逐渐成为了一家领先的电信设备制造商,并参与了许多重要的电信基础设施项目。

  3. 2006 年,法国的 Alcatel 和美国的 Lucent Technologies 公司宣布合并,成立了 Alcatel-Lucent 公司。这次合并创造了一个综合性的电信设备制造商,覆盖了通信网络、软件和服务等多个领域。

  4. 合并后,Alcatel-Lucent 成为了全球领先的电信设备供应商之一,为全球各地的电信运营商提供了广泛的产品和解决方案,包括固定和移动网络、光纤通信、宽带接入和数据中心等领域。

  5. 在成立后的几年里,Alcatel-Lucent 继续推出创新的产品和技术,包括下一代移动通信技术 LTE、IP/MPLS 网络和云计算解决方案等,为数字化时代的通信基础设施发展做出了重要贡献。

Elec & Eltek公司的发展小趣事

随着全球对环境保护和可持续发展的重视日益加深,Eltek公司也积极响应这一趋势。在产品研发和生产过程中,Eltek公司始终坚持环保理念,采用环保材料和工艺,减少对环境的影响。同时,Eltek公司还加大了在可再生能源领域的投入力度,积极研发具有更高效率和更低成本的电力电子产品。此外,Eltek公司还积极参与各种环保活动和公益事业,为推动全球可持续发展贡献自己的力量。

以上五个故事虽然是虚构的,但其中所蕴含的发展思路、创新精神和国际化视野是电子行业公司普遍需要关注和借鉴的。希望这些故事能为您提供一些启示和灵感。

HDP_Power公司的发展小趣事

随着市场需求的不断变化,Elec公司意识到单一产品已无法满足客户的多样化需求。于是,Elec公司开始寻求与同行业公司的合作。在一次行业交流会上,Elec公司的代表与Eltek公司的代表相识,并发现双方的产品具有很强的互补性。经过多次深入交流,Elec公司与Eltek公司决定开展合作,共同研发具有更高性能、更广泛应用的电子产品。这一合作不仅增强了双方的竞争力,也为客户提供了更多样化的选择。

Compact公司的发展小趣事

在快速发展的过程中,Compact公司始终注重品牌建设和文化传承。公司通过不断提升产品质量和服务水平,树立了良好的品牌形象。同时,公司还注重培养员工的归属感和忠诚度,形成了独特的企业文化。这种文化传承不仅为公司的发展提供了强大的精神动力,还使公司在激烈的市场竞争中保持了独特的竞争力。

问答坊 | AI 解惑

射频电路中的电感

介绍了几种射频电路中常见的电感形式,给出了其电感值和Q值的计算公式,可用于工程中设计和分析电感,并阐述了几种电感的实际应用. …

查看全部问答>

在STC89C58RD+ UCOS跑流水灯

附件是用KEIL建立的工程项目,在P3口跑了个流水灯,可以在纯软件仿真下观察效果。 系统使用资源: Program Size: data=84.0 xdata=423 code=3263 STC89C58的资源:ROM 32K,RAM:1280 BYTE,可以容纳。 从51其他型号到STC89C58RD+移植要点: ...…

查看全部问答>

华为。初级电子工程师下

华为。初级电子工程师下…

查看全部问答>

做工业控制的坛友难道很少吗?

总是没有参与提问和讨论?…

查看全部问答>

请问用PIC16F57搞电子式电能表的开发,都需要用到什么软件。

请问用PIC16F57搞电子式电能表的开发,都需要用到什么软件。…

查看全部问答>

ds1302的使用

各位大侠,请问怎么才能确定ds1302处于工作状态?…

查看全部问答>

电脑网卡灯不亮 网卡和网线都是好的

电脑网卡灯不亮,有时候还一亮一灭的闪烁,显示本地连接打叉,不能上网,可是电脑搬到别的地方就可以,网线插别的电脑也可以,请问是什么问题啊。…

查看全部问答>

camera问题呀!!???

我的摄像头分辨率是720*288的,使用camera 接口输入,在7寸TFT上显示(800*480),调试时发现,水平方向左右两端的图像缺失,不能完整显示,其他的正常。请问这是啥原因??高手指点,急!!! …

查看全部问答>

设计管道漏水检测装置的想法?

最近公司接了个项目,是自来水公司的,要求研发一件产品能够检测出管道是否漏水(地下管道:压力应该挺大),现在还没有想到合适的方法,希望大家帮忙想想啊!比如说传感器之类。可以考虑每隔多少米方一个设备也行。我想过用湿度传感器,但是传感器 ...…

查看全部问答>

为什么单片机可以得到广泛应用

(1)51单片机是神马时间进入市场的?答:51单片机是上个世纪70年代发展80年代被广泛应用的单片机。 (2)同时期还有其他的竞争产品吗?答:有还有Zliog公司的z80单片机,但是不久就由于公司的策略原因退出了市场(网上说的)。 (3)下面说只要题目,现在 ...…

查看全部问答>