superid888 发表于 2013-3-8 22:48:01

ATMEGA8L最小系统RC振荡器管脚的扩展使用

ATMEGA8L用内部 RC振荡器,时钟频率为 8MHz,USB 5V供电,选用optiboot,串口通信115200Kb/s很正常,但4800,9600,19200等速率要不乱码,要不无法通信,不知道是啥原因,按道理速率越低越可靠,这下可是反过来的。
用了内部 RC振荡器,按ATMEGA8L的手册说明是可以将连接外部晶振的两个XTAL脚当成IO脚PB6、PB7使用的,按推算是D14、D15或者D22、D23,试了都不行,请问在哪里可以将这两个脚重新定义并加以扩展使用?谢谢!

smching 发表于 2013-3-8 23:45:33

更改pins_arduino.c 文件
然後用 digital pin 20 与 21

const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
        PD, /* 0 */
        PD,
        PD,
        PD,
        PD,
        PD,
        PD,
        PD,
        PB, /* 8 */
        PB,
        PB,
        PB,
        PB,
        PB,
        PC, /* 14 */
        PC,
        PC,
        PC,
        PC,
        PC,
      PB, /* 20- PB6*/
      PB, /* 21- PB7*/
};

const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = {
        _BV(0), /* 0, port D */
        _BV(1),
        _BV(2),
        _BV(3),
        _BV(4),
        _BV(5),
        _BV(6),
        _BV(7),
        _BV(0), /* 8, port B */
        _BV(1),
        _BV(2),
        _BV(3),
        _BV(4),
        _BV(5),
        _BV(0), /* 14, port C */
        _BV(1),
        _BV(2),
        _BV(3),
        _BV(4),
        _BV(5),
        _BV(6), /* 20 - PB6 */
        _BV(7), /* 21 - PB7 */
};

坏鸟 发表于 2013-12-28 20:12:31

smching 发表于 2013-3-8 23:45 static/image/common/back.gif
更改pins_arduino.c 文件
然後用 digital pin 20 与 21



研究了一下这个pins_arduino.c好像只有在0022下才有的么?~~?1.0以上就没有这个文件了.......

坏鸟 发表于 2013-12-28 20:18:42

本帖最后由 坏鸟 于 2013-12-28 20:21 编辑

哦~~~~~~有的有的!支持的芯片多了不是放在一个文件夹下了,分别放在不同的地方了。

这些文件现在被放在[....\arduino-1.0.1\hardware\arduino\variants]目录下了

yyy_zc 发表于 2013-12-28 23:15:47

是否是接收方的问题,自己arduino做一个回路看看(rx 接 tx ) ,第二串口进行print 看结果。
页: [1]
查看完整版本: ATMEGA8L最小系统RC振荡器管脚的扩展使用