像这里写的,arduino mega并没有使用完所有的ATmega2560的引脚
然后因为某些原因自己做了一个板子里面不小心用了不是arduino的引脚,所以要更改一些文件。。。
分析过程
在arduino里面搜索void digitalWrite发现有在/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores里面的wiring_digital.c有这个函数的内容,里面的pinmode和digitalread调用了这些函数:
digitalPinToBitMask
digitalPinToPort
portModeRegister
portOutputRegister
digitalPinToTimer
digitalPinToBitMask
digitalPinToPort
portInputRegister
搜索发现这些函数在arduino.h这个文件里面定义。调用了这些函数
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里面有这些函数的定义,所以应