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

STC8A8K48D4

[复制链接]

该用户从未签到

2

主题

8

回帖

42

积分

新手上路

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

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

使用道具 举报

  • TA的每日心情
    开心
    前天 11:46
  • 签到天数: 44 天

    [LV.5]常住居民I

    5

    主题

    114

    回帖

    1112

    积分

    版主

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

    8A 串口范例程序.zip

    317.27 KB, 下载次数: 26

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-5-11 09:06
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    16

    主题

    724

    回帖

    2580

    积分

    超级版主

    积分
    2580
     楼主| 发表于 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 | 显示全部楼层
    zhp 发表于 2023-6-27 15:15
    定时器0的中断标志清错了

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

    点评

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

    使用道具 举报

  • TA的每日心情
    开心
    2024-5-11 09:06
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    16

    主题

    724

    回帖

    2580

    积分

    超级版主

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

    zwx 发表于 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, 下载次数: 24

    部分

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    2

    主题

    8

    回帖

    42

    积分

    新手上路

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

    这个

    部分.zip

    2.67 KB, 下载次数: 20

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    2

    主题

    8

    回帖

    42

    积分

    新手上路

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

    简化

    简化.zip

    27.57 KB, 下载次数: 16

    点评

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

    使用道具 举报

  • TA的每日心情
    开心
    2024-5-11 09:06
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    16

    主题

    724

    回帖

    2580

    积分

    超级版主

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

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

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-20 13:50 , Processed in 0.090752 second(s), 74 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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