[AVR单片机] 128跑了段时间就不跑了

[复制链接]
 楼主| ershisi 发表于 2010-6-14 18:53 | 显示全部楼层 |阅读模式
同一个程序分别用mega168(8MHz)和mega128(8MHZ)编译,仿真,168可以跑,128跑了段时间就不跑,卡在  
void SpiTx (u8 Data)  
{  
  SPDR= Data;  
  while(!(SPSR & (1<<SPIF))); // 这里,
}  
初始化程序
PORTB = 0x0f;//开机继电器不吸合//开机继电器不吸合
DDRB  = 0xf7;//spi口做第二功能用,  设置MOSI,SCK,SS 为OUTPUT,MISO为INPUT   
(SPCR=(1<<SPE)|(1<<MSTR));//使能SPI主机模式,
SPSR = (1<<SPI2X); //SPSR=0x01;
lpydidi 发表于 2010-6-14 19:00 | 显示全部楼层
mega168和mega128的功能不太一样
ShakaLeo 发表于 2010-6-15 08:57 | 显示全部楼层
有可能是熔丝位的问题,mega128有个熔丝位“mega103兼容模式”,默认是programmed的状态,这时按照mega128的内存空间进行编译就会产生错误。
laslison 发表于 2010-6-15 16:16 | 显示全部楼层
楼上正解!
麻辣鸭脖子 发表于 2010-6-15 17:20 | 显示全部楼层
两个不兼容?
chrisbo 发表于 2010-6-18 15:42 | 显示全部楼层
128如果是在103兼容模式下有很多功能是不能实现的,比如说扩展的I/O空间、只有一个串口能使用等,你去看看相关资料吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

413

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

0

主题

413

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部