在线时间0 小时
UID2031205
注册时间2013-8-5
NXP金币0
该用户从未签到
新手上路

- 积分
- 29
- 最后登录
- 1970-1-1
|
单片机型号是mc9s08sg8,与24c04进行数据的存储,我用示波器测试的,发现一个很费解的问题,程序是这样的,
程序1:
#include /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
//unsigned char data[]={0x56,0x57,0x58,1,2,3,4,5,6,7,8,9,10,11,12,13};
long i=0;
int flag=0;
void main(void) {
EnableInterrupts; /* enable interrupts */
/* include your code here */
SOPT1=0x00;
SPMSC1=0x1C;
SPMSC2=0x00;
if (*(unsigned char*)0xFFAF != 0xFF)
{ /* Test if the device trim value is stored on the specified address */
ICSTRM = *(unsigned char*)0xFFAF; /* Initialize ICSTRM register from a non volatile memory */
ICSSC = *(unsigned char*)0xFFAE; /* Initialize ICSSC register from a non volatile memory */
}
ICSC1=0x06;//选择时钟频率
ICSC2=0x40;
SOPT1_IICPS=1;//iic引脚的选择
MTIMSC=0x10;//3s的中断延迟,主要是等电压稳定后开始
MTIMMOD=0xB6;
MTIMCLK=0x18;
MTIMSC=0x60;
IICF=0X4B;
IICC1_IICEN=1;
//IICC1_IICIE=1;//中断取消,使能iic、
IICS=0X12;
//IICD=0xa4;
while(!flag);
IICC1_TX=1;
IICC1_MST=1;
IICD=0xa4;
for(i=0;i
|
|