This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430FR4133:在函数中传递快速无符号16位 int 数组

Guru**** 2587345 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/876285/msp430fr4133-pass-an-fast-unsigned-16-bit-int-array-in-a-function

器件型号:MSP430FR4133

你(们)好。

我在编译用于检查 IC 的代码时遇到问题。 我有一个函数在基本与门上执行测试、并根据其是否正常工作输出1或0。 为了使代码尽可能清晰地模块化、我希望通过一个包含将要使用的引脚和端口的阵列。 这些数组定义如下:

//创建 GPIO 端口数组以传递到测试仪函数
uint_fast8_t 14_Pin_IC_Pos_0_LHS_Port[7]={GPIO_PORT_P8、GPIO_PORT_P1、GPIO_PORT_P1、GPIO_PORT_P2、GPIO_PORT_P8、 GPIO_PORT_P5、GPIO_PORT_P2};
uint_fast8_t 14_Pin_IC_Pos_0_RHS_Port[7]={GPIO_PORT_P1、GPIO_PORT_P1、GPIO_PORT_P5、GPIO_PORT_P5、GPIO_PORT_P5、 GPIO_PORT_P1、GPIO_PORT_P1};
uint_fast16_t 14_Pin_IC_Pos_0_LHS_PIN[]={GPIO_PIN1、GPIO_PIN1、GPIO_PIN0、GPIO_PIN7、GPIO_PIN0、 GPIO_PIN1、GPIO_PIN5};
uint_fast16_t 14_Pin_IC_Pos_0_RHS_PIN[]={GPIO_PIN7、GPIO_PIN6、GPIO_PIN0、GPIO_PIN2、GPIO_PIN3、 GPIO_PIN3、GPIO_PIN4}; 

我在每一行都看到错误:ERROR[Pe040]:期望有一个标识符。 (我还在.h 文件中的函数声明和.c 文件中的定义中收到相同的错误)

此函数将数组作为参数传递、并将其输出值分配给整数"IC_Working"。

IC_Working = Quad_2_and_Tester (14_PIN_IC_Pos_0_LHS_Port[]、14_PIN_IC_Pos_0_RHS_Port[]、14_PIN_IC_Pos_0_LHS_PIN[]、14_PIN_IC_Pos_0_RHS_PIN[]); 

我遇到错误:ERROR[Pe018]:预期为")"

函数声明如下所示:

extern int Quad_2_and_Tester (uint_fast8_t 14_Pin_IC_LHS_Port[]、
UINT_fast8_t 14_Pin_IC_RHS_Port[]、
UINT_fast16_t 14_Pin_IC_LHS_PIN[]、
UINT_fast16_t 14_Pin_IC_RHS_PIN[]); 

奇怪的是、我有一个函数根据"IC_Work"参数点亮具有不同模式的外部 LED、我还传递我的引脚和端口、并且工作正常(单独测试)。 这些是传递到函数中的变量:

//设置 LED
uint_fast8_t selectedHighPort = GPIO_port_P8;
uint_fast8_t selectedLowPort = GPIO_port_P8;
uint_fast16_t selectedHighPin = GPIO_PIN2;
uint_fast16_t selectedLowPin = GPIO_PIN3; 

这是函数:

external_LED_Blink (selectedHighPort、selectedHighPin、selectedLowPort、selectedLowPin、IC_Working);

我似乎不能弄清楚问题、因此任何帮助都将不胜感激。

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    变量名称不能以数字开头。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的快速响应!!

    我完全忘记了! 重命名数组后、除了与此函数相关的错误外、所有错误现在都消失了:

    IC_Working = Quad_2_and_Tester (IC_14_Pin_Pos_0_LHS_Port[]、
    IC_14_Pin_Pos_0_RHS_Port[]、
    IC_14_Pin_Pos_0_LHS_Pins []、
    IC_14_Pin_Pos_0_RHS_Pins []); 

    这会在每个方括号内给出该误差:

    ERROR[Pe029]:需要表达式

    我尝试过定义数组、但它不起作用。

    再次感谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我的错、只是删除了方括号。

    感谢你的帮助。