查看: 2808|回复: 7

[其他] MC56F84786中断问题(已解决)

[复制链接]

该用户从未签到

16

主题

48

帖子

0

注册会员

Rank: 2

积分
180
最后登录
1970-1-1
发表于 2014-9-1 11:27:21 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_ZJJ 于 2014-9-2 11:43 编辑

我写了84786的串口中断程序,但一直进入中断,不知道是哪里的问题,这是我的程序
我知道答案 目前已有7人回答

QSCIInt.rar

258.35 KB, 下载次数: 7, 下载积分: 威望 1

回复

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-9-1 11:31:59 | 显示全部楼层
感谢楼主的新建贴,我会帮你把问题转给我们的DSC工程师,他会帮你解答,还请耐心等待下。
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

48

帖子

0

注册会员

Rank: 2

积分
180
最后登录
1970-1-1
 楼主| 发表于 2014-9-1 11:49:06 | 显示全部楼层
非常感谢
回复

使用道具 举报

该用户从未签到

0

主题

43

帖子

0

注册会员

Rank: 2

积分
159
最后登录
1970-1-1
发表于 2014-9-1 14:48:27 | 显示全部楼层
我看了你的代码, 在下列代码中,你应当清除RDRF flag, 读SCI_STAT寄存器,然后读sci 数据集存期可以清除rdrf FLAG.
Receive Data Register Full Flag
This bit is set when the RX FIFO word count (CTRL2[RFCNT]) rises above the watermark
(CTRL2[RXWM]). Clear RDRF by reading STAT with RDRF set and then reading the SCI data register
until CTRL2[RFCNT] is no longer above CTRL2[RFWM]. If CTRL2[FIFO_EN] or CTRL2[RDE] is set, then
you can clear RDRF by reading the SCI data register without first reading STAT with RDRF set.

void isrQSCI0_Recv(void)
{   
    uint8 i=0;
    uint8 SerialBuff[2];                          //´æ·Å½ÓÊÕÊý¾ÝµÄÊý×é
    QSCISend1(0,'a');
    DisableInterrupt();                  //½ûÖ¹×ÜÖжÏ
    i = QSCIReN(0,1,SerialBuff);          //µÈ´ý½ÓÊÕ1¸öÊý¾Ý
    if(i==0) QSCISendN(0,1,SerialBuff);//·¢Ëͽӵ½µÄÊý¾Ý
    EnInt(0);
    EnableInterrupt();                   //¿ª·Å×ÜÖжÏ
}
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

48

帖子

0

注册会员

Rank: 2

积分
180
最后登录
1970-1-1
 楼主| 发表于 2014-9-1 16:26:07 | 显示全部楼层
我注意到了这一点,可问题是现在不进中断函数,因为函数中有一句 QSCISend1(0,'a');如果进了的话,我觉得会在串口收到a,我在后来的程序中也加入了清除标志位
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

48

帖子

0

注册会员

Rank: 2

积分
180
最后登录
1970-1-1
 楼主| 发表于 2014-9-1 16:43:08 | 显示全部楼层
我现在也不知道究竟是哪里的问题
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

48

帖子

0

注册会员

Rank: 2

积分
180
最后登录
1970-1-1
 楼主| 发表于 2014-9-1 18:16:08 | 显示全部楼层
解决了,把前两个中断注释掉,在MC56F847xx_vector.asm中有初始化前两个中断
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-9-2 11:42:57 | 显示全部楼层
shoushou08 发表于 2014-9-1 18:16
解决了,把前两个中断注释掉,在MC56F847xx_vector.asm中有初始化前两个中断

好的,感谢楼主分享自己的解决方案。
以后楼主问题解决了,还请帮我们及时结贴,在问题的结尾加上(已解决),这样方便我们查看未结帖。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-7-21 06:34 , Processed in 0.110928 second(s), 29 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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