LeoringYang 发表于 2026-2-27 10:04:31

STC单片机开发之面向对象开发_02_Yxra程序设计

在上一期中介绍如何在windows上搭建STC32G12K单片机的Yxra语言开发环境,在本期简要介绍一下Yxra语言程序设计。

Yxra语言以jdk1.4语法为基础,有java开发基础的同志可以直接上手开发,其开发与java开发基本相同,只是核心库只有Object等几个类。
Yxra语言中基本数据类型有byte、short、char、boolean、string,没有int、float、long、double,主要原因是STC32G12K访问地址与数据为16位,int、float为32位,long、double为64位。在开发中允许用int,编译系统会按short来处理。
Yxra语言面向对象开发,根对象为Object,Class、Method、Field为对象的类型、方法、属性,允许抽象、继承、多态面向对象开发。
一个标准的Yxra类代码如下:
package xxx

import xxx
...

public class ClassName extends SuperClass implements InterfaceClass{
    //实例属性
    public short num1;
    //静态属性
    public static int num2;
    //实例方法
    public void handleMethod1(int para...){
      ....
    }
    //静态方法
    public static void handleMethod2(int para...){
      ....
    }
}
实例:通过new语法创建对象
静态:在内存固定,只有一个
注意:STC32G12K程序内存只有64K,默认数据内存为4K,Yxra核心库放弃Thread线程引入,转而用计数器中断来实现。在开发STC32G12K程序时,尽量用静态属性和静态方法,以减少内存占用。内存由系统自动回收,无须手动干预。

神农鼎 发表于 2026-2-27 10:11:49


只开一个贴,大家好跟进
{:4_196:}

杨为民 发表于 2026-2-27 12:49:01

你这里介绍的是你在PC机上的模拟STC单片机吗?
你已经实现了80251指令集的汇编语言编译器了吗?
你能介绍一下你的“Yxra语言开发环境”的软件工具链吗?(你使用了哪些软件才能把Yxra语言程序烧录到STC32G12K单片机中?)

你能把你生成好的HEX文件放上来,让我们烧录进去体验一下吗?

LeoringYang 发表于 2026-2-27 17:09:32

杨为民 发表于 2026-2-27 12:49
你这里介绍的是你在PC机上的模拟STC单片机吗?
你已经实现了80251指令集的汇编语言编译器了吗?
你能介绍一 ...
我无法上传附件,所以只发布了文字。后面我会建一个网盘或网页之类的,然后将相关资料上传共享出来。你可以直接加我的微信ymd060902,备注中含有yxra。

神农鼎 发表于 2026-2-27 17:14:46

回复时,点击右上角 【高级模式】



再点击【回型针】就可以插入【附件】


LeoringYang 发表于 2026-2-27 17:19:39

杨为民 发表于 2026-2-27 12:49
你这里介绍的是你在PC机上的模拟STC单片机吗?
你已经实现了80251指令集的汇编语言编译器了吗?
你能介绍一 ...

我一一回答你提出的问题:
1、并非PC上模拟STC单片机,是单片机上实际开发
2、实现了80251指令集的汇编语言编译
3、除了Yxra开发工具外,用官方提供的Aicube-isp烧录
4、生成的hex我现在无法上传附件

LeoringYang 发表于 2026-2-27 17:23:43

杨为民 发表于 2026-2-27 12:49
你这里介绍的是你在PC机上的模拟STC单片机吗?
你已经实现了80251指令集的汇编语言编译器了吗?
你能介绍一 ...

用截图说明一下。

杨为民 发表于 2026-2-27 17:39:39

LeoringYang 发表于 2026-2-27 17:19
我一一回答你提出的问题:
1、并非PC上模拟STC单片机,是单片机上实际开发
2、实现了80251指令集的汇编语 ...

谢谢回答这些大家都很感兴趣的问题。祝贺你为STC单片机提供了除C语言外的另一种开发语言!
页: [1]
查看完整版本: STC单片机开发之面向对象开发_02_Yxra程序设计