USB键盘的程序,简单的 | 已解决
usb键盘的程序,可以帮我写一个键盘发送程序吗,在主程序做一个简单的延时,发送特定的内容到USB,可以在记事本直接显示的,我参考66-通过USB HID协议打印数据信息-可用于调试,71-STC_USB_鼠标键盘复合例程,62-基于HID协议的USB键盘范例,都改失败了,其中71的时候电脑HID调试能收到信息,电脑显示不是HID键盘,62的时候电脑显示是HID键盘,但是收不到信息,你可以帮我写一下这两个吗,fasongjianpan1和fasongjianpan2,万分感谢!主程序我准备这样写,单片机准备用STC8H2K12U的SOP8的,最后可能放一个按钮,或者不放按钮,void main()
{u32 a32;
u8 a8;
u16 a16,a17;
xdata u8 fasong;
sys_init();
usb_init();
EA = 1;
while (1)
{
a32++;if(a32>333333){a32=0;a17=300;
fasongjianpan1("http://www.absde.com:33333/abs?abc=");
for(a16=0;a16<a17;a16++){fasongjianpan2(fasong);}
}
}
}
按单字符连续发就行:
GOOD!!!!!我先试一下!谢谢谢谢!!!!! *** Error: Project 'usb_keyboard' requires 'C251' Toolchain which is not installed.
直接打开你的压缩文件,是这个错误提示,
这个没有关系的,我找过了,就是下载那个东西运行一下,然后我这个电脑运行过了,没解决,拿也就是32G的一些例程不能用,我准备过段时间整理一下电脑,重装一下就好了,现在8H的编译都没有问题的,你说的,按单字符连续发就行:我也是这样思路的,然后我用试验箱程序的62,结果发送不了,我写了一个定时发送的,模拟按键,可能哪里被我弄错了,
你要不就帮我写一个这样的把,主程序里放一个u32 a32;
a32++;if(a32>33333){a32=0;a17=300;fasong("a");}帮我这个实现一下可以吗,其他循环我自己写,不要用C251的编译的,用C51编译的,因为我电脑升级C251那个程序运行了提示成功实际还有问题,不想再那个上面研究太多时间,现在忙, tndnkasz 发表于 2025-6-12 18:02
*** Error: Project 'usb_keyboard' requires 'C251' Toolchain which is not installed.
直接打开你的压缩 ...
上面已经写好了,将对应的函数复制过去就行 按照此贴一把搞定环境问题:
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=16290&highlight=%E8%90%8C%E6%96%B0%E6%8C%87%E5%8D%97&page=1&extra=#pid152740 还有一个小问题就是,我用原来的44例程烧录再STC8H8K64U芯片里,插电脑上的时候,设备管理器是有显示一个键盘设备的,然后刚刚你不是发给我一个新的44号程序吗,我编译是251不能编译,但是按照你编译给我的HXE文件下载到STC8H8K64U芯片里,插电脑上,没有显示新的HID键盘。 tndnkasz 发表于 2025-6-12 18:16
还有一个小问题就是,我用原来的44例程烧录再STC8H8K64U芯片里,插电脑上的时候,设备管理器是有显示一个键 ...
例程是Ai8051U实验箱32bit的,不能用于8H系列。函数拷贝下用8H工程编译烧录即可 是的我是按照那个下载了,然后提示文件更新了,但是重新打开软件错误提示还在!那个问题不大,我自己能解决的!要点时间整理一下电脑资料,重装软件就可以,现在先把定时发字符到电脑上的弄一下!我改了62号例程,直接定时模拟按键给直接数4,不行,电脑是有显示HID键盘,我设定发送的时候指示灯闪烁也有闪,就是电脑打开记事本没有收到任何内容! 可以帮我就是在STC8H8K64U试验箱的62-基于HID协议的USB键盘范例里:
void main()
{u32 a32;
//10¸ß×裬01ÍÆÍ죬11¿ªÂ©
P0M1 = 0X00; P0M0 = 0X00; //ÉèÖÃΪ׼˫Ïò¿Ú 00001101;00000011 yitiban,220,
P1M1 = 0X00; P1M0 = 0X00; //ÉèÖÃΪ׼˫Ïò¿Ú 1000 1000;0111 0010
P2M1 = 0X00; P2M0 = 0X00; //ÉèÖÃΪ׼˫Ïò¿Ú0000 0000;00000000
P3M1 = 0X00; P3M0 = 0X00; //ÉèÖÃΪ׼˫Ïò¿Ú 1100 0000;1011 0000// P3M1 = 0X00; P3M0 = 0X10;P3M0 = 0X18;
P4M1 = 0X00; P4M0 = 0X00; //ÉèÖÃΪ׼˫Ïò¿Ú
P5M1 = 0X00; P5M0 = 0X00; //ÉèÖÃΪ׼˫Ïò¿Ú0000 0000;0000 0000
P6M1 = 0; P6M0 = 0; //ÉèÖÃΪ׼˫Ïò¿Ú
P7M1 = 0; P7M0 = 0; //ÉèÖÃΪ׼˫Ïò¿Ú
P_SW2 |= 0x80;//À©Õ¹¼Ä´æÆ÷(XFR)·ÃÎÊʹÄÜ
usb_init();
timer_init();
EA = 1;
while (1)
{a32++;if(a32>111111){ a32=0;P37=!P37; }
usb_class_in();
if (f1ms)
{
f1ms = 0;
scan_key();
}
}
}
这段程序,我把其他去掉,就放一个u32 a32;
a32++;if(a32>33333){a32=0;a17=300;fasong("a");}帮我这个实现一下可以吗,因为这个程序改起来是最简单的,这个插到电脑上已经成功显示HID键盘了,因为我改模拟按键改错了,发送不了信息,你帮我改一下定时发送abc123这样的单个字符发的程序给我可以吗,可不可以不要把32的整进来先,我买了32芯片的,那个32的后面有客户需要的时候再研究,现在这个usb键盘着急有单子了,你帮我在STC8H8K64U试验箱的62-基于HID协议的USB键盘范例的基础上加一个a32++;if(a32>33333){a32=0;a17=300;fasong("a");}这样的定时发单字符的程序可以吗
页:
[1]
2