找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

Arduino學(xué)習(xí)11-Arduino模擬電腦鍵盤(基于AVR-USB的USB-HID設(shè)備)

查看數(shù): 11123 | 評論數(shù): 5 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2016-4-18 01:15

正文摘要:

鍵盤作為經(jīng)典的輸入設(shè)備,使用在很多互動中都有特別的優(yōu)勢,比如我們可以通過鍵盤直接給flash傳遞按鍵事件。而無需通過串口之類的特殊接口,雖然我們可以拆一個傳統(tǒng)的鍵盤,然后將里面的按鍵引出來,但是這樣有一個 ...

回復(fù)

ID:891140 發(fā)表于 2021-8-4 18:20
請問,USB鍵盤按鍵信息都是布爾數(shù)據(jù),如果想做一個外設(shè)將0-100%的模擬量輸入電腦,該怎么處理呢?USB鍵盤和鼠標(biāo)功能額能實現(xiàn)嗎?
ID:618619 發(fā)表于 2019-10-6 17:16
后來換了一個版本的ide好了
ID:618619 發(fā)表于 2019-10-4 18:53
t樓主,提示如下錯誤信息。為何。
Arduino:1.8.9 (Windows 7), 開發(fā)板:"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
為開發(fā)板 Arduino/Genuino Uno 編譯時出錯。

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表