VisualSourceSafe(VSS)使用与配置管理工具对比

需积分: 9 28 下载量 186 浏览量 更新于2024-07-12 收藏 2.12MB PPT 举报
本文档提供的是关于客户端/Tools菜单中VSS使用方法的基本操作说明,主要包括了VSS配置管理工具的介绍以及版本控制工具的一般概念。内容涵盖VSS的功能特性,与其他版本控制工具如Starteam、PVCS Version Manager、ClearCase的对比,以及Visual SourceSafe (VSS)的概述和工作原理。 在版本控制系统(VSS)中,"Show history"功能允许用户查看文件或项目的修订历史,包括日期、版本和修订内容摘要,这对于追踪代码的改动和回溯错误至关重要。"Show different"则用于比较不同版本之间的差异,帮助开发者理解每次更新的具体变化。"Find in files…"是一个搜索功能,可以在整个项目中查找特定的文本或代码片段,而"Find report…"可能生成这些搜索结果的报告,帮助分析和管理查找的信息。"Options…"用于设置VSS的个人偏好和配置,如界面语言、行为设定等。"Font…"则涉及界面字体的调整,以满足用户的视觉需求。"Customize toolbar"允许用户自定义工具栏,将常用功能放在显眼的位置,提高工作效率。"Change password"则用于修改用户账户的密码,确保安全性。 VSS作为Visual SourceSafe的简称,是一种简单易用且高效的版本控制工具,特别适合与微软的开发环境如Visual Basic、Visual C++和Visual FoxPro等集成。它提供了完整的版本和配置管理,同时具备安全保护和跟踪检查功能。VSS的工作原理一般涉及三个主要步骤:在教师机上建立数据库,学生机从数据库中检出文件到本地编辑,然后将编辑好的文件检入回教师机的数据库。这样的设计便于多用户协作,防止冲突,并保留所有改动的记录。 除了VSS,其他版本控制工具如Starteam提供了版本控制、构建管理和缺陷跟踪系统,虽然功能强大但管理复杂。PVCS Version Manager则适用于多种文件类型的版本管理,而ClearCase是用于复杂产品发布和分布式团队协作的高级工具。CVS则是一个广泛用于开源社区的并发版本系统,适用于各种操作系统平台。 版本控制系统是软件开发中的重要组成部分,它们通过记录文件的更改,促进团队间的协作,保证代码的质量和一致性。了解并熟练掌握VSS或其他版本控制工具的使用,对于软件开发人员来说至关重要。

void setupADC() { #define ADCpin GPIO_PORT_P6,GPIO_PIN0 GPIO_setAsPeripheralModuleFunctionOutputPin(ADCpin); // 复位P6.0 ADC12_A_init(ADC12_A_BASE,ADC12_A_SAMPLEHOLDSOURCE_SC, ADC12_A_CLOCKSOURCE_ADC12OSC, ADC12_A_CLOCKDIVIDER_1); //软件触发,内部振荡器MODCLK作为时钟 ADC12_A_enable(ADC12_A_BASE); //启用ADC12_A模块 //设置并启用采样定时器脉冲,这里是使用的软件触发的形式,所以选择失能 ADC12_A_setupSamplingTimer(ADC12_A_BASE,ADC12_A_CYCLEHOLD_16_CYCLES,ADC12_A_CYCLEHOLD_16_CYCLES,ADC12_A_MULTIPLESAMPLESDISABLE); ADC12_A_configureMemoryParam param = {0}; param.memoryBufferControlIndex = ADC12_A_MEMORY_0; //将内存缓冲配置为MEMORY_0 param.inputSourceSelect = ADC12_A_INPUT_A0; //将输入A0映射到内存缓冲区0,因为P6.0引脚对应A0 param.positiveRefVoltageSourceSelect = ADC12_A_VREFPOS_AVCC; //正电压为AVcc param.negativeRefVoltageSourceSelect = ADC12_A_VREFNEG_AVSS; //负电压为AVss param.endOfSequence = ADC12_A_NOTENDOFSEQUENCE; //单通道转换 ADC12_A_configureMemory(ADC12_A_BASE,¶m); // } //----------------------------- r e a d A D C -------------------------------- unsigned long readADC() { //开始从MEMORY_0中进行单通道连续转换 ADC12_A_startConversion(ADC12_A_BASE,ADC12_A_MEMORY_0,ADC12_A_SINGLECHANNEL); while(ADC12_A_isBusy(ADC12_A_BASE) == ADC12_A_BUSY){ // 等待转换完成 } //读取ADC转换之后寄存器的值 long result = ADC12_A_getResults(ADC12_A_BASE, ADC12_A_MEMORY_0); //将其转化为单位为mv的电压值 return (3220 * result) / 4096; // 3320是测量的Vss }

2023-07-17 上传

/* * File: ADC.c * Author: tlfte *AD转换,结果在C口和D口的LED上显示,能进行各种通道选择和参考电压,结果对齐方式选择 * Created on 2018年8月6日, 上午10:07 练习AD结果的计算验证,AD_RESULT=VIN×1023÷VREF,讲解887头文件的作用 */ // PIC16F887 Configuration Bit Settings // 'C' source line config statements // CONFIG1 #pragma config FOSC = XT // Oscillator Selection bits (XT oscillator: Crystal/resonator on RA6/OSC2/CLKOUT and RA7/OSC1/CLKIN) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register) #pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled) #pragma config MCLRE = ON // RE3/MCLR pin function select bit (RE3/MCLR pin function is digital input, MCLR internally tied to VDD) #pragma config CP = OFF // Code Protection bit (Program memory code protection is disabled) #pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled) #pragma config BOREN = OFF // Brown Out Reset Selection bits (BOR disabled) #pragma config IESO = OFF // Internal External Switchover bit (Internal/External Switchover mode is disabled) #pragma config FCMEN = OFF // Fail-Safe Clock Monitor Enabled bit (Fail-Safe Clock Monitor is disabled) #pragma config LVP = OFF // Low Voltage Programming Enable bit (RB3 pin has digital I/O, HV on MCLR must be used for programming) // CONFIG2 #pragma config BOR4V = BOR40V // Brown-out Reset Selection bit (Brown-out Reset set to 4.0V) #pragma config WRT = OFF // Flash Program Memory Self Write Enable bits (Write protection off) // #pragma config statements should precede project file includes. // Use project enums instead of #define for ON and OFF. #include <xc.h> #define _XTAL_FREQ 4000000 //指明时钟晶振为4MHz,使delay宏定义可以正常使用 void CSH(void); unsigned int AD_SUB(char k); void main( ) { unsigned int y; CSH(); while(1) { __delay_ms(100); //每隔100毫秒循环一次 y=AD_

2023-05-24 上传