09-09-2012 04:00 AM
how to make the interface between the pic and the labview via usb ??
how to send 1 logic in the aprropriate bit via usb to the pic ??
09-10-2012 03:04 AM
Hello Karkar,
I'm sorry I'm not familiar with "pic", which NI device are you using ?
Could you develop the requirements of your project ?
Thanks
09-10-2012 07:33 AM
09-12-2012 05:18 AM
thinx for the replies i'm using a microcontroller 18f4550, and this is my program in mikroc , i want to use the Ni VISA usb driver to developp my application
my problem how to send to microcontroller 1 logic in the appropriate bit
#include"USBdsc.c"
unsigned char read_buff[64] absolute 0x500;
unsigned char write_buff[64] absolute 0x540;
GET_Digital_Data();
GET_Analog_Data();
LCD_Write();
void interrupt(){
USB_Interrupt_Proc(); // USB servicing is done inside the interrupt
}
void main(){
CMCON = 0x07; // Disable comparators
TRISD=0x00; TRISB=0xFF; PORTD=0x00; TRISE=0x0F;
HID_Enable(&read_buff,&write_buff); // Enable HID communication
while(1){
//Read From USB
HID_Read();
PORTD=read_buff[0];
LCD_Write();
//Write To USB
GET_Digital_Data();
GET_Analog_Data();
HID_Write(&write_buff,17);
delay_ms(1);
//End Communication
if(!RE3_bit)HID_disable();
}
}
GET_Analog_Data(){ //ADC is 10 bit resloution
write_buff[0] = ADC_Read(0); //Read First 8 Bit(1Byte)
write_buff[1] = ADC_Read(0)>>8; //Read Last 2 Bit(2Byte)
write_buff[2] = ADC_Read(1);
write_buff[3] = ADC_Read(1)>>8;
write_buff[4] = ADC_Read(2);
write_buff[5] = ADC_Read(2)>>8;
write_buff[6] = ADC_Read(3);
write_buff[7] = ADC_Read(3)>>8;
write_buff[8] = ADC_Read(4);
write_buff[9] = ADC_Read(4)>>8;
write_buff[10]= ADC_Read(5);
write_buff[11]= ADC_Read(5)>>8;
write_buff[12]= ADC_Read(6);
write_buff[13]= ADC_Read(6)>>8;
write_buff[14]= ADC_Read(7);
write_buff[15]= ADC_Read(7)>>8;
}
GET_Digital_Data(){ //Binary Represntation of Switches Value
write_buff[16]= PORTB ; //0->255 decimal Value(1 Byte)
}
09-12-2012 07:25 AM