Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Almost as good as a real scope.
Common, my definition of "real scope" is anything made before 1990 and most folk feel the need to add the word, "analog" when they talk about it....and just when I was embracing "Peace on earth and good will toward Gophers" *sigh*
n/p just "giving some back". But, to your point, I have had opportunities to get a "real" scope before, but I just do not want some 80 lb unit on a wheels that co-functions as a heater with a tattered manual and "a few deficiencies". Get what you can get and all that, but I wanted a simple upgrade - a fun toy not a salvage project (not that there is anything wrong with that).Common, my definition of "real scope" is anything made before 1990 and most folk feel the need to add the word, "analog" when they talk about it.
/*
* File: main.c
* Author: DrG
* Use it at your own risk *
*/
#include <xc.h>
#pragma config FOSC=INTOSC, PLLEN=OFF, WDTE=OFF, MCLRE=ON,
#pragma config CLKOUTEN=OFF, IESO=OFF, FCMEN=OFF,CP=OFF, CPD=OFF,BOREN=OFF
#pragma config WRT=OFF,STVREN=ON,BORV=LO,LVP=OFF
#define _XTAL_FREQ 16000000 // this is used by the __delay_ms(xx) and __delay_us(xx) functions
unsigned char Dcount =0;
const char SINETABLE[40]=
{
50,55,60,65,70,75,80,85,90,95,
100,95,90,85,80,75,70,65,60,55,
50,45,40,35,30,25,20,15,10,5,
0,5,10,15,20,25,30,35,40,45
};
/*
* These are the duty cycle percentages for the sine wave
50, 58, 65, 73, 79, 85, 90, 95, 98, 99,
100, 99, 98, 95, 90, 85, 79, 73, 65, 58,
50, 42, 35, 27, 21, 15, 10, 5, 2, 1,
0, 1, 2, 5, 10, 15, 21, 27, 35, 42
*/
const unsigned char DCThigh[40]=
{
128,148,166,186,202,217,230,242,250,252,
255,252,250,242,230,217,202,186,166,148,
128,107, 89, 69, 54, 38, 26, 13, 5, 2,
0, 2, 5, 13, 26, 38, 54, 69, 89,107
};
const unsigned char DCTlow[40]=
{
2,0,3,1,2,3,2,1,0,2,
0,2,0,1,2,3,2,1,3,0,
2,0,1,3,2,1,2,3,0,2,
0,2,0,3,2,1,2,3,1,0
};
void main(){
OSCCON = 0x7A;
// Fosc = 16 MHz with internal oscillator
__delay_us(100);
// Timer2 configuration for PWM
PR2 = 0xfe;
// PWM period register for 40 kHz
T2CON = 0x4;
// PWM 1 configuration
CCP1CONbits.CCP1M=0x0C; // select PWM mode for CCP module
CCP1CONbits.P1M=0x00; // select single output on CCP1 pin (RA2) PIN 5
// PWM1 on, PWM 1 output enable
CCPR1L = 0x00; // clear high 8 bits of PWM duty cycle
CCP1CONbits.DC1B=0x00; // clear low 2 bits of PWM Duty cycle
// load starting duty cycle
CCPR1L=DCThigh[Dcount];
CCP1CONbits.DC1B=DCTlow[Dcount];
PIE1bits.TMR2IE =1;
// Timer2 interrupt enable
INTCON =0xC0;
TRISA=0x00;
ANSELA=0x00;
here: goto here;
}
void interrupt Timer2_ISR(void)
{
if (TMR2IF)
{
++Dcount;
// Increment the counter variable by 1
if(Dcount == 39)
{
Dcount = 0;
}
CCPR1L=DCThigh[Dcount];
CCP1CONbits.DC1B=DCTlow[Dcount];
TMR2IF = 0;
}
}
That is a good one - I somehow never heard it before. Is chinesium your creative wonder or did you hear it elsewhere? Either way, I'm going to borrow that one often.(it's plastic and chinesium)
That is a good one - I somehow never heard it before. Is chinesium your creative wonder or did you hear it elsewhere?
Some of the better and now even cheaper ones will decode certain buses for you, like I2c.
Today, I want to check out the PC software.
That software is exactly what you need to view the vector (.bin) files if you save waveform images. Vector format lets you scale the image larger without pixelizing the image.
saleae logic analyser
Don't know what the quid to dollar is, but this one is about 1K I'm sure there are cheaper ones and those are what you are probably referring to.
A quid is about 1.25 us.
us. ? microseconds?