Other Parts Discussed in Thread: EK-TM4C129EXL
Thread 中讨论的其他器件:EK-TM4C129EXL
你(们)好
我正在使用 EK-TM4C129EXL 评估套件。 如何将 PN2和 PN3设置为输入引脚??? 要检测的 GPIO 引脚输入电压是多少???? 我是否应将3.25伏作为 GPIO 引脚的输入电压?
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.
Other Parts Discussed in Thread: EK-TM4C129EXL
你(们)好
我正在使用 EK-TM4C129EXL 评估套件。 如何将 PN2和 PN3设置为输入引脚??? 要检测的 GPIO 引脚输入电压是多少???? 我是否应将3.25伏作为 GPIO 引脚的输入电压?
您好、先生、
非常感谢您的回复... 我了解了电压触发的概念。 但在我的代码中、它不会触发中断。 我不知道我在哪里犯了错误..
/*
* ==== taAppCounterTaskFxn ===
* 这是由任务管理的任务函数。 它的使用
* 定期检查 GPIO 引脚是否用于目标/实际应用
* 递增和复位中断
* Task_sleep 由 arg0确定、它是什么
*
* **/
GPIO_PinConfig gpioPinConfigs[]={
/*输入引脚*/板 用户开关中断
/* EK_TM4C129EXL_USR_SW1 */
GPIOTIVA_PJ_0 | GPIO_CFG_IN_pu | GPIO_CFG_IN_INT_RISING、
/* EK_TM4C129EXL_USR_SW2 */
GPIOTIVA_PJ_1 | GPIO_CFG_IN_pu | GPIO_CFG_IN_INT_RISING、
/*输出引脚*/
/* EK_TM4C129EXL_USR_D1 */
GPIOTIVA_PN_1 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_LOW、
/* EK_TM4C129EXL_USR_D2 */
GPIOTIVA_PN_0 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_LOW、
我们添加了
***/
/*输出引脚*/
/* EK_TM4C129EXL_PL1 */
GPIOTIVA_PL_1 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_LOW、
/* EK_TM4C129EXL_PL2 */
GPIOTIVA_PL_2 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_LOW、
/*输入引脚*/(中断)
/* EK_TM4C129EXL_PN2 */
GPIOTIVA_PN_2 | GPIO_CFG_IN_pu | GPIO_CFG_IN_INT_RISING、
/* EK_TM4C129EXL_PN3 */
GPIOTIVA_PN_3 | GPIO_CFG_IN_pu | GPIO_CFG_IN_INT_RISING、
空 taAppCounterTaskFxn (UARg arg0、UARg arg1)
{
while (1)
{
/* 2.1 */
GPIO_setCallback (Board_counter_RST、targetActualAppRstFxn);//我们添加了
//使用用户开关按钮0测试呼叫
//GPIO_setCallback (Board_BUTTON0、targetActualAppRstFxn);//板
/*启用中断*/
GPIO_enableInt (Board_counter_RST);//我们添加了
//GPIO_enableInt (Board_BUTTON0); //板
/* 2.2 */
/*安装按钮回调*/
GPIO_setCallback (Board_counter_INC、targetActualAppInsFxn);//我们添加了
//使用用户开关按钮1测试呼叫
//GPIO_setCallback (Board_Button1、targetActualAppIncFxn);//板
/*启用中断*/
GPIO_enableInt (Board_counter_INC);//we added
//GPIO_enableInt (Board_Button1);//板
//每20ms 或为 main()中的 arg0指定一次调用此任务
Task_sleep (unsigned int) arg0);
}
}
/*
* ==== 心跳任务 BeatFxn ===
* 这是由任务管理的任务函数。 它的使用
* 以指定的时钟节拍数定期运行行扫描
* 基于扫描要求。
* Task_sleep 由 arg0确定、它是什么
* 已针对心跳任务实例进行配置。
*
空心跳任务 Fxn (UARg arg0、UARg arg1)
{
while (1)
{
System_printf (" BeatheFxn 正在运行.. \n");
/* SysMin 仅在您调用 flush 或 exit 时才会打印到控制台*/
system_flush();
// 1. 执行行扫描并通过 SPI 向 LED 驱动器发送数据
ledDispRowScanFxn();
//完成所有任务功能后,进入睡眠状态
Task_sleep (unsigned int) arg0);
//GPIO_TOGGLE (Board_LED0);
}
}
/*
* ==== main ====
*
int main (空)
{
Task_handle taskHandle1;
Task_Params 任务参数1;
ERROR_Block EB;
Task_handle taskHandle2;
Task_Params taskParams2;
/*呼叫板初始化函数*/
Board_initGeneral();
Board_initGPIO();
Board_initEMAC();
Board_initSPI();
System_printf ("心搏功能任务已创建\n");
/* SysMin 仅在您调用 flush 或 exit 时才会打印到控制台*/
system_flush();
//创建 LED 显示应用任务
/* Init the Error_Block */
ERROR_INIT (&EB);
/*为心搏 fxn 创建一个任务,用于显示扫描*
/*初始化默认值并设置参数。 *
Task_Params_init (&taskParams1);
taskParams1.arg0 = 1;
taskParams1.STACKSIZE = task_stack_size;
taskParams1.priority = 15;
taskHandle1 = Task_create ((Task_FuncPtr)心跳任务 Fxn、&taskParam1、&EB);
if (taskHandle1 = NULL){
System_printf ("错误:创建新任务失败\n");
/* SysMin 仅在您调用 flush 或 exit 时才会打印到控制台*/
system_flush();
}
/*为目标/实际应用特定计数器增量创建任务并重置*/
/*初始化默认值并设置参数。 *
Task_Params_init (&taskParams2);
taskParams2.arg0 = 200;
taskParams2.STACKSIZE = task_stack_size;
taskParams2.priority = 10;
taskHandle2 = Task_create ((Task_FuncPtr) taAppCounterTaskFxn、&taskParams2、&EB);
if (taskHandle2 = NULL){
System_printf ("错误:创建新任务失败\n");
/* SysMin 仅在您调用 flush 或 exit 时才会打印到控制台*/
system_flush();
}
/*启动 BIOS */
BIOS_start();
返回(0);
}