회원가입 ID/PW 찾기
AA

Keil uVision v3.62 (8051) 사용중입니다. demo version이구요

2KB Size limit 에는 해당이 않되는데 inline assembler이 지원이 않되는 군요 


unsigned char iap_write(unsigned int address,unsigned char Data)

{

unsigned char i = 0;

unsigned char Write_data = 0;

//void (*prog)(void);


//prog = 0xff0a;


for(i=0; i<2; i++) //loop for verify

{

#pragma asm

push ACC   //; backup ACC, DPTR

push DPL

push DPH

#pragma endasm;


DPL = address & 0xff; // Setting writing address

DPH = ((address & 0xff00)>>8);

ACC = Data;   // Setting writing data


EEAEN |= 0x01; // IAP routine access enable

EECNTM = EEP_M_VAL;

EECNTL = EEP_L_VAL;

EECNTLD = 0x80; // Time load

// (*prog)();

#pragma asm

lcall iap_eeprom_program ; call IAP programming

#pragma endasm

EEAEN &= 0xFE; // IAP routine access diable

#pragma asm

clr A

movc A, @A + DPTR

#pragma endasm


Write_data = ACC;


#pragma asm

pop DPH

pop DPL

pop ACC

#pragma endasm


if(Write_data == Data) break;

}

return Write_data;

}


이구문을 C 프로그램 내에 끼워 넣어야 되는데 Demo version에서는 지원 하지 않는 답니다. 

경험이 있으신분 도와주세요

댓글 0

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
  • 사랑은 사람들을 치료한다. 사랑을 받는 사람, 사랑을 주는 사람 할것 없이.
    - 메닝거
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.