对不起,蹩脚的标题我不知道如何问什么即时通讯寻找。这是我的问题。我有一个msp430处理器连接到一堆收发器。我有单独的离散输出去去选择每个收发器。正常我定义选择每个芯片的这样将一个表达式分配给一个typedef结构体变量
#define enable_port_rx P1OUT &= ~BIT2
#define disable_port_rx P1OUT |= BIT2
#define enable_port_tx P1OUT |= BIT1
#define disable_port_tx P1OUT &= ~BIT1
我有,我放在一个阵列,这样我可以,虽然他们有迭代循环每个收发器结构。
extern motors m[10];
typedef struct
{
unsigned char address;
unsigned int value;
unsigned int xdata[10];
} motors;
我希望能够从结构体中启用/禁用rx/tx。 我想做这样的事情。
m[0].enable_tx = P1OUT |= BIT1;
m[0].disable_tx = P1OUT &= ~BIT1;
m[1].enable_tx = P3OUT |= BIT2;
m[1].disable_tx = P3OUT &= ~BIT2;
,这样我可以给他们打电话时,我需要他们..
m[0].disable_tx; //disable tx
m[1].disable_tx; //disable tx
我想下面这样的事情会工作。那是我将指针保存到寄存器和需要的位,以便在需要时访问它们。但这不起作用。
//inside strut
volatile unsigned char *rxPxOUT;
unsigned char rxBITx;
volatile unsigned char *txPxOUT;
unsigned char txBITx;
//setup
m[0].txPxOUT=&P1OUT;
m[0].txBITx = BIT1;
//function call
&m[0].txPxOUT &= ~m[0].txBITx;
在此先感谢
做匿名函数的其他手段,不是名为'enable_tx'的成员。然后? –
@SouravGhosh这是OP的问题。他想知道如何添加[结构中的函数](http://stackoverflow.com/questions/17052443/c-function-inside-struct) – Eregrith