OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7591|回复: 6

有人知道这个system.h文件是什么吗,自己写吗?

[复制链接]

2

主题

4

帖子

0

精华

新手入门

积分
32
金钱
32
注册时间
2015-4-24
在线时间
0 小时
发表于 2015-4-25 21:54:01 | 显示全部楼层 |阅读模式
5金钱
在做GP2Y1010AU0F粉尘传感器和STM32103zet6的一个空气质量监测仪的设计。正面是程序。第二行#incldue "system.h'这个头文件是什么???自己定义的话是具体代码是什么,新手求救

GP2Y.c

#include "GP2Y.h"
#include "system.h"
	u16 AD_PM;
void GP2Yinit(void)
{ 
//定义变量
    ADC_InitTypeDef A_InitStructure;
    GPIO_InitTypeDef G_InitStructure;	//PA0
    GPIO_InitTypeDef Gpio_InitStructure;//PB1
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_ADC1 , ENABLE );   //使能ADC2通道时钟
     
    RCC_ADCCLKConfig(RCC_PCLK2_Div6);   //设置ADC分频因子6 72M/6=12,ADC最大时间不能超过14M
 
    //PA0 作为模拟通道输入引脚                        
    G_InitStructure.GPIO_Pin = GPIO_Pin_0;
    G_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //模拟输入引脚
    GPIO_Init(GPIOA, &G_InitStructure);
   
    ADC_DeInit(ADC1);  //复位ADC1,将外设 ADC1 的全部寄存器重设为缺省值
   
    A_InitStructure.ADC_Mode = ADC_Mode_Independent; //ADC工作模式:ADC1和ADC2工作在独立模式
    A_InitStructure.ADC_ScanConvMode = DISABLE; //模数转换工作在单通道模式
    A_InitStructure.ADC_ContinuousConvMode = DISABLE; //模数转换工作在单次转换模式
    A_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //转换由软件而不是外部触发启动
    A_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //ADC数据右对齐
    A_InitStructure.ADC_NbrOfChannel = 1; //顺序进行规则转换的ADC通道的数目
    ADC_Init(ADC1, &A_InitStructure); //根据ADC_InitStruct中指定的参数初始化外设ADCx的寄存器  
   
   
    ADC_Cmd(ADC1, ENABLE);         //使能指定的ADC1
    ADC_ResetCalibration(ADC1); //使能复位校准 
    while(ADC_GetResetCalibrationStatus(ADC1)); //等待复位校准结束
    ADC_StartCalibration(ADC1);  //开启AD校准
    while(ADC_GetCalibrationStatus(ADC1));  //等待校准结束
    Gpio_InitStructure.GPIO_Pin = GPIO_Pin_1;	                 
    Gpio_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出  
    Gpio_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;           
    GPIO_Init(GPIOB, &Gpio_InitStructure);
    GP2Y_High;
}
void GetGP2Y(void)
{
	float pm;
	GP2Y_Low;
	delay_us(280);
	AD_PM = Get_Adc(ADC_Channel_0);	//PA0
	delay_us(40);
	GP2Y_High;
	delay_us(9680);
	pm = 0.17*AD_PM-0.1; //电压-灰尘转换
	printf("%f\n",pm);	
}[/mw_shl_code]

GP2Y.h

  #ifndef __GP2Y_H
#define __GP2Y_H
#include "stm32f10x_lib.h"
#define GP2Y_High GPIO_SetBits(GPIOB,GPIO_Pin_1);
#define GP2Y_Low  GPIO_ResetBits(GPIOB,GPIO_Pin_1);

void GP2Yinit(void);
void GetGP2Y(void);
#endif[/mw_shl_code]

最佳答案

查看完整内容[请看2#楼]

回复【3楼】我是萧帮主: --------------------------------- 。。。。。。你得去问该资料的发表人
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-4-25 21:54:02 | 显示全部楼层
回复【3楼】我是萧帮主:
---------------------------------
。。。。。。你得去问该资料的发表人
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-4-25 22:12:54 | 显示全部楼层
点进去看看就知道了
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手入门

积分
32
金钱
32
注册时间
2015-4-24
在线时间
0 小时
 楼主| 发表于 2015-4-25 22:21:07 | 显示全部楼层
回复【2楼】lycreturn:
---------------------------------
这是别人写的啊。。。。网上的
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13129
金钱
13129
注册时间
2012-11-26
在线时间
3814 小时
发表于 2015-4-25 22:24:53 | 显示全部楼层
像这种逗比问题   我就呵呵了
学无止境
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手入门

积分
32
金钱
32
注册时间
2015-4-24
在线时间
0 小时
 楼主| 发表于 2015-4-26 13:18:16 | 显示全部楼层
回复【5楼】lycreturn:
---------------------------------
好的。因为第一次学这个
回复

使用道具 举报

8

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
216
金钱
216
注册时间
2015-1-28
在线时间
29 小时
发表于 2016-2-1 19:23:30 | 显示全部楼层
楼主,我也遇见了同样的问题,请问你解决了吗,万分感谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 08:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表