野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16949|回复: 3

如何在主函数中输出RecData_Card[4]的值

[复制链接]
发表于 2014-5-22 19:20:06 | 显示全部楼层 |阅读模式
这是串口中断部分的实验;在这个实验当中printf();实在中断部分输出的。如何在主函数中输出RecData_Card[4]);
的值
void USART1_IRQHandler(void)
{
if(RecOk_Card == 0)
{
  if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)  //接收中断(接收到的数据必须是0x0d 0x0a结尾)
  {
   RecData_Card[4] = USART_ReceiveData(USART1);
   printf("%c" , RecData_Card[4]);
  }
}
}


主函数为一下部分;
int main(void)
{
/* USART1 配置模式为 9600 8-N-1,中断接收 */
USART1_Config();

NVIC_Configuration();
printf("\r\n 这是一个串口中断接收回显实验 \r\n");
printf("\r\n 请在超级终端或者串口调试助手输入字符 \r\n");
while(1)
{
}
}

主题推荐

回复

使用道具 举报

发表于 2014-5-22 19:22:51 | 显示全部楼层
在main里直接printf就好了,如果你要的是最新数据,就定义一个标志位,进入中断后设置标志,main函数检测到该标志再输出,输出完后清空标志,周而复始。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-22 19:26:45 | 显示全部楼层
红舒扬 发表于 2014-5-22 19:22
在main里直接printf就好了,如果你要的是最新数据,就定义一个标志位,进入中断后设置标志,main函数检测到 ...

好的,谢谢啊。不过我试过了,好像不行啊。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-22 19:30:45 | 显示全部楼层
BlueSky 发表于 2014-5-22 19:26
好的,谢谢啊。不过我试过了,好像不行啊。

int main(void)
{
        /* USART1 配置模式为 9600 8-N-1,中断接收 */
        USART1_Config();
       
        NVIC_Configuration();

        printf("\r\n 这是一个串口中断接收回显实验 \r\n");       
        printf("\r\n 请在超级终端或者串口调试助手输入字符 \r\n");       
        while(1)
        {
                printf("%c" , RecData_Card[4]);               
        }
}
是这样吗?
怎么会出现如下错误:..\..\User\main.c(51): error:  #20: identifier "RecData_Card" is undefined               
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-22 10:25 , Processed in 0.029033 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表