找回密码
 立即注册
查看: 1574|回复: 14

STC8A8K48D4

[复制链接]

2

主题

8

回帖

42

积分

新手上路

积分
42
发表于 2023-6-27 10:14:52 来自手机 | 显示全部楼层 |阅读模式
在一段时间内,频繁使用定时器,通过串口接收数据,其RI2位不能置1,等定时器使用结束后才可以进入串口中断,什么原因?
串口用的定时器和频繁使用的定时器不是同一个
串口优先级也设置了
串口中断里EA也关了

是什么原因?
IMG20230627100500.jpg
IMG20230627100432.jpg
IMG20230627100409.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:142
  • 最近打卡:2025-04-27 09:42:20

11

主题

157

回帖

1780

积分

版主

积分
1780
发表于 2023-6-27 14:52:01 | 显示全部楼层
楼主你好,可以先用我们的范例程序测试下

8A 串口范例程序.zip

317.27 KB, 下载次数: 100

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-30 14:38:57

25

主题

977

回帖

3599

积分

超级版主

积分
3599
发表于 2023-6-27 15:15:46 | 显示全部楼层

定时器0的中断标志清错了
1.png


另外,定时器0~4,INT0~4的中断标志都是硬件自动清的,不需要软件清
中断里面也不建议关EA
回复 支持 0 反对 1

使用道具 举报 送花

2

主题

8

回帖

42

积分

新手上路

积分
42
发表于 2023-6-27 15:19:00 | 显示全部楼层
串口设置没什么问题
现在就是刚开机的自检用到定时器0自检,然后在定时器0工作过程中,使用串口UART2定时器2,RI2位无法置1
然后在程序中再次调用开机时的自检函数,串口二定时器二又可以正常置位进入中断
我尝试把开机的程序写成调用的指令,但是还是一样的问题
是不是第一次通讯置位会有点问题
回复 支持 反对

使用道具 举报 送花

2

主题

8

回帖

42

积分

新手上路

积分
42
发表于 2023-6-27 15:42:36 | 显示全部楼层
zh*** 发表于 2023-6-27 15:15
定时器0的中断标志清错了

嗯。。确实清错了
我看网上一些人说在串口接收中断中最好把EA关掉
我把这些改了,但是还是解决不了问题

点评

如果方便,你可以将你的代码简化一下 打包发出来,我这边用实际的芯片跑一下看看效果 这样比较好确定问题  详情 回复 发表于 2023-6-27 15:47
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-30 14:38:57

25

主题

977

回帖

3599

积分

超级版主

积分
3599
发表于 2023-6-27 15:47:16 | 显示全部楼层
本帖最后由 zhp 于 2023-6-27 15:50 编辑

zw*** 发表于 2023-6-27 15:42
嗯。。确实清错了
我看网上一些人说在串口接收中断中最好把EA关掉
我把这些改了,但是还是解决不了问题 ...


“刚开机的自检用到定时器0自检,然后在定时器0工作过程中,使用串口UART2定时器2,RI2位无法置1”
这里面的逻辑有点想象不出
如果方便的话,你可以将你的代码简化一下
打包发出来,我这边用实际的芯片跑一下看看效果
这样比较好确定问题
回复 支持 反对

使用道具 举报 送花

2

主题

8

回帖

42

积分

新手上路

积分
42
发表于 2023-6-27 16:15:57 | 显示全部楼层
我发给你那个问题的主要部分,你看一下

部分.zip

2.23 KB, 下载次数: 97

部分

回复 支持 反对

使用道具 举报 送花

2

主题

8

回帖

42

积分

新手上路

积分
42
发表于 2023-6-27 16:25:32 | 显示全部楼层
zw*** 发表于 2023-6-27 16:15
我发给你那个问题的主要部分,你看一下

这个

部分.zip

2.67 KB, 下载次数: 93

回复 支持 反对

使用道具 举报 送花

2

主题

8

回帖

42

积分

新手上路

积分
42
发表于 2023-6-27 17:24:14 | 显示全部楼层
zh*** 发表于 2023-6-27 15:47
zwx 发表于 2023-6-27 15:42
嗯。。确实清错了
我看网上一些人说在串口接收中断中最好把EA关掉

简化

简化.zip

27.57 KB, 下载次数: 91

点评

你给的代码我整了半天也每整到可以正常编译通过并产生hex 没法实际运行帮你debug  详情 回复 发表于 2023-6-27 18:00
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-30 14:38:57

25

主题

977

回帖

3599

积分

超级版主

积分
3599
发表于 2023-6-27 18:00:12 | 显示全部楼层
本帖最后由 zhp 于 2023-6-27 20:28 编辑

你给的代码我整了半天也没整到可以正常编译通过并产生hex
没法实际运行帮你debug

最好你能将代码简化(无关代码暂时全部屏蔽)后,你自己能编译通过,且问题一定能复现
并描述一下复现过程,这样才好帮你
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:30 , Processed in 0.173463 second(s), 111 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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