神农鼎 发表于 2026-1-6 15:58:19

cyranohsl 发表于 2026-1-5 23:40
请问一下,STC32G8K64是不是不能用AICUBE?

可以,选 STC32G12K128-LQFP64

cyranohsl 发表于 2026-1-6 20:36:47

神农鼎 发表于 2026-1-6 15:58
可以,选 STC32G12K128-LQFP64

谢谢分享!

lijn 发表于 2026-1-10 16:18:36

l164908060 发表于 2025-12-6 21:01
建议直接做AI编程软件,导入硬件原理图,中文输入程序要求,直接实现完整代码 ...

不知道这个功能,能不能实现;如果可以,编程就简单了。

hei188 发表于 2026-1-16 16:21:00

不错,好好学习一下。

康辉55AA 发表于 2026-1-18 08:27:12

V6.96O版本的AiCube(A);
存在问题:
使用上述版本的AiCube(A)生成的STC8H8K64U代码。

第一次生成,使用串口1,TIME2作为波特率发生器,与printf涵数关联 选择 是。
再次使用AiCube(A)修改时,与printf涵数关联 选择 否 后,
代码包中的uart.c中虽然去掉了putchar重定向涵数,但串口中断涵数中 发送部分,没有去掉 fPrintfBusy = 0; //清除printf发送忙标志 这个语句。
编译时会显示error C202: 'fPrintfBusy':undefined identifier。

康辉55AA 发表于 2026-1-18 08:55:43

AiCube-ISP-v6.96O,看这里的菜单文字,表达是否准确?

zhp 发表于 2026-1-19 09:30:33

康辉55AA 发表于 2026-1-18 08:27
V6.96O版本的AiCube(A);
存在问题:
使用上述版本的AiCube(A)生成的STC8H8K64U代码。




由于您所反馈的代码处于用户代码标签中间
如下图:

在原项目的基础上,无论怎么修改配置
用户标签中间的代码都不会做任何修改,会原样贴到新代码中

patch1582 发表于 2026-1-30 22:04:18

简单明了

虹涛犹珷 发表于 2026-1-31 09:26:14

发现这个软件的STC89C52RC自动生成的串口函数有错误,和stc89_def.h头文件的定义不一致,
既然有这个型号那就应该修改过来,虽然这是很简单的一个单片机型号。
希望下个版本可以修正一下
这是修改后的:
////////////////////////////////////////
// 串口初始化函数
// 入口参数: 无
// 函数返回: 无
////////////////////////////////////////
void UART_Init(void)
{
    #ifdef BAUDRATE
      #undef BAUDRATE
    #endif
      #define BAUDRATE                (115200)
      #define T1_RELOAD               (256 - (SYSCLK * (1 + EN6T) / BAUDRATE / 12 + 8) / 16)

    UART1_Timer1BRT();                  //选择定时器1作为串口波特率发生器
    UART1_BaudrateX2();               //串口1波特率加倍
    TIMER1_TimerMode();               //设置定时器1为定时模式
    TIMER1_Mode2();                     //设置定时器1为模式2 (8位自动重载模式)
    TIMER1_SetReload8(T1_RELOAD);       //设置定时器1的8位重载值
    TIMER1_Run();                     //定时器1开始运行

    UART1_EnableRx();                  //使能串口接收数据
    UART1_Mode1();                     //设置串口为模式1 (8位数据可变波特率)
    UART1_SetIntPriority(2);             //设置中断为较高优先级
    UART1_EnableInt();                   //使能串口中断

    //<<AICUBE_USER_UART_INITIAL_BEGIN>>
    // 在此添加用户初始化代码
    //<<AICUBE_USER_UART_INITIAL_END>>
}


////////////////////////////////////////
// 串口中断服务程序
// 入口参数: 无
// 函数返回: 无
////////////////////////////////////////
void UART1_ISR(void) interrupt UART1_VECTOR
{
    //<<AICUBE_USER_UART_ISR_CODE1_BEGIN>>
    // 在此添加中断函数用户代码
    if (UART1_CheckTxFlag())             //判断串口发送中断
    {
      UART1_ClearTxFlag();             //清除串口发送中断标志
    }

    if (UART1_CheckRxFlag())             //判断串口接收中断
    {
      UART1_ClearRxFlag();             //清除串口接收中断标志
    }
    //<<AICUBE_USER_UART_ISR_CODE1_END>>
}


//<<AICUBE_USER_FUNCTION_IMPLEMENT_BEGIN>>
// 在此添加用户函数实现代码
//<<AICUBE_USER_FUNCTION_IMPLEMENT_END>>

ercircle 发表于 2026-1-31 14:11:41

虹涛犹珷 发表于 2026-1-31 09:26
发现这个软件的STC89C52RC自动生成的串口函数有错误,和stc89_def.h头文件的定义不一致,既然有这个型号那 ...

确实有问题,感谢反馈




页: 34 35 36 37 38 39 40 41 42 43 [44] 45 46
查看完整版本: 程序自动生成器,AiCube-ISP V6.96T, STC89/15/STC8H/STC32/8051U