arduino mega2560如何使用额外的引脚

这里写的,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里面有这些函数的定义,所以应该是改pins_arduino这个文件。搜索arduino里面的文件的时候发现每个板子有自己的一个文件夹,下面有一个对应的这个文件。

资料

这篇文章里面也提到了类似的内容
http://forum.arduino.cc/index.php?topic=114536.0

增加开发板类型

需要让arduino把我们写的那个pins_arduion.h读出来。
http://stackoverflow.com/questions/21417521/arduino-use-all-ports-atmega2560

总的来说就是修改boards.txt这个文件,mega的复制出来,头都改成自己的名字,其中有一行,改成自己那个pins_arduino.h对应的文件夹名字

mega.build.variant=xxxxxxxx

我照着上面写的做了,然而并没有什么用。。。







然后突然就好了。。我并不知道为什么,神秘的东方力量。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • "大众创新 万众创业",学校对于创客教育日渐重视,热情高涨,纷纷开始创客教育课程,有条件的打造学校创客实验室,不吝...
    少儿创客阅读 15,405评论 11 52
  • Arduino Due有14个数字I/O,6个模拟I/O,一个复位开关,一个ICSP下载口,7-12v电源供电。 ...
    麦牛2013阅读 3,422评论 0 8
  • 一、Arduino功能 Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响...
    iotboy阅读 2,345评论 2 4
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,937评论 0 27
  • 01 学画这件事 从今年8月份开始,我在简书上报了一个彩铅绘画课,每月坚持画至少10幅,技法自认为提高了不少,成就...
    若辰读书阅读 634评论 1 4