示例#1
0
        /// <summary>
        /// Configure SquareWave output pin behaviour
        /// </summary>
        /// <param name="outputControl">Output level of SQW/OUT pin when square wave output is disabled</param>
        /// <param name="squareWaveEnable">Enable/disable oscillator output</param>
        /// <param name="rateSelect">Frequency of square wave output when enabled</param>
        public void ConfigureSquareWave(bool outputControl, bool squareWaveEnable, RateSelect rateSelect)
        {
            this.ramAddress[0] = CONTROL_ADDR;

            this.ReadRam(this.ramAddress, this.ramData);

            // output control
            this.ramData[0] = outputControl ? (byte)(this.ramData[0] | OUTPUT_CONTROL) : (byte)(this.ramData[0] & ~OUTPUT_CONTROL);
            // square wave enable
            this.ramData[0] = squareWaveEnable ? (byte)(this.ramData[0] | SQUARE_WAVE_ENABLE) : (byte)(this.ramData[0] & ~SQUARE_WAVE_ENABLE);
            // square wave output frequency
            this.ramData[0]  = (byte)(this.ramData[0] & ~RATE_SELECT_MASK);
            this.ramData[0] |= (byte)rateSelect;

            this.WriteRam(this.ramAddress, this.ramData);
        }
示例#2
0
        /// <summary>
        /// Configure SquareWave output pin behaviour
        /// </summary>
        /// <param name="outputControl">Output level of SQW/OUT pin when square wave output is disabled</param>
        /// <param name="squareWaveEnable">Enable/disable oscillator output</param>
        /// <param name="rateSelect">Frequency of square wave output when enabled</param>
        public void ConfigureSquareWave(bool outputControl, bool squareWaveEnable, RateSelect rateSelect)
        {
            this.ramAddress[0] = CONTROL_ADDR;

            this.ReadRam(this.ramAddress, this.ramData);

            // output control
            this.ramData[0] = outputControl ? (byte)(this.ramData[0] | OUTPUT_CONTROL) : (byte)(this.ramData[0] & ~OUTPUT_CONTROL);
            // square wave enable
            this.ramData[0] = squareWaveEnable ? (byte)(this.ramData[0] | SQUARE_WAVE_ENABLE) : (byte)(this.ramData[0] & ~SQUARE_WAVE_ENABLE);
            // square wave output frequency
            this.ramData[0] = (byte)(this.ramData[0] & ~RATE_SELECT_MASK);
            this.ramData[0] |= (byte)rateSelect;

            this.WriteRam(this.ramAddress, this.ramData);
        }