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.
工具与软件:
我的程序已成功编译、并已加载相同内容、并调试至 CC1312R1 LaunchXLsystem。
我已经在.syscfg 文件中配置了 GPIO。
问题:我无法在 CCS 上实时查看我的物理 IO 状态的实时视图。 我厌倦了 View > register、View> Expressions DOUT15_12或 DIN31_0。 但没有结果。
请解决该问题。
你好、Siri。 我使用以下代码来查看中 GPIO 的状态
void debugGPIO(){
uint16_t inputs = readInputs ();
uint16_t outputs = readOutputs ();
system_printf ("inputs:");
for (int i = 11; i >= 0; i -){
System_printf ("%c"、(输入和(1 << i))? '1':'0');
}
system_printf ("\n 输出:");
for (int i = 11; i >= 0; i -){
System_printf ("%c"、(输出和(1 << i))? '1':'0');
}
system_printf ("\n");
system_flush();
你好、Siri、
是否可以使系统联机以检查问题。
不知道您上面发布的代码应该执行的操作、因为这些不是我可以在 SDK 中找到的函数调用。
请使用 GPIO 驱动程序来控制 GPIO。
我从最新的 SDK 中获取了 empty_CC1312R1_LAUNCHXL_freertos_gcc 示例、并在 SysConfig 中添加了 GPIO12和 GPIO15:
然后、我修改了代码以设置和清除这些 GPIO 以及示例中已使用的 GPIO (CONFIG_GPIO_LED_0)。
我没有遇到使用 CCS 调试信号以及在我分步执行代码时查看信号的设置和清除的问题。
Siri
你好、Siri、
我尝试了一个 GPIO 中断示例、但仍然遇到同样的问题。 我 使用 CCS 的屏幕快照共享示例程序的代码。
"
*
*版权所有(c) 2015-2020、德州仪器(TI)公司
保留所有权利。
*
*以源代码和二进制形式重新分发和使用,无论有无
*修改,只要满足以下条件即可
*已满足:
*
**重新分发源代码必须保留上述版权
*通知,本条件列表及以下免责声明。
*
**二进制形式的再分发必须复制上述版权
*通知,本条件列表和以下免责声明在
*分发时提供的文档和/或其他材料。
*
*既不是德州仪器(TI)公司的名称、也不是公司的名称
*其贡献者可用于认可或推广衍生产品
*未经事先书面许可使用本软件。
*
*本软件由版权持有者和贡献者"按原样"提供
*及任何明示或暗示的担保,包括但不限于,
*对特定适销性和适用性的暗示保证
*免责声明。 在任何情况下,版权所有者或
*贡献者对任何直接、间接、附带、特殊、
*惩戒性或后果性损害(包括但不限于:
*替代商品或服务的采购;使用、数据或利润的损失;
(*或业务中断)然而造成和任何责任理论,
*无论是合同,严格的责任,或侵权(包括疏忽或
因使用本软件而以任何方式产生的、
*即使被告知这种损害的可能性。
*/
/*
*==== gpiointerrupt.c ====
*/
#include
#include
/*驱动程序头文件*/
#include
/*驱动程序配置*/
#include "ti_drivers_config.h"
/*
*==== gpioButtonFxn0====
* CONFIG_GPIO_Button_0上用于 GPIO 中断的回调函数。
*
*注意:在调用回调之前清除 GPIO 中断。
*/
void gpioButtonFxn0 (uint_least8_t 索引)
{
/*切换 LED */
GPIO_TOGGLE (CONFIG_GPIO_LED_0);
}
/*
*==== gpioButtonFxn1====
* CONFIG_GPIO_Button_1上用于 GPIO 中断的回调函数。
*这可能不适用于所有开发板。
*
*注意:在调用回调之前清除 GPIO 中断。
*/
void gpioButtonFxn1 (uint_least8_t 索引)
{
/*切换 LED */
GPIO_TOGGLE (CONFIG_GPIO_LED_1);
}
/*
*==== mainThread ====
*/
void * mainThread (void * arg0)
{
/*调用驱动程序初始化函数*/
GPIO_init ();
/*配置 LED 和按钮引脚*/
GPIO_setConfig (CONFIG_GPIO_LED_0、GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
GPIO_setConfig (CONFIG_GPIO_LED_1、GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
GPIO_setConfig (CONFIG_GPIO_Button_0、GPIO_CFG_IN_pu | GPIO_CFG_IN_INT_FALLING);
/*打开用户 LED */
GPIO_WRITE (CONFIG_GPIO_LED_0、CONFIG_GPIO_LED_ON);
/*安装按钮回调*/
GPIO_setCallback (CONFIG_GPIO_BUTON_0、gpioButtonFxn0);
/*启用中断*/
GPIO_enableInt (CONFIG_GPIO_Button_0);
/*
*如果有多个输入引脚可用于您的设备,中断
*将在 CONFIG_GPIO_BUTTON1上启用。
*/
如果(CONFIG_GPIO_Button_0!= CONFIG_GPIO_Button_1)
{
/*配置 Button1引脚*/
GPIO_setConfig (CONFIG_GPIO_Button_1、GPIO_CFG_IN_pu | GPIO_CFG_IN_INT_FALLING);
/*安装按钮回调*/
GPIO_setCallback (CONFIG_GPIO_BUTON_1、gpioButtonFxn1);
GPIO_enableInt (CONFIG_GPIO_Button_1);
}
返回(NULL);
}
"
我的程序正在 CC1312R1 Launch XL 板上成功执行。 但仍然无法在我的系统中查看实时 GPIO 状态。
请告知您要做什么。