找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

Arduino学习11-Arduino模拟电脑键盘(基于AVR-USB的USB-HID设备)

查看数: 12219 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-4-18 01:15

正文摘要:

键盘作为经典的输入设备,使用在很多互动中都有特别的优势,比如我们可以通过键盘直接给flash传递按键事件。而无需通过串口之类的特殊接口,虽然我们可以拆一个传统的键盘,然后将里面的按键引出来,但是这样有一个 ...

回复

ID:891140 发表于 2021-8-4 18:20
请问,USB键盘按键信息都是布尔数据,如果想做一个外设将0-100%的模拟量输入电脑,该怎么处理呢?USB键盘和鼠标功能额能实现吗?
ID:618619 发表于 2019-10-6 17:16
后来换了一个版本的ide好了
ID:618619 发表于 2019-10-4 18:53
t楼主,提示如下错误信息。为何。
Arduino:1.8.9 (Windows 7), 开发板:"Arduino/Genuino Uno"

D:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware D:\Program Files (x86)\Arduino\hardware -tools D:\Program Files (x86)\Arduino\tools-builder -tools D:\Program Files (x86)\Arduino\hardware\tools\avr -built-in-libraries D:\Program Files (x86)\Arduino\libraries -libraries D:\UserData\Personal\Arduino\libraries -fqbn=arduino:avr:uno -vid-pid=1A86_7523 -ide-version=10809 -build-path C:\Users\ADMINI~1\AppData\Local\Temp\arduino_build_792218 -warnings=default -build-cache C:\Users\ADMINI~1\AppData\Local\Temp\arduino_cache_518244 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -verbose D:\UserData\Personal\Arduino\sketch_oct04a\sketch_oct04a.ino
D:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware D:\Program Files (x86)\Arduino\hardware -tools D:\Program Files (x86)\Arduino\tools-builder -tools D:\Program Files (x86)\Arduino\hardware\tools\avr -built-in-libraries D:\Program Files (x86)\Arduino\libraries -libraries D:\UserData\Personal\Arduino\libraries -fqbn=arduino:avr:uno -vid-pid=1A86_7523 -ide-version=10809 -build-path C:\Users\ADMINI~1\AppData\Local\Temp\arduino_build_792218 -warnings=default -build-cache C:\Users\ADMINI~1\AppData\Local\Temp\arduino_cache_518244 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=D:\Program Files (x86)\Arduino\hardware\tools\avr -verbose D:\UserData\Personal\Arduino\sketch_oct04a\sketch_oct04a.ino
Using board 'uno' from platform in folder: D:\Program Files (x86)\Arduino\hardware\arduino\avr
Using core 'arduino' from platform in folder: D:\Program Files (x86)\Arduino\hardware\arduino\avr
Detecting libraries used...
"D:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_792218\\sketch\\sketch_oct04a.ino.cpp" -o nul
"D:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-ID:\\UserData\\Personal\\Arduino\\libraries\\UsbKeyboard" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_792218\\sketch\\sketch_oct04a.ino.cpp" -o nul
"D:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-ID:\\UserData\\Personal\\Arduino\\libraries\\UsbKeyboard" "D:\\UserData\\Personal\\Arduino\\libraries\\UsbKeyboard\\oddebug.c" -o nul
"D:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-ID:\\UserData\\Personal\\Arduino\\libraries\\UsbKeyboard" "D:\\UserData\\Personal\\Arduino\\libraries\\UsbKeyboard\\usbdrv.c" -o nul
"D:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-ID:\\UserData\\Personal\\Arduino\\libraries\\UsbKeyboard" "D:\\UserData\\Personal\\Arduino\\libraries\\UsbKeyboard\\usbdrvasm.S" -o nul
Error while detecting libraries included by D:\UserData\Personal\Arduino\libraries\UsbKeyboard\usbdrvasm.S
Generating function prototypes...
"D:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-ID:\\UserData\\Personal\\Arduino\\libraries\\UsbKeyboard" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_792218\\sketch\\sketch_oct04a.ino.cpp" -o "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_792218\\preproc\\ctags_target_for_gcc_minus_e.cpp"
"D:\\Program Files (x86)\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_792218\\preproc\\ctags_target_for_gcc_minus_e.cpp"
正在编译项目...
"D:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-ID:\\UserData\\Personal\\Arduino\\libraries\\UsbKeyboard" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_792218\\sketch\\sketch_oct04a.ino.cpp" -o "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_792218\\sketch\\sketch_oct04a.ino.cpp.o"
In file included from D:\UserData\Personal\Arduino\libraries\UsbKeyboard/UsbKeyboard.h:13:0,

                 from D:\UserData\Personal\Arduino\sketch_oct04a\sketch_oct04a.ino:26:

