所有关于电路

pic18f2550读取但不写入变量数据!?

哈桑阿布阿布搓

线程启动

哈桑阿布阿布搓

2019年2月10日加入
11
我使用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;



}

}
}

附件

线程启动 类似的线程 论坛 回复 日期
一个 微控制器 7
K 微控制器 5
D 微控制器 4
peter65 微控制器 24
O 微控制器 9