查看: 7029|回复: 5

[求助] K60串口中断问题

[复制链接]

该用户从未签到

2

主题

13

帖子

0

新手上路

Rank: 1

积分
30
最后登录
1970-1-1
发表于 2012-10-25 15:08:53 | 显示全部楼层 |阅读模式
哪位大侠用MDK写过K60的中断,什么中断都好,供小弟参考一下。
在MDK的官方例程下没有中断的例子。
下面是我写的串口的中断的程序:
#include
#include "Serial.h"
#include "stdio.h"
static int8_t data;
static uint8_t done;
/*******************************printf函数*******************************/
int fputc (int ch, FILE *f) 
{
  // Debug output to serial port.
  if (ch == '\n')  {
    SER_PutChar (0x0D);
  }
  SER_PutChar (ch & 0xFF);
  return (ch);
}
 
void UART3_RX_TX_IRQHandler(void)
{
 printf("\nGet into this IS!\n");
 if(UART3->S1 & UART_S1_RDRF_MASK)
 {
  data = UART3->D;
  SER_PutChar(data);
  done = 1;
  uart_get();
 }
}
int32_t uart_get(void)
{
 if(done)
 {
  done = 0;
  return(data);
 }
 else
  return(-1);
}
/**********************************主函数*********************************/
int main(void)

 SER_Init ();
 uart_rx_tx_ir_Enable();
 //uart_get();
 while(1)
 {}
}
下面是中断使能函数:
void uart_rx_tx_ir_Enable(void)
{
 UART3->C2 = UART_C2_RIE_MASK;
 NVIC_EnableIRQ (UART3_RX_TX_IRQn);
}
 
我在调试的时候,中断函数是能够进去的,
 
问题一:
刚到printf函数就死了,如果我把printf("\nGet into this IS!\n");
函数去掉,那么调试时,data 是能收到我发送的字符。
问题二:
我这个程序只能执行一次执行中断函数,中断完成之后,我发送数据给它,中断函数进不去了。
请大侠帮忙解决一下,小弟不胜感激。
我知道答案 目前已有4人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-10-26 09:20:18 | 显示全部楼层

    RE:K60串口中断问题

    1、是printf引起的,还有puts也不能用。
    2、这个问题你应该仿真一下,看看程序是不是运行正常。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    13

    帖子

    0

    新手上路

    Rank: 1

    积分
    30
    最后登录
    1970-1-1
     楼主| 发表于 2012-10-27 16:39:10 | 显示全部楼层

    回复:K60串口中断问题

    回复第 2 楼 于2012-10-26 09:20:18发表:
    1、是printf引起的,还有puts也不能用。
    2、这个问题你应该仿真一下,看看程序是不是运行正常。 

    嗯的,这个我仿真过了,单步调试过,一进去printf就不会跳出来了,但是我不知道什么原因,puts也不能用,这是什么原因呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    13

    帖子

    0

    新手上路

    Rank: 1

    积分
    30
    最后登录
    1970-1-1
     楼主| 发表于 2012-10-29 18:31:22 | 显示全部楼层

    回复:K60串口中断问题

    自己顶下,别沉了,继续等待大侠
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    20

    帖子

    0

    新手上路

    Rank: 1

    积分
    37
    最后登录
    1970-1-1
    发表于 2013-11-18 22:07:25 | 显示全部楼层

    回复:K60串口中断问题

    在中断程序中要清除中断标志
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    8

    帖子

    0

    新手上路

    Rank: 1

    积分
    7
    最后登录
    1970-1-1
    发表于 2014-4-29 15:23:02 | 显示全部楼层

    回复:K60串口中断问题

    回复第 5 楼 于2013-11-18 22:07:25发表:
    在中断程序中要清除中断标志
     
     
    没找到中断标志位,能告诉一下吗?
     
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-19 15:45 , Processed in 0.095376 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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