laoxu 发表于 2023-2-25 04:46

笑死,STC8H的双DPTR仿真问题折腾三天,绝望的发帖前30秒解决……

声明: 本贴框架格式系抄袭网友hyperma之贴, 版权系网友hyperma所有~~~

我真的快疯了,无论淘宝上买的STC8H8K64U(模块),还是 STC官方送的板子,把规划中的改写的使用双DPTR指针的

函数strcmp,strncmp,strcpy,strncpy,memcmp,memcpy,memccpy,memmove,

都用STC8H的大ROM装进去,但没想到在这个STC8H超强双DPTR面前踢了铁板。


由于我是从中颖51叛变过来的,对双DPTR一向自认很有信心,用官方库函数+自编库函数,已经玩得不能再熟练了。

上机调试出错, 那很正常, 单步+断点跟踪调试, 查找原因, 就是发现第二个DPTR指针不工作啊!

更改 DPS寄存器没用, 更改直接地址(0xE3)可行, 但就是第二个DPTR指针死活不工作啊!


单步调试跟踪,出现了奇怪的事情,就是发现第一个DPTR指针始终在工作, 第二个DPTR指针永远不工作啊!怎么折腾都这样,

于是我折腾了三天。足足三天啊!换STC8H8K64U板子、重装STC8H8K64U仿真驱动、重装Keil, 重启电脑,都不成……。


实在不行了,凌晨想上来发帖子求救……。唉,揉揉已经通红的眼睛看会儿帖子吧,偶然看到了以前自已发的帖子里, 回网友的疑问?

在数组数据交换过程中, 用DMA传输快? 还是用软件模拟传输快? 自已编写了测试程序, 两者之间的传输速率当然会复杂一肯步些PK,

结果 软件模拟传输飞快 完胜 DMA传输, 在软件模拟传输中, 我成功应用了STC8H8K64U的双DPTR功能啊!我……

然后调出该软件模拟传输测试程序, 编译运行一下看数据,正常了……。这是为什么啊!为什么啊!真心向版主求教,是否说STC8H的仿真及软件是有问题的?



laoxu 发表于 2023-2-25 04:47

后记:

我随意设断点, 单步或连续跟踪调试,发现该软件模拟传输测试程序不稳定, 时好时坏(查看数组, 传输的结果错误), 经不断更改断点位置, 单步或连续跟踪.


得出以下结论:

STC8H的仿真, 不支持第二个DPTR指针, 无论是单步, 还是连续, 只要在使用第二个DPTR指针过程中有停留(停顿), 就会出错, 永远停止第二个DPTR指针的工作!!!

像前面我调试 函数strcmp,strncmp,strcpy,strncpy,memcmp,memcpy,memccpy,memmove,就是在 双DPTR指针应用中, 加了断点, 造成STC8H的仿真过程中,

在第二个DPTR指针执行过程中有了停顿, 而产生第二个DPTR指针不工作的结果!

henangongda123 发表于 2023-2-25 19:10

已放弃STC,改用国产RISC-V内核的32位APT32单片机,SSOP-24封装的,48M主频,才1.2元!


henangongda123 发表于 2023-2-25 22:51

STC不争气,各种硬坑,放弃了

xdqfc 发表于 2023-2-26 10:53

henangongda123 发表于 2023-2-25 22:51
STC不争气,各种硬坑,放弃了

看了APT32的数据手册,专门关注了一下ADC的精度,寒碜了点,只能说还有较大的上升空间。

laoxu 发表于 2023-2-26 15:28

henangongda123 发表于 2023-2-25 19:10
已放弃STC,改用国产RISC-V内核的32位APT32单片机,SSOP-24封装的,48M主频,才1.2元!




请问你用的 国产RISC-V内核的32位APT32单片机 的 指令集什么地方有下载?

henangongda123 发表于 2023-2-26 17:11

laoxu 发表于 2023-2-26 15:28
请问你用的 国产RISC-V内核的32位APT32单片机 的 指令集什么地方有下载?

指令集不知道啊 平头哥的 这个国际开源组织 那个里面应该有 我不是太关心这些,因为跟内核打交道比较少,平头哥的开发软件叫:剑池CDK,他们都把库做好了,我只管用库文件操作

henangongda123 发表于 2023-2-26 17:13

xdqfc 发表于 2023-2-26 10:53
看了APT32的数据手册,专门关注了一下ADC的精度,寒碜了点,只能说还有较大的上升空间。
...

