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.

[参考译文] CC1310:CC1310 上使用传感器控制器 API 出现意外的 GPIO 输入值

Guru**** 2809715 points

Other Parts Discussed in Thread: CC1310

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1623467/cc1310-unexpected-gpio-input-values-on-cc1310-using-sensor-controller-api

器件型号: CC1310

我正在使用的器件 CC1310 、在读取 GPIO 针脚的状态时遇到问题。

自动读取 IO0 和 IO1 、我总是读一个值 0 使用 API、即使我在硬件方面验证了 引脚电平为高电平

但是、当我将配置更改为时 IO1 ,我可以正确地阅读 1. 输出电压。 但当我将引脚连接到时 0V(接地) 、API 返回值 3. 而不是 0

我正在使用 gpioGetInputValue(1, alertState)用于读取引脚状态的 API。

以下是我的示例代码:

U16 alertState;

gpioGetInputValue (1、alertState);

output.tempRead = alertState;

如果 (alertState == 1){
  Output.ALERT = 1;
  fwGenAlertInterrupt();
}

如果 (alertState !=1){
  Output.ALERT = 0;
}

fwGenAlertInterrupt();
fwScheduleTask(1);

我的 GPIO 配置如下所示。  


image.png

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

    尊敬的 tech_team:

    您使用的封装尺寸是多少? 您使用的是 LAUCHXL-CC1310、后者采用 7x7 封装、没有 GPIO0。 还是使用具有不同封装尺寸的定制电路板?  

    不过、我认为问题是您使用的是 gpioGetInputValue (1;alertState)、而不是使用传感器控制器定义的 GPIO 名称、我认为索引可能不正确。

    转到 I/O 映射并将警报引脚分配给 DIO1、然后使用

    gpioGetInputValue(AUXIO_I_ALERT_PIN; alertState);

    此致、

    Daniel