如何在c语言中为微控制器定义新端口

如何在c语言中为微控制器定义新端口,c,embedded,microcontroller,pic,mikroc,C,Embedded,Microcontroller,Pic,Mikroc,我需要用[porta.1、porta.2、portc.1、portc.2]定义虚拟端口或变量绑定 因为微控制器(PIC18F4550)中所有可用端口的一些引脚正在使用,我没有任何空闲端口 我需要嵌入式C编程方面的帮助(mikrocForPIC是我的IDE)。 我需要像下面这样的东西: #define myport=[Porta.1+Porta.2+Portc.1+Portc.2] . . . 并用于: myport++; myport<<1; myport++; myport如

我需要用[porta.1、porta.2、portc.1、portc.2]定义虚拟端口或变量绑定 因为微控制器(PIC18F4550)中所有可用端口的一些引脚正在使用,我没有任何空闲端口

我需要嵌入式C编程方面的帮助(mikrocForPIC是我的IDE)。 我需要像下面这样的东西:

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

.
.
.
并用于:

myport++;
myport<<1;
myport++;

myport如果要在一个可用端口中使用特定位,请使用(在MikroC中), RA1_位的sbit端口1

sbit是编译器保留字,这意味着您在一个字节中指定一个位

“PortA1”可以是任何东西。您可以使用它为指定的位命名

at是编译器保留字,提供您创建的名称的路径

RA1_位是MikroC中PORTA-1位的实际定义,例如PIC

您不能虚拟地“创建”MCU上不可用的端口。您可以定义一个等于端口值的变量

 //#define PortValue PORTA
在代码中,PortValue始终与实际的物理“PortA”具有相同的值

或者,在代码中定义一个变量,比如unsigned char,它等于端口的值。然后您就可以使用变量了

加州大学港口分校

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

你能不能用通俗易懂的英语陈述一下你想要完成的任务,而不是发布一些令人困惑的伪代码?然后,我们可以帮助您了解代码结构。您认为这严格依赖于微控制器和编译器吗。您没有指定任何内容。@Harper它用[pic]和[mikroc]标记,所以我认为这一小部分已经定义好了……有些人太聪明了,有些人太愚蠢了,别担心!