找回密码
 立即注册
查看: 754|回复: 2

奇妙的不知道算不算BUG现象 @stc8h1k08

[复制链接]

4

主题

9

回帖

74

积分

注册会员

积分
74
发表于 2023-9-11 16:29:33 | 显示全部楼层 |阅读模式
我有个程序原先是stc8G1k08_tssop16/tssop20的,使用了PCA以及eep,
然后,转芯片转到stc8h1k08_tssop20,然后当然编译不通过,
捣鼓了几天动起来了,
终于发现是eep操作的时候,把 EAXFR 关掉了,(因为不熟悉XFR,以为打开EAXFR会导致正常movx失效)
修正之,pwm部分正确运行了.
然后,既然都重读代码了,做完全套,看了一下eep操作相关,
就发现例程中IAP操作之后有2个nop(第二个是我手痒加上去的).
在例程中是只有一个nop的:
stc8H1k08 eep基本操作_C
    IAP_TRIG = 0x5a;                            //写触发命令(0x5a)
    IAP_TRIG = 0xa5;                            //写触发命令(0xa5)
    _nop_();
    dat = IAP_DATA;                             //读IAP数据
程序必须要严谨,去掉一个nop,
原本的main.d52
        mov        adch,#0a5h        ; 07a8   75 c6 a5   uF%
        nop                        ; 07ab   00         .
;
        org        7adh
;
        inc        r0                ; 07ad   08         .
        djnz        r1,X0794        ; 07ae   d9 e4      Yd
去掉一个nop,变成:
        mov        adch,#0a5h        ; 07a8   75 c6 a5   uF%
        nop                        ; 07ab   00         .
        inc        r0                ; 07ac   08         .
        djnz        r1,X0794        ; 07ad   d9 e5      Ye
好了,真好看,除了不动之外并没有什么大问题,啊哈哈哈.

然后排错三天,甚至上论坛提问,最后想起还原场景,又把nop加上,eep系统马上又动了,我艹.........
我记得pdf(stc8G)里面有说IAP操作后需要nop一下,以保证系统正常还是什么副作用什么的,
8H也有这现象么?而且现在是1nop都不行,要2nop, $#@#%^$&^$%&^%*(%

系统是跑内部24M, IAP_TPS=24;这些不会错的.

有大佬知道这是啥回事么?说一下,省的下次中招.
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2023-9-26 04:01:51 | 显示全部楼层
这部分用汇编改写的吧?

明显有错。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2023-9-26 04:02:45 | 显示全部楼层
去掉       org        7adh

即可
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 08:38 , Processed in 0.112865 second(s), 60 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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