- 打卡等级:以坛为家I
- 打卡总天数:312
- 最近打卡:2025-03-11 13:20:13
荣誉版主
- 积分
- 5395
|
发表于 2023-2-12 18:00:15
|
显示全部楼层
STC32 如仅想跟 M0 PK, 就这样混混也行.
我提议增加指令集, 主想是想跟 M3 PK, 对于我来说, 也有点事(扩充基本应用库)好做.
要想让 STC32 , 达到 M3的高度, 需扩充的指令集较多.
所以, 神农鼎 如有兴趣, 可先扩展 STC8系列的 指令, 没几条, 很容易实现的.
一. 现在网上反应最大的, 是双指针功能,怎么用? STC官方为何不搞个 应用LIB出来?
我上 STC官网, 时间不长, 已看到好几个同学问了, 我对 STC8的现在 DPTR体系, 考虑了很久,
结论是, 无从下手, 硬件设计拍脑袋, 根本没考虑软件(指C)的编写, 以及与 Keil C编译器的无缝嵌入,
假如单纯执行 双指针程序没问题, 但一有中断就有影响, 如中断中使用 DPTR, 需手工插入保护代码(非老司机极易出错)
STC8H最新推出的, 号称最强的双DPTR, 没有一点用处, 用了反而更要出问题. 当然 STC8H有带 DMA的,可用 DMA传输.
对不带 DMA的, 比如我想用双DPTR, 并且只需要 1个DPTR有自动增1 功能, 传输的数据量有点大, 不能全程关中断,
这个时候问题来了, 主程序正常调用 编写的 双DPTR传输程序, 如此时进入中断, 需保护主程序使用到的 相关 DPTR寄存器,
中断返回时恢复现场, 问题来了, 由于主程序 设置了单个DPTR自动增1 功能, 用到了 TA寄存器, 而TA寄存器又被 设计者
拍脑袋搞了一个写保护模式, 有写入时间和写入时序要求, 让中断程序如何保护和恢复???
所有我说, STC8H最新推出的, 号称最强的双DPTR, 没有一点用处, 把TA寄存器的写保护模式去掉, 还可以用用.
|
|