⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dso.h

📁 STM32手持式示波器源代码
💻 H
字号:
/****************************************************************************
* Copyright (C), 2009-2010, www.armfly.com
*
* 文件名: dso.h
* 内容简述: 头文件
*
* 文件历史:
* 版本号  日期       作者    说明
* v0.1    2010-02-09 armfly  创建该文件
*
*/

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __DSO_H
#define __DSO_H

#define ADC1_DR_Address    ((uint32_t)0x4001244C)
#define ADC2_DR_Address    ((uint32_t)0x4001284C)
#define ADC3_DR_Address    ((uint32_t)0x40013C4C)

#define	SAMPLE_COUNT	(4 * 1024) 	/* 采样深度,即最大样本个数 */
/*
	示波器相关的数据结构
*/
typedef struct
{
	uint16_t Ch1Buf[SAMPLE_COUNT];	 /* 通道1数据缓冲区 */
	uint16_t Ch2Buf[SAMPLE_COUNT];	 /* 通道2数据缓冲区 */

	uint32_t TimeBaseIdHold;			/* 暂停时的时基 */

	uint32_t TimeBaseId;			/* 时基索引, 查表可得到 us单位的时基 */
	uint32_t SampleFreq;			/* 采样频率,单位Hz */
	uint32_t TimeBase;				/* 时基 查表可得到 us单位的时基 */

	uint8_t  Ch1AttId;				/* CH1 衰减倍数索引 */
	uint8_t  Ch2AttId;				/* CH2 衰减倍数索引 */
	int32_t  Ch1Attenuation; 		/* 波形1幅度衰减系数(原始数据x10后,再除以这个数)  */
	int32_t  Ch2Attenuation; 		/* 波形2幅度衰减系数(原始数据x10后,再除以这个数)  */
	uint16_t Ch1VScale;				/* 通道1垂直分度值mV单位 */
	uint16_t Ch2VScale;				/* 通道2垂直分度值mV单位 */

	uint32_t TriggerLevel;			/* 触发电平(ADC采样结果比较值) */
	uint32_t TriggerUpEdge;			/* 1表示触发模式上跳沿,0表示下跳沿 */

	uint8_t Ch1DC;					/* 0是交流 1表示CH1是直流 */
	uint8_t Ch2DC;					/* 0是交流 1表示CH2是直流 */

	int16_t Ch1VOffset;				/* 通道1 GND线位置, 可以为负数 */
	int16_t Ch2VOffset;				/* 通道1 GND线位置, 可以为负数 */

	uint8_t ActiveCH;				/* 当前焦点通道 1表示CH1, 2表示CH2 */
	uint8_t AdjustMode;				/* 当前调节模式,0表示调节幅度,1表示调节偏移 */

	/* 使用2个缓冲区完成波形的擦除和重现 */
	uint16_t xCh1Buf1[310];		/* 波形数据,坐标数组 */
	uint16_t yCh1Buf1[310];		/* 波形数据,坐标数组 */
	uint16_t xCh1Buf2[310];		/* 波形数据,坐标数组 */
	uint16_t yCh1Buf2[310];		/* 波形数据,坐标数组 */

	uint16_t xCh2Buf1[310];		/* 波形数据,坐标数组 */
	uint16_t yCh2Buf1[310];		/* 波形数据,坐标数组 */
	uint16_t xCh2Buf2[310];		/* 波形数据,坐标数组 */
	uint16_t yCh2Buf2[310];		/* 波形数据,坐标数组 */
	uint8_t BufUsed;			/* 0表示当前用Buf1, 1表示用Buf2 */

	uint8_t HoldEn;				/* 波形采集暂停标志 1表示暂停,0表示运行 */
}DSO_T;

/* 
	定义支持的采样频率
*/
typedef enum
{
	SR_1K = 0,				/*  */

}SAMPLE_RATE_E;

void InitDSO(void);
void SetSampRate(uint32_t freq);
void DsoMain(void);

extern DSO_T g_DSO;
#endif


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -