0

我需要使用 [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;

我记得它可以,但我不记得什么是真正的语法!?

请帮忙

谢谢

4

1 回答 1

1

如果您想在其中一个可用端口中使用特定 BIT,请使用(在 MikroC 中),sbit PORTA1 at RA1_bit;

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

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

at 是编译器保留字,给出您创建的名称的路径。

RA1_bit 是 MikroC 中 PORTA-1 位的实际定义,以 PIC 为例。

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

 //#define PortValue PORTA

代码中的 PortValue 将始终具有与实际物理“PortA”相同的值。

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

UC 端口;

ucPort = PORTA; //Specific to MIKROC for PIC. May be different in other compilers.
于 2014-06-05T18:06:54.530 回答