컨트롤러"8051에서

X

x_zoli

Guest
모두 안녕

사람이 어떻게 sbit와 애 * 위원장 함수의 매개 변수 및 / 또는 SFR 주소를 넘기려면, 그래서 나중에 내가 그 sbits 또는 sfrs에 (특별히 포트를 더 핀, 혹은 전체 포트에 값을 할당할 수있습니다)를 말해 줄 수 있어요.
난 (HD44780) 호환 LCD는 함수의 집합을 작성하고 그 라이브러리를 만드는 노력하고 있어요.라이브러리로 사용하여, 제가 수준 데이터 포트 및 제어 핀이 라이브러리 함수의 뜻에 의해 지정된 될 수있는 유연성을해야.여긴 내 문제가 시작됩니다.

감사합니다

 
안녕,

, SFR에 대한 숯불 변수를 사용 및 사용 / 비트 처리 또는

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="미소" border="0" />환호!

 
Keil에 SFR 주소와 비트 가능한되지 않는 매개 변수
또한, c51 설명서를 참조

usbman

 
안녕하세요

다음과 같은 방법 SFR 그것을 C 언어와 주소를 사용하여 액세스하는 것입니다

/ / 주소 ptr 설정 - 만약 SFR 99H에 누워 주소 :

sfr_test 정의 # 0x099 / / 0x099 SFR 주소입니다

무효 ChangeSfr (서명 숯불 * SfrData)
(
/ / 55H에 SFR의 값을 설정합니다
SfrData = 0x55;

)/ / 함수 호출
ChangeSfr ((서명 숯불 *) sfr_test);당신이 단일 비트에 액세스하려면이 쟌를 사용할 수 있다고 생각하지 마!
안부

Bobi

 
함수 매개 변수로서 프로그램의 시작 부분에 sbit로 누른 다음 함수는 매개 변수와 같은 정의를 사용하여 비트를 정의 비트 패스
예 : -
sbit ACC_0 = 0xE0;
무효 a_func (ACC_0)
(
)
이것은 함수를 호출만큼 정의가 제대로 작동
이 시도되었으며 Keil에서 (uvision 2) 테스트
ayan

 
위의 soulutions 아무도 작동합니다
매개 변수 레지스터에 전달됩니다!Keil에

출력은 ASM을 확인하시기 바랍니다

usbman

 

Welcome to EDABoard.com

Sponsor

Back
Top