0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

stm32红外和紫外光谱结合的火焰软件部分设计

嵌入式应用开发 来源:嵌入式应用开发 作者:嵌入式应用开发 2022-04-26 18:30 次阅读

y由于紫外光谱及代码如下:

pYYBAGJnydqAZNQLAABRMmjJ59s489.jpg

int main(void)
{
Delay_Init();
usart_Configuration();
ADC_Configuration();
printf("\r\n****************************************************************\r\n");
/* Infinite loop */
while (1)
{
/* Printf message with AD value to serial port every 1 second */
AD_value = ADC_ConvertedValue;
AD_value = (AD_value/4096)*3.3;
printf("The current UV AD value = %4.2fV \r\n", AD_value);
Delay(100); /* delay 1000ms */
}
}

/*******************************************************************************
* Function Name : ADC_Configuration
* Description : Configure the ADC.
* Input : None
* Output : None
* Return : None
* Attention : None
*******************************************************************************/
void ADC_Configuration(void)
{
ADC_InitTypeDef ADC_InitStructure;
DMA_InitTypeDef DMA_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);

/* Configure PA.06 (ADC Channel6), PA.07 (ADC Channel7) as analog input -------------------------*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);

/* DMA channel1 configuration ----------------------------------------------*/
DMA_DeInit(DMA1_Channel1);
DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;
DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADC_ConvertedValue;
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;
DMA_InitStructure.DMA_BufferSize = 1;
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable;
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;
DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;
DMA_InitStructure.DMA_Priority = DMA_Priority_High;
DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;
DMA_Init(DMA1_Channel1, &DMA_InitStructure);

/* Enable DMA1 channel1 */
DMA_Cmd(DMA1_Channel1, ENABLE);

/* ADC1 configuration ------------------------------------------------------*/
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode = ENABLE;
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfChannel = 1;
ADC_Init(ADC1, &ADC_InitStructure);

/* ADC1 regular channel6 configuration */
ADC_RegularChannelConfig(ADC1, ADC_Channel_6, 1, ADC_SampleTime_239Cycles5);

/* Enable ADC1 DMA */
ADC_DMACmd(ADC1, ENABLE);

/* Enable ADC1 */
ADC_Cmd(ADC1, ENABLE);

/* Enable ADC1 reset calibaration register */
ADC_ResetCalibration(ADC1);
/* Check the end of ADC1 reset calibration register */
while(ADC_GetResetCalibrationStatus(ADC1));

/* Start ADC1 calibaration */
ADC_StartCalibration(ADC1);
/* Check the end of ADC1 calibration */
while(ADC_GetCalibrationStatus(ADC1));

/* Start ADC1 Software Conversion */
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2266

    文章

    10873

    浏览量

    354867
  • 光谱
    +关注

    关注

    4

    文章

    797

    浏览量

    35087
收藏 人收藏

    评论

    相关推荐

    紫外光耐气候试验箱作注意事项

    紫外光耐气候试验箱主要是用于橡胶等材料的老化试验,采用了阳光中的紫外线辐射,来对试验材料进行老化试验,结合模拟温度、湿度、凝露模拟气候条件,对试验材料进行综合性老化试验。一般情况下,发生老化的试验
    发表于 09-07 15:07

    电子元器件的紫外光老化试验

    稳定,并且能更好的再现试验结果。采用荧光UV灯模拟阳光对物理性质的影响,例如亮度下降、龟裂、剥落等方面,是最好的方法。有几种不同的UV灯可供选择。大多数的这些UV灯主要产生紫外光,而不是可见光和红外
    发表于 10-11 15:40

    紫外光耐气候试验箱及灯管解析说明

    影响时,不需要再现整个阳光光谱。在大多数情况下,只需要模拟短波的UV光即可。  紫外光耐气候试验箱之所以采用UV灯的原因在于它们比其他的灯管更为稳定,并且能更好的再现试验结果。采用荧光UV灯模拟阳光对物理性质
    发表于 03-01 10:47

    honeywell火焰探测器

    检测到。只要有稳定的辐射发光就可以被探测到。例如,炉膛内炽热的表面,对探测器没有影响。C70XX 系列紫外光火焰探测器C70XX系列紫外光火焰探测器适用于气体、液体(油)燃料、非连续燃烧(24小时内
    发表于 04-27 12:28

    紫外线传感器在火焰检测中的应用

    ,而且可以 有效防止粉尘在视窗上的聚焦。紫外火焰探测器是用紫外光触发的,普通的扩散火焰,能产生足够强度易鉴别的紫外辐射光,设计探测器时必须注
    发表于 11-26 09:48

    紫外火焰探测器在火灾中的应用

    系统响应时间在s级,国外日本、美国等国家其响应速度快可达到ms级,可查阅的国外的火焰检测器探测距离为500米,不能用在更远距离火焰探测中。市场上的火焰检测器主要有感烟传感器、红外传感器
    发表于 03-04 09:51

    浅析紫外光通信技术

    紫外光通信系统是一种新型的通信手段,与常规的通信系统相比,有很多优势。由于紫外线主要以散射方式传播,并且传播路径有限,采用紫外光通信系统具有一定的绕过障碍物的能力,非常适用于近距离抗干扰的通信环境
    发表于 06-18 08:00

    火焰探测器参考方案

    保驾护航。感光式火焰探测器主要分为紫外红外两大类,它们各有特点。传统上,紫外火焰探测响应速度快,但作用的距离比
    发表于 06-21 05:00

    紫外光红外光进行光电转换的太阳能电池技术

    紫外光红外光进行光电转换的太阳能电池技术 日本京都工艺纤维大学试制的太阳能电池单
    发表于 04-19 17:53 1016次阅读

    紫外光通信系统光源技术发展研究

    介绍了国内外紫外光通信系统几种紫外光源的发展,并从光谱特点、功率、效率等方面分析了其在紫外光通信中的应用特点。指出了紫外发光二极管(UVED
    发表于 10-17 17:02 48次下载
    <b class='flag-5'>紫外光</b>通信系统光源技术发展研究

    产品软件部分说明

    Omate工业以太网交换机产品软件部分说明
    发表于 12-23 02:21 0次下载

    交换机产品软件部分说明

    交换机产品软件部分说明
    发表于 12-27 16:55 0次下载

    火焰探测器工作原理

    :一种是对火焰中波长较短的紫外光辐射敏感的紫外探测器;另一种是对火焰中波长较长的红外光辐射敏感的红外
    发表于 02-07 16:19 5.2w次阅读

    紫外线传感器在火焰检测中的应用

    紫外线火焰探测器是紫外火焰探测器的俗称。紫外火焰探测器是通过探测物质燃烧所产生的
    发表于 03-19 08:46 5926次阅读
    <b class='flag-5'>紫外</b>线传感器在<b class='flag-5'>火焰</b>检测中的应用

    紫外光源的分类

    自然界中存在多种紫外光谱,人工紫外光源包括气体放电、超高温辐射体和半导体光源。常用紫外光源有高压汞灯、氙灯、氪灯、氘灯、紫外LED和准分子激光器等,各有特定波长、工作电压和光功率。
    的头像 发表于 10-25 14:10 140次阅读