打印
[AVR单片机]

128跑了段时间就不跑了

[复制链接]
1578|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
楼上正解!

使用特权

评论回复
5
麻辣鸭脖子| | 2010-6-15 17:20 | 只看该作者
两个不兼容?

使用特权

评论回复
6
chrisbo| | 2010-6-18 15:42 | 只看该作者
128如果是在103兼容模式下有很多功能是不能实现的,比如说扩展的I/O空间、只有一个串口能使用等,你去看看相关资料吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

413

帖子

1

粉丝