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.

[参考译文] CC1352P:GPIO 引脚 PIN_setInterrupt()的正确引脚配置。 尽管信号会触发中断、但它当前仅返回0

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1295539/cc1352p-what-s-the-correct-pin-configuration-for-pin_setinterrupt-for-gpio-pins-it-currently-only-returns-0-although-the-signal-triggers-an-interrupt

器件型号:CC1352P

在中断后读取 DIO23的输出值将始终返回0值。

我不清楚应该设置什么、因为示波器的输出

清楚地显示了存在信号。 主要思路是使用中断边沿来确定

输入信号的频率。 我可以在示波器上看到信号、因此我知道它是通过

指定。 此外、会触发中断、这样它就能清晰地获得输入信号。

设置:

 CONST PIN_Config ULTRASON_PIN_SETUP []=
   {
    CC1352P_2_LAUNCHXL_DIO23_ANALOG | //引脚进行配置
    PIN_INPUT_EN                   | //启用数字读取
    pin_pulldown                   | //当没有电压时拉至接地
    PIN_GPIO_LOW                   | //开始时引脚处于低电平
    PIN_HYSTERESIS                 | //添加历史记录
    PIN_DRVSTR_MAX、                   //最大输出
    引脚终止
   };

 ULTRASONIC_PIN_Handle = PIN_OPEN (&ULTRASONIC_PIN_STATE、
                                        ULTRASONIC_PIN_SETUP);

 IF (ULULTRASONIC_PIN_Handle == NULL)
 {...}

//请访问 software-dl.ti.com/.../_p_i_n_8h.html
//注册中断的回调

if (PIN_registerIntCb (ulsacon_pin_handle、UltrasonicPinCallback)!= PIN_SUCCESS)
{...}

 //现在设置中断
 if (PIN_setInterrupt (ULTRASONIC_PIN_Handle、CC1352P_2_LAUNCHXL_DIO23_ANALOG | PIN_IRQ_BOTHEDGES)!= PIN_SUCCESS)
 {...}

回调设置:

void UltrasonicPinCallback (PIN_Handle handle、PIN_ID)
{
   //读取当前引脚值
   短电流_pin_value = PIN_getOutputValue (id);

PIN_getOutputValue()的输出始终为0。 我已经尝试过 PIN_getInputValue()。 我尝试过

仅 PIN_IRQ_POSedge 和 PIN_IRQ_NEGEDGE、但结果相同。 是

就好像引脚配置的某个东西不允许输入/输出缓冲器

阅读。 需要添加哪些想法才能正确输出?

谢谢

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

    快速更新:

    我将读取值更改为 PIN_getPortOutputValue()并且它可以看到单边设置,但不能同时看到,所以这肯定是一个配置问题

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

    您在使用哪种 SDK? 如果开始新开发、则应为此使用最新的 SDK 和推荐的 GPIO 驱动程序。

    (在6.20 (2Q22) SDK 版本中已弃用 PIN 驱动程序)

    您可以  从 SDK 中测试 gpiointerrupt (TI.com)示例、然后只需添加 GPIO_READ 即可读取引脚。

    此处记录了 GPIO 驱动程序:

    GPIO.h 文件参考(TI.com)

    Siri

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

    我目前使用的是 Code Composer 版本:9.3.0.00012。 版本似乎不相似。 您指的是哪种 SDK?

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

    如果您现在要开始开发、我强烈建议您使用最新的 SDK (SimpleLink CC13xx CC26xx SDK (TI.com))和 CCS-12.2.0。


    Siri

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

    这是旧开发、但我将尝试使用新的 SDK。 我曾尝试使用新的 SDK、但从旧的 PIN 设置中移植当前的代码库是一项非常艰巨的任务。 但查看了一些数据后、我想我有另一种使用旧 SDK 的权变措施。

    谢谢