我使用pic18f2550(完整代码在附件中)
成功读取数据,控制PWM亮度
但是我需要(写)数据从MCU(从mikrocontroller发送),但不能工作
我尝试这个代码,但不工作
当portb fo按下计数器将增加,并从MCU发送值,这就是全部
如果(portb.f0 = = 0){计数器+ +;}
sprintf (write_buffer“senddata = ");
{
strcpy(过程,strtok (write_buffer " = "));
strcpy(过程,strtok (0, " s "));
counter = atoi(过程);
而(! HID_Write (&write_buffer, 64));
}
_____________________________________________
_______________________________________
_______________________________________
代码:文件也可用
_________________________________________________________________________
Char read_buffer[64]绝对0x500;
Char write_buffer[64] absolute 0x540;
char过程[30];
字符输出数据= 0;
char incvalue = 0;
char东西= 0;
char乐;
char state1;
int counter = 0;
Int I = 0;
无效中断()
{
usb_interrupt_proc ();
}
void main () {
OSCCON = 0 b01001110;
INTCON。给= 1;
INTCON。TMR0IE = 1;
T0CON = 0 x82;
trisb.f0 = 1;
HID_Enable (&read_buffer &write_buffer);
PWM1_Init (3000);
PWM1_Set_Duty (0);
PWM1_Start ();
read_buffer(东西)=输出数据;
而(1)
{
////////////////////////////////////////////////
如果(portb.f0 = = 0){计数器+ +;}
sprintf (write_buffer“senddata = ");
{
strcpy(过程,strtok (write_buffer " = "));
strcpy(过程,strtok (0, " s "));
counter = atoi(过程);
而(! HID_Write (&write_buffer, 64));
}
kk = HID_Read ();
If (kk != 0) {
东西+ +;
如果东西> = 30)
{
东西= 0;
}
if (strstr(read_buffer,"M1pwm="))
{
strcpy(过程,strtok (read_buffer " = "));
strcpy(过程,strtok(0,“M”));
拿督= atoi(过程);
PWM1_Set_Duty(输出数据);
}
memset (read_buffer 0 30);
东西= 0;
}
}
}
成功读取数据,控制PWM亮度
但是我需要(写)数据从MCU(从mikrocontroller发送),但不能工作
我尝试这个代码,但不工作
当portb fo按下计数器将增加,并从MCU发送值,这就是全部
如果(portb.f0 = = 0){计数器+ +;}
sprintf (write_buffer“senddata = ");
{
strcpy(过程,strtok (write_buffer " = "));
strcpy(过程,strtok (0, " s "));
counter = atoi(过程);
而(! HID_Write (&write_buffer, 64));
}
_____________________________________________
_______________________________________
_______________________________________
代码:文件也可用
_________________________________________________________________________
Char read_buffer[64]绝对0x500;
Char write_buffer[64] absolute 0x540;
char过程[30];
字符输出数据= 0;
char incvalue = 0;
char东西= 0;
char乐;
char state1;
int counter = 0;
Int I = 0;
无效中断()
{
usb_interrupt_proc ();
}
void main () {
OSCCON = 0 b01001110;
INTCON。给= 1;
INTCON。TMR0IE = 1;
T0CON = 0 x82;
trisb.f0 = 1;
HID_Enable (&read_buffer &write_buffer);
PWM1_Init (3000);
PWM1_Set_Duty (0);
PWM1_Start ();
read_buffer(东西)=输出数据;
而(1)
{
////////////////////////////////////////////////
如果(portb.f0 = = 0){计数器+ +;}
sprintf (write_buffer“senddata = ");
{
strcpy(过程,strtok (write_buffer " = "));
strcpy(过程,strtok (0, " s "));
counter = atoi(过程);
而(! HID_Write (&write_buffer, 64));
}
kk = HID_Read ();
If (kk != 0) {
东西+ +;
如果东西> = 30)
{
东西= 0;
}
if (strstr(read_buffer,"M1pwm="))
{
strcpy(过程,strtok (read_buffer " = "));
strcpy(过程,strtok(0,“M”));
拿督= atoi(过程);
PWM1_Set_Duty(输出数据);
}
memset (read_buffer 0 30);
东西= 0;
}
}
}
附件
-
162.2 KB 观点:0