0.85-1.1元/PCS,12位ADC+多个高级PWM定时器,这已经很不错啦 比我之前用的STM8、STC的10位ADC好一些,做电压检测确实精度高了不少

henangongda123 发表于 2023-2-27 16:34

jiangjiang6590 发表于 2023-2-27 11:52
STC有高精准12位ADC,STC8H8K64U-45MHZ-TSSOP20,RMB1.9

APT32F1023B 24MHz 12位ADC 0.85元/PCS{:lol:}

henangongda123 发表于 2023-2-28 14:30

jiangjiang6590 发表于 2023-2-28 08:48
一分价钱一分货,贵有贵的道理

嗯 你们STC继续贵 我不用就是了 我换APT32F1023、APT32F1104,又便宜又好用,还没那么多坑,至少主频不会偏移严重

sdwys 发表于 2023-3-5 23:25

STC还是挺可靠的,简单东西stc是不错的选择,risc-v用沁恒的开发板跟踪者调试了一下,感觉模块化指令集效率好低。

kcfoo1 发表于 2023-3-6 10:02

henangongda123 发表于 2023-2-25 19:10
已放弃STC,改用国产RISC-V内核的32位APT32单片机,SSOP-24封装的,48M主频,才1.2元!




阿里的平头哥软件效率不高,生成的代码巨大,用过ssop20封装的apt,32kflash一下就没了,不过资源是真多,带触摸的,没有触摸调试软件,要靠自己写程序

kcfoo1 发表于 2023-3-6 10:06

laoxu 发表于 2023-2-26 15:28
请问你用的 国产RISC-V内核的32位APT32单片机 的 指令集什么地方有下载?

跟指令有什么关系,现在都是用c编译器的,由编译器编译成指令,apt的编译器是平头哥改的,界面和keil差不多,但是效率不高,编译出来的代码比较大

henangongda123 发表于 2023-3-6 16:00

kcfoo1 发表于 2023-3-6 10:06
跟指令有什么关系,现在都是用c编译器的,由编译器编译成指令,apt的编译器是平头哥改的,界面和keil差不 ...

各种硬件初始化东西比较多

henangongda123 发表于 2023-3-6 16:02

sdwys 发表于 2023-3-5 23:25
STC还是挺可靠的,简单东西stc是不错的选择,risc-v用沁恒的开发板跟踪者调试了一下,感觉模块化指令集效率 ...

可靠个毛线 我用的STC8H 32引脚的 主频偏移 搞了好多天搞不定 PWM输出、串口通信频率都对不上

slfzhf 发表于 2023-3-7 11:06

本帖最后由 slfzhf 于 2023-3-7 11:16 编辑

henangongda123 发表于 2023-3-6 16:02
可靠个毛线 我用的STC8H 32引脚的 主频偏移 搞了好多天搞不定 PWM输出、串口通信频率都对不上 ...
我用STC15系列到STC8H系列,用STC8H3K64S4系列主频很准很稳,40M没有任何问题,你是用在盲区吧
STC8H3K64S2-45MHz-LQFP48, 据说RMB2.4 以下可畅想无限,手册中有内部高精准IRC时钟的使用说明
不要一直讲STC坏话,我从STC15系列到8系列,用了十多年了,非常稳定,质量信得过

henangongda123 发表于 2023-3-7 13:43

slfzhf 发表于 2023-3-7 11:06
我用STC15系列到STC8H系列,用STC8H3K64S4系列主频很准很稳,40M没有任何问题,你是用在盲区吧
STC8H3K64S ...

反正我是被坑了 踩到坑了还不能说出来?为啥不能说STC有问题?什么逻辑?

kissdb 发表于 2023-3-7 14:14

henangongda123 发表于 2023-3-7 13:43
反正我是被坑了 踩到坑了还不能说出来?为啥不能说STC有问题?什么逻辑? ...

程序和现象发出来,大家探讨下

henangongda123 发表于 2023-3-7 21:14

kissdb 发表于 2023-3-7 14:14
程序和现象发出来,大家探讨下

https://bbs.21ic.com/icview-3263632-1-1.html

zhxzhxzzhhxx 发表于 2023-3-9 21:02

henangongda123 发表于 2023-2-28 14:30
嗯 你们STC继续贵 我不用就是了 我换APT32F1023、APT32F1104,又便宜又好用,还没那么多坑,至少主频不会 ...

说STC 啥都行,这个主频可是稳稳的,-45-60,内部RC做通讯都没问题.
页: [1] 2 3
查看完整版本: 笑死,STC8H的双DPTR仿真问题折腾三天,绝望的发帖前30秒解决……