koolguy
Active Member
Hi, its working Ian was right simple but its 180* how to make 360* for robot arm and here is code with ADC but working in one direction not counter clock wise why?
C:
#include <htc.h>
__CONFIG(LVP_OFF & BOREN_OFF & PWRTE_ON & WDTE_OFF & FOSC_HS);
#define _XTAL_FREQ 20000000
int ReadADC();
void main()
{
unsigned long number=0;
TRISB=0X00;
TRISA = 0xff ;
ADCON1=0b10000000;
ADCON0=0b10000001;//000 = channel 0, (RA0/AN0)
ADIF=0;
ADIE=1;
PEIE=1;
TRISC = 0 ;
PR2 = 39 ;
T2CON = 0b00000110 ;
CCP1CON = 0b00111100;
while(1)
{
number = ReadADC(0);
CCPR1L=number;
}
}
int ReadADC(void)
{
int ret = 0;
__delay_ms(20);
GO_DONE = 1; // start conversion
while(GO_DONE); // wait for conversion
ret = (ADRESH & 0x3) << 8; // get
ret += ADRESL; // result
return ret;
}
Last edited: