极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11653|回复: 4

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

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

使用道具 举报

发表于 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
更改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]目录下了
回复 支持 反对

使用道具 举报

发表于 2013-12-28 23:15:47 | 显示全部楼层
是否是接收方的问题,自己arduino做一个回路看看(rx 接 tx ) ,第二串口进行print 看结果。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-9 01:56 , Processed in 0.103895 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表