世上(也是史上)功能最全的STC8 MDU16应用 LIB
十一月初, 一次偶然扫荡官网, 看到现在在主推STC32.很感兴趣, 立刻淘宝上搜了一下, 找了一家拍了块 STC32开发板, 结果快递发了退回, 发了退回........(中间我处封控, 快递进不来).
结果快递走了一个多月才到, 兴致勃勃的一研究, 发现 STC32 串口, USB口都不支持仿真, 要外接 USB Link1D 才能仿真, 再从
淘宝上找了一家拍了块 USB Link1D , 顺手带了 STC32板/ STC8H最小板 各一块, 等收到货发现, 店家 USB Link1D 到 最小板
的仿真电缆线(TYPE-C接口)未配, 无法连到 USB Link1D 上仿真, 早期买的那块 STC32开发板, 有4芯仿真口引出, 用了, 试了几回
就死活没反应, 唯一剩下的就是STC8H最小板 , 生命力最强, 可以直接用 USB仿真, 也只能先玩这个STC8H了~~~
今天又下单在 淘宝上买了 2块STC32开发板
原先想动手搞一个世上(也是史上)功能最全的STC32 数学函数库(STC官方提供的库, 不但简单功能弱, 还问题多多, 单看
反编译生成的代码, 就发现好多问题, 只是手头缺少能联机好用的仿真器+应用板, 无法验证 ) , 这一计划只能延迟, 计划在
春节期间完成, 先打个广告~~~ http://www.stcaimcu.com/static/image/smiley/default/tongue.gif
言归正传, 现在降级, 搞一个世上(也是史上)功能最全的STC8 MDU16应用 LIB, 把能用 MDU16 指令优化的 C251编译器 内部函数,
全部重新编写一遍, 封装成库, 所有库文件全部公开开源, 用户可自行修改增减成自已的专用库使用.
期待,免费+包邮 送的,你不要,你非要淘宝
https://www.stcaimcu.com/data/attachment/forum/202212/26/104232kwwx3w3uxwrueuxw.png
https://www.stcaimcu.com/data/attachment/forum/202212/26/105107ytr0ddkm5po33y13.png
https://www.stcaimcu.com/data/attachment/forum/202212/12/123344zaefyngpuer6vuov.png
目前我仅想到这些内联库函数(包括部分STC原LIB), 同学们如能想到其他的, 请提出来, 我加进去.
?C?LSHL 长整数逻辑左移 --> R4R5R6R7 << R0
?C?ULSHR 长整数逻辑右移 --> R4R5R6R7 >> R0
?C?IMUL 16位 * 16位(2字节乘法)
?C?LMUL 32位 * 32位(4字节乘法)
?C?UIDIV 16位 / 16位(2字节无符号除法及取模)
?C?ULDIV 32位 / 32位(4字节无符号除法及取模)
?C?CASTF 浮点数 --> 长整数(4字节)
?C?FCASTL 长整数(4字节) --> 浮点数
?C?FCASTI 整数(2字节) --> 浮点数
?C?FCASTC 字节 --> 浮点数
?C?FPADD 浮点数加数
?C?FPSUB 浮点数减数
?C?FPMUL 浮点数乘数
?C?FPDIV 浮点数除数
除了最后 4个 浮点数加减乘除外, 其他函数均已完成, 并作了初步测试.
仿真+串口通信,只占1个USB口
http://www.stcaimcu.com/data/attachment/forum/202212/13/131248b65pb8a53um4jlb0.png
STC8_MDU16_LIB 编译参数(条件) 预设.
USE_EAXFR EQU 0 ;0: 常规用法, 程序精简, 不对EAXFR操作, 请上电系统初始化时将 EAXFR寄存器设置为1(例如: P_SW2|=0x80;)
; 使用限制范围: 外部扩展 RAM的最大地址不能超过 0FA00H, 否则无法工作(用户可在访问地址超出 0FA00H的
; 外部扩展 RAM时, 先清除 EAXFR位, 待访问完成后再重新置位 EAXFR位)
;1: 对EAXFR操作及实时保护, 无任何使用限制及条件范围
CLOSE_EA EQU 0 ;0: 常规用法, 程序精简, 不对 EA操作, 不影响中断实时响应速度
; 使用限制范围: 中断程序中, 不充许便用复杂的数学运算(16位整数及以上的乘除运算, 浮点数运算), 否则可能运算出错
;1: 对中断关闭以及实时保护, 无任何使用限制及条件范围, 等待运算完成后再开启中断(缺点, 中断实时响应速度会受影响),
;2: 仅在执行MDU16相关指令时关闭中断, 等待运算完成后再开启中断, 中断实时响应速度快, 这项设置是备用功能(不知中断
; 对正在进行的MDU16相关运算是否有影响,如无影响请选择设置0, 代码最短速度最快), 使用限制范围:
; 同上述0: 中断程序中, 不充许便用复杂的数学运算(16位整数及以上的乘除运算, 浮点数运算), 否则可能运算出错
欢迎同学们下载测试及使用 神农鼎 发表于 2023-1-5 19:30
期待,免费+包邮 送的,你不要,你非要淘宝
前后有两位朋友留言, 让我加QQ, 微信, 结果加了数天都没反应(可能太忙没登陆:)),
也只能自已到淘宝上去买一点~~~
谢谢你, 管理员.
地址: 河北省保定市满城区107国道郎村红绿灯口菜鸟绎站, 许**, 139*********
好,我转 客服,明他们电话你,送些 干净利落的 工具,线,核心板 感谢楼主分享,带着大家一起进步! 加入浮点数加/减/除法, 仅乘一个 浮点数乘法还没测试好, 欢迎同学们下载测试及使用