gpt4 book ai didi

c - PIC C - USB_CDC_GETC() 和检索字符串

转载 作者:太空宇宙 更新时间:2023-11-03 23:57:17 26 4
gpt4 key购买 nike

我正在使用 PIC C 对 PIC18F4455 微 Controller 进行编程。我正在使用 USB_CDC.h 头文件。我在计算机上有一个程序发送一个字符串,例如“W250025”。但是,当我使用 usb_cdc_getc() 获取第一个字符时,它会卡住。有时程序只发送“T”,所以我真的只想获取第一个字符。

为什么我的代码从不执行 received=usb_cdc_getc();什么时候发送“W250025”?

if (usb_cdc_kbhit())
{
//printf(lcd_putc, "Check 3"); delay_ms(3000); printf(lcd_putc, "\f");
received = usb_cdc_getc();
printf(lcd_putc, "Received "); lcd_putc(received); delay_ms(3000); printf(lcd_putc, "\f");
if (received == 'W'){ //waveform
disable_interrupts(INT_TIMER1);
set_adc_channel(0);
load_and_print_array(read_into_int(), read_into_int());}
else if (received == 'T'){ //temperature
set_adc_channel(1);
enable_interrupts(INT_TIMER1);}
}

最佳答案

我不知道 PIC 微 Controller 的具体细节,但是,假设 usb_cdc_getc 的行为与正常的 getc 一样,最可能的原因是你的角色不是t 到达通常会阻塞的函数。您要发送换行符吗?也可能是硬件问题,即字符没有首先到达您的 uC。

如果是前者,而不是所需的行为,则可能有非阻塞的 getch 等价物。

关于c - PIC C - USB_CDC_GETC() 和检索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2549961/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com