像這里寫的,arduino mega并沒有使用完所有的ATmega2560的引腳
然后因?yàn)槟承┰蜃约鹤隽艘粋€板子里面不小心用了不是arduino的引腳,所以要更改一些文件嗅定。库快。吓蘑。
分析過程
在arduino里面搜索void digitalWrite發(fā)現(xiàn)有在/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores里面的wiring_digital.c有這個函數(shù)的內(nèi)容,里面的pinmode和digitalread調(diào)用了這些函數(shù):
digitalPinToBitMask
digitalPinToPort
portModeRegister
portOutputRegister
digitalPinToTimer
digitalPinToBitMask
digitalPinToPort
portInputRegister
搜索發(fā)現(xiàn)這些函數(shù)在arduino.h這個文件里面定義拴曲。調(diào)用了這些函數(shù)
digital_pin_to_bit_mask_PGM
digital_pin_to_port_PGM
port_to_mode_PGM
port_to_output_PGM
digital_pin_to_timer_PGM
digital_pin_to_bit_mask_PGM
digital_pin_to_port_PGM
port_to_input_PGM
pins_arduino.h里面有這些函數(shù)的定義争舞,所以應(yīng)該是改pins_arduino這個文件。搜索arduino里面的文件的時候發(fā)現(xiàn)每個板子有自己的一個文件夾澈灼,下面有一個對應(yīng)的這個文件竞川。
資料
這篇文章里面也提到了類似的內(nèi)容
http://forum.arduino.cc/index.php?topic=114536.0
增加開發(fā)板類型
需要讓arduino把我們寫的那個pins_arduion.h讀出來。
http://stackoverflow.com/questions/21417521/arduino-use-all-ports-atmega2560
總的來說就是修改boards.txt這個文件叁熔,mega的復(fù)制出來委乌,頭都改成自己的名字,其中有一行荣回,改成自己那個pins_arduino.h對應(yīng)的文件夾名字
mega.build.variant=xxxxxxxx
我照著上面寫的做了遭贸,然而并沒有什么用。心软。壕吹。
。
删铃。
耳贬。
。
猎唁。
咒劲。
。
然后突然就好了。腐魂。我并不知道為什么帐偎,神秘的東方力量。蛔屹。削樊。