Other Parts Discussed in Thread: SYSBIOS
Thread 中讨论的其他器件:SYSBIOS
各位专家:
目前、我正在尝试将中断计数写入 UART 并根据 UART 输入打印数据、因此我以 UART 回显和 GPIO 中断示例为例进行此操作、但我无法打印中断计数。我已经尝试了很多方法、但无法实现 因此请建议实现输出的最佳方法
我已共享我的代码供您参考
我希望在按下按钮时打印中断计数
*/======= uartecho.c ====
*
/* XDCtools 头文件*/
#include
#include
/* BIOS 头文件*/
#include
#include
/* TI-RTOS 头文件*/
#include
#include
/*示例/板头文件*/
#include "Board.h"
#include "UARTUtils.h"
#include
#define TASKSTACKSIZE 768
Task_Structtask0Struct;
char task0stack[TASKSTACKSIZE];
INT 计数= 0;
void gpioButtonFxn0 (无符号 int 索引)
{
/*清除 GPIO 中断并切换 LED */
GPIO_TOGGLE (Board_LED0);
如果(count++=100){
计数= 0;
}
}
void gpioButtonFxn1 (无符号 int 索引)
{
/*清除 GPIO 中断并切换 LED */
GPIO_TOGGLE (Board_LED1);
如果(count++=100){
计数= 0;
}
}
void echoFxn (UArg0、UArgarg1)
{
字符输入;
UART_Handle UART;
UART_Params uartParams;
const char echoPrompt[]="\fEchoing Characters:\r\n";
/*创建一个数据处理关闭的 UART。 *
UART_PARAMS_INIT (uartParams);
uartParams.writeDataMode = UART_DATA_BINARY;
uartParams.readDataMode = UART_DATA_BINARY;
uartParams.readReturnMode = UART_return_full;
uartParams.readEcho = UART_ECHO_OFF;
uartParams.baudrate = 9600;
UART = UART_OPEN (Board_UART0、uartParams);
if (UART == NULL){
System_abort ("打开 UART 时出错");
}
UART_WRITE (UART、echoPrompt、sizeof (echoPrompt));
/*循环永久回显*/
while (1){
UART_READ (UART、INPUT、1);
UART_WRITE (UART、INPUT、1);
}
}
/*
*==== main ====
*
int main (空)
{
/*呼叫板初始化函数*/
Board_initGeneral();
Board_initGPIO();
Board_initUART();
/*构造 BIOS 对象*/
Task_Params taskParams;
Task_Params_init (&taskParams);
taskParams.STACKSIZE = TASKSTACKSIZE;
taskParams.stack =_task0Stack;
taskParams.instance->name ="回波";
Task_construct(&task0Struct,(Task_FuncPtr) echoFxn、&taskParams、NULL);
/*打开用户 LED */
GPIO_WRITE (Board_LED0、Board_LED_ON);
// UARTUtils_systemInit (0);
/*此示例启用了日志记录和许多其他调试功能*/
system_printf ("此示例不会尝试将代码或数据最小化"
"封装\n");
system_flush();
System_printf ("启动 UART 回显示例\n 系统提供程序设置为"
"SysMin。 停止目标以查看"
"ROV.\n");
/* SysMin 仅在您调用 flush 或 exit 时才会打印到控制台*/
system_flush();
/*安装按钮回调*/
GPIO_setCallback (Board_BUTTON0、gpioButtonFxn0);
/*启用中断*/
GPIO_enableInt (Board_BUTTON0);
/*
*如果您的器件有多个输入引脚可用、则会中断
将在 Board_Button1上启用*。
*
if (Board_BUTTON0!= Board_Button1){
/*安装按钮回调*/
GPIO_setCallback (Board_Button1、gpioButtonFxn1);
GPIO_enableInt (Board_Button1);
}
/*启动 BIOS */
BIOS_start();
返回(0);
}
此致
Surya

