2014-06-05 5 views
0

가상 포트 또는 변수 바인딩을 [porta.1, porta.2, portc.1, portc.2]로 정의해야합니다. 마이크로 컨트롤러에서 사용 가능한 모든 포트의 일부 핀 (PIC18F4550) 사용 중이며 무료 포트가 없습니다.마이크로 컨트롤러 용 새 포트 정의 방법

임베드 된 (mikrocForPIC은 내 IDE 임) C 프로그래밍에 도움이 필요합니다.

#define myport=[Porta.1+Porta.2+Portc.1+Portc.2] 

. 
. 
. 

및 사용 : 나는 아래와 같은 뭔가가 필요 나는 그것을 할 수 있었다 기억

myport++; 
myport<<1; 

하지만 난 사실 구문을 기억하지 못할!? 사용 가능한 포트, 당신은 (MikroC에서) 사용 RA1_bit에서 sbit의 PORTA1 중 하나의 특정 비트를 사용하려면

감사

+0

혼란스러운 의사 코드를 게시하는 대신 일반 영어로 수행하고자하는 것을 기재하십시오. 그런 다음 코드 구조가 무엇인지에 대해 도움을 드릴 수 있습니다. – Ross

+0

이 컨트롤러는 마이크로 컨트롤러와 컴파일러에 엄격하게 종속되어 있지 않습니다. 당신은 아무것도 지정하지 않았습니다. – harper

+1

@Harper 그것은 [pic]과 [mikroc]로 태그가 붙어있어서 작은 부분이 정의되어 있다고 생각합니다 ... – Ross

답변

0

도와주세요;

sbit는 바이트에 단일 비트를 지정하는 컴파일러 예약어입니다.

"PortA1"은 무엇이든 가능합니다. 이것을 사용하여 지정한 비트에 이름을 지정합니다.

at는 컴파일러 예약어로 작성한 이름의 경로를 제공합니다.

RA1_bit는 MikroC에서 PORTA-1 비트의 실제 정의입니다 (예 : PIC).

MCU에서 사용할 수없는 포트를 실제로 "생성"할 수 없습니다. 포트 값과 동일한 변수를 정의 할 수 있습니다.

//#define PortValue PORTA 

코드의 PortValue는 실제 실제 "PortA"와 항상 동일한 값을 갖습니다.

또는 코드에서 변수를 정의하십시오. 포트의 값과 동일한 부호없는 char을 가정 해 봅시다. 그런 다음 변수를 가지고 놀 수 있습니다.

UC ucPort;

ucPort = PORTA; //Specific to MIKROC for PIC. May be different in other compilers.