السلام عليكم ورحمه الله وبركاته
شكرا جزيلا اخونا الكريم فادى اسال الله العظيم ان يبارك لك فى علمك
ممكن شرح كود المقاطعه فى عذا البرنامج
كود:
كود:
#include "C:\Program Files\Mikroelektronika\mikroC\Examples\EasyPic4\extra_examples\HID-library\USBdsc.c"
unsigned char Read_buffer[64];
unsigned char Write_buffer[64];
unsigned char num;
unsigned short k;
//
// Timer interrupt service routine
//
void interrupt()
{
HID_InterruptProc(); // Keep alive
TMR0L = 100; // Re-load TMR0L
INTCON.TMR0IF = 0; // Re-enable TMR0 interrupts
}
//
// Start of MAIN program
//
void main()
{
ADCON1 = 0xFF; // Set PORT D to digital I/O
TRISD = 0; // Set PORT D to outputs
PORTD = 0; // Clear all outputs
//
// Set interrupt registers to power-on defaults
// Disable all interrupts
//
INTCON=0;
INTCON2=0xF5;
INTCON3=0xC0;
RCON.IPEN=0;
PIE1=0;
PIE2=0;
PIR1=0;
PIR2=0;
//
// Configure TIMER 0 for 3.3ms interrupts. Set prescaler to 256
// and load TMR0L to 100 so that the time interval for timer
// interrupts at 48MHz is 256*(256-100)*0.083 = 3.3ms
//
// The timer is in 8-bit mode by default
//
T0CON = 0x47; // Prescaler = 256
TMR0L = 100; // Timer count is 256-156 = 100
INTCON.TMR0IE = 1; // Enable T0IE
T0CON.TMR0ON = 1; // Turn Timer 0 ON
INTCON = 0xE0; // Enable interrupts
//
// Enable USB port
//
Hid_Enable(&Read_buffer, &Write_buffer);
Delay_ms(1000);
Delay_ms(1000);
//
// Read from the USB port. Number of bytes read is in num
//
for(;;) // do forever
{
num=0;
while(num != 1) // Get 4 characters
{
num = Hid_Read();
}
if(Read_buffer[0] == 'P')
{
PORTD = ~PORTD;
// for (k = 0; k <255; k++) {
// Prepare send buffer
// Write_buffer[0] = k;
// Send the number via USB
// Hid_Write(&Write_buffer, 1);
}
}
Hid_Disable();
}
ياريت شرح مفصل لكود المقاطعه فى هذا البرنامج