D:\UserData\Personal\Arduino\libraries\UsbKeyboard/usbdrv.h:479:26: error: variable 'usbDescriptorDevice' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

char usbDescriptorDevice[];

                          ^

D:\UserData\Personal\Arduino\libraries\UsbKeyboard/usbdrv.h:485:33: error: variable 'usbDescriptorConfiguration' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

char usbDescriptorConfiguration[];

                                 ^

D:\UserData\Personal\Arduino\libraries\UsbKeyboard/usbdrv.h:491:29: error: variable 'usbDescriptorHidReport' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

char usbDescriptorHidReport[];

                             ^

D:\UserData\Personal\Arduino\libraries\UsbKeyboard/usbdrv.h:497:27: error: variable 'usbDescriptorString0' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

char usbDescriptorString0[];

                           ^

D:\UserData\Personal\Arduino\libraries\UsbKeyboard/usbdrv.h:503:31: error: variable 'usbDescriptorStringVendor' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

int usbDescriptorStringVendor[];

                               ^

D:\UserData\Personal\Arduino\libraries\UsbKeyboard/usbdrv.h:509:31: error: variable 'usbDescriptorStringDevice' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

int usbDescriptorStringDevice[];

                               ^

D:\UserData\Personal\Arduino\libraries\UsbKeyboard/usbdrv.h:515:37: error: variable 'usbDescriptorStringSerialNumber' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

int usbDescriptorStringSerialNumber[];

                                     ^

In file included from D:\UserData\Personal\Arduino\sketch_oct04a\sketch_oct04a.ino:26:0:

D:\UserData\Personal\Arduino\libraries\UsbKeyboard/UsbKeyboard.h:36:39: error: variable 'usbDescriptorHidReport' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

PROGMEM char usbHidReportDescriptor[35] = { /* USB report descriptor */

                                       ^

D:\UserData\Personal\Arduino\libraries\UsbKeyboard/UsbKeyboard.h:55:1: warning: narrowing conversion of '161' from 'int' to 'char' inside { } [-Wnarrowing]

};

^

D:\UserData\Personal\Arduino\libraries\UsbKeyboard/UsbKeyboard.h:55:1: warning: narrowing conversion of '224' from 'int' to 'char' inside { } [-Wnarrowing]

D:\UserData\Personal\Arduino\libraries\UsbKeyboard/UsbKeyboard.h:55:1: warning: narrowing conversion of '231' from 'int' to 'char' inside { } [-Wnarrowing]

D:\UserData\Personal\Arduino\libraries\UsbKeyboard/UsbKeyboard.h:55:1: warning: narrowing conversion of '149' from 'int' to 'char' inside { } [-Wnarrowing]

D:\UserData\Personal\Arduino\libraries\UsbKeyboard/UsbKeyboard.h:55:1: warning: narrowing conversion of '129' from 'int' to 'char' inside { } [-Wnarrowing]

D:\UserData\Personal\Arduino\libraries\UsbKeyboard/UsbKeyboard.h:55:1: warning: narrowing conversion of '149' from 'int' to 'char' inside { } [-Wnarrowing]

D:\UserData\Personal\Arduino\libraries\UsbKeyboard/UsbKeyboard.h:55:1: warning: narrowing conversion of '129' from 'int' to 'char' inside { } [-Wnarrowing]

D:\UserData\Personal\Arduino\libraries\UsbKeyboard/UsbKeyboard.h:55:1: warning: narrowing conversion of '192' from 'int' to 'char' inside { } [-Wnarrowing]

使用库 UsbKeyboard 在文件夹: D:\UserData\Personal\Arduino\libraries\UsbKeyboard (legacy)
exit status 1
为开发板 Arduino/Genuino Uno 编译时出错。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表