zforce 发表于 2011-5-5 21:07:47

太坑爹了。。。4个24L01里面两个MISO管脚坏的。。。。

今天帮人调MEGA16+24L01。以前在STM32已经用的很顺溜了,心想肯定一小会的事。

上一次用AVR入门已经2年前了,当时还是ICC,现在用CV,熟悉下环境和下载器

首先 拿起MEGA16手册好好复习下。直接百度文库下一个程序,把头文件和初始化都设置好。然后用一块STM32开发板+24L01当发射,MEGA16+24L01做接收。

发生了若干的异常。

24L01的IRQ变为低电平后,再也不高了。怎么清中断也清不掉。。。重启后接收到信息,IRQ拉低,然后无法高了。。。然后也读不出数据,哎

把MEGA16的程序翻来覆去各种改,都是一个症状。PORT,SPI寄存器等等改改改。。。还是不行

之后用SPI读24L01的寄存器,没有在线调试,没有JTAG用,只能用数码管的LED显示了,所有寄存器都是0。不对啊。。有些默认寄存器,都是非0的啊

得,换成模拟SPI,还是不行


郁闷了,开始看SPI接口的波形,才发现就MISO死活没波形


以为是5V电平的问题,24L01的供电必须3.3V,MEGA16是5V的,难道是5V烧了?

翻开24L01的手册,都说最好5V单片机串4K7,51单片机串10K,这样保险。难道恰好烧了?!

把MEGA16也换了3.3V供电,还是不行。

开始换24L01,一共4个,最终测试2个好2个坏,无论MEGA16在5V的情况下还是3.3供电下。好的2个始终好,坏的始终坏,坑爹啊。。。。

第一个坏的,说我是因为5V信号电平烧的我忍了,测试第二个坏的我是在3.3V环境下的。。。确认坏了,才拿5V测了下。

而且要坏也不全坏,MOSI等都好的,寄存器配置都对的,所以有点反应。就偏偏MISO,读不出来!读所有寄存器都是0。。。哎,让你读不出状态寄存器清不了中断。


浪费了好久时间。。。。


总结

MISO       24L01->MEGA16(24L01肯定输出3.3V信号给MEGA16,低电压给过去,直连是比较安全的)

MOSI       24L01<-MEGA16(MEGA16输出给24L01,5V输出给3.3的,存在风险)

按说,如果MEGA16是5V电平信号,要烧或者不稳定吧,即是MOSI,以及SCK,SS,等等。反倒24L01的输出,MISO管脚先挂了。。。神奇了。。。



联想最近调FPGA,一个串口程序,AS下载好后。早上好好的,放一边玩三国杀。过了会死活不出数。拿出几个版本的程序用JTAG方式下载,都没动静。FPGA的管脚用示波器测也没动静。开始查焊接和接头的问题。查不出。无奈的放着,准备晚上再调。然后又自己神奇的“自愈”了



总结 积攒RP吧。。。

zzh90513 发表于 2013-6-29 15:58:52

5V电平确实容易烧,我的串2K电阻烧了,串4K7运行没问题了
页: [1]
查看完整版本: 太坑爹了。。。4个24L01里面两个MISO管脚坏的。。。。