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.

[参考译文] LP-AM243:将GPIO R/W/Int集成到同一项目时出现问题

Guru**** 2589300 points
Other Parts Discussed in Thread: AM2434, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1090295/lp-am243-trouble-integrating-gpio-r-w-int-into-same-project

部件号:LP-AM243
主题:AM2434, sysconfig中讨论的其它部件

您好,

我是AM2434的新用户,在将您的读,写和中断演示集成到同一源项目时遇到了问题。

来源:

  • 写入:Tirex->MCU+ SDK 8.02 v.00.31 AM243x启动板:gPIO_LED_BLINK
  • 中断:Tirex->MCU+ SDK 8.02 v.00.31 ->AM243x启动板:gPIO_INT_INTERRUPT
  • 读取: E2E - LP-AM243读取GPIO时出现故障

演示:

问题:

  1. GPIO写入在中断处理程序中不起作用(磁头:#481B)
  2. 我在将SW5更改为ISR中的读数时遇到问题
  3. 切换回SW5中断触发器以完成此演示?

我需要有关上述问题#1-#3的帮助以完成我的驱动程序参考工作,如何解决问题#1?

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

    感谢你们的帮助! 非常感谢我们的团队

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

    Justin,您好!

    好的,我从#1开始。

    我看到您有一个名为"gPIO_INPUT_INTERRUPT _am243x-lp_r5fss0-0_nortos_ti-arm-clang"的CCS项目,并且GPIO ISR中包含以下代码:

        /* Get address after translation translate */
        ledBaseAddr = (uint32_t) AddrTranslateP_getLocalAddr(GPIO_LED_BASE_ADDR);
    
        GPIO_setDirMode(ledBaseAddr, GPIO_LED_PIN, GPIO_LED_DIR);
        for(int i=0; i<5; i++)
        {
            GPIO_pinWriteHigh(ledBaseAddr, GPIO_LED_PIN);
    //        ClockP_sleep(1);          // was getting stuck here @ runtime
            GPIO_pinWriteLow(ledBaseAddr, GPIO_LED_PIN);
    //        ClockP_sleep(1);
        }
    

    这是不适用于GPIO写入的代码吗?

    此致,
    弗兰克

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

    是的! 谢谢Frank,这是从上面 列出的gitlab.com/jmreina/ti_gpio_debug'中的子目录'/GPIO_LED_BLINK _am243X lp-lp_r5fs0-0_nortos_ti-arm-clang/'中获取的代码

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

    Justin,您好!

    您应该使用sysconfig添加驱动LED的GPIO:

    • sysconfig将生成代码以配置选定的PAD以实现GPIO功能。 这可能是以前缺少的内容。
    • sysconfig还将为您在应用程序中手动定义的GPIO生成宏。

    强烈建议您在以下网址查看AM243x MCU+ Adademy sysconfig概述: https://dev.ti.com/tirex/explore/node?node=ABM1wckHxYMPpAAYgyP4Aw__6zyEKJF__LATEST

    您可以从GPIO LED项目中复制新GPIO的sysconfig设置:

    我稍微修改了你的代码。 现在,当按下GPIO输入按钮时,GPIO输出LED将切换状态。

    我共享了我修改的文件example.syscfg和gpo_input_interrupT.c.

    我还不清楚您的第2和第3个问题。 请您详细说明一下吗? 哪个代码显示了问题?

    此致,
    弗兰克

    /cfg-file/__key/communityserver-discussions-组件文件/908/example.syscfg

    /CFS-FILE/__key/communityserver-discussions-组件-文件/908/6318.GPIO _5F00_INPUT_5F00_INTERRUT.c

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

    弗兰克,你是我的英雄-谢谢你。

    请参阅REPO以获取更新(标题:#5F30),我使用了以下步骤-

    1. 确认写入演示(#45A1)
    2. 为SW5将GPIO输入添加到sysconfig (1.54 @ B9添加到example.syscfg)
    3. 编译(为访问生成SW5 #defines)
    4. 添加初始化(GPIO _setDirMode()用于SW5)
    5. 阅读并重复! ( gPIO_pinRead(),用于SW5 )

    我现在非常清楚这一点,我对生成的解决方案充满信心,谢谢Frank :)

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

    Justin,您好!

    我很高兴它能为您服务! 现在我将关闭此线程。

    此致,
    弗兰克