找回密码
 立即注册
查看: 166|回复: 6

AiCube 编译错误请教,在 ercircle大侠指导下问题已经解决

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:148
  • 最近打卡:2026-03-19 08:57:08
已绑定手机

22

主题

2399

回帖

3603

积分

论坛元老

积分
3603
发表于 2025-11-28 09:05:27 | 显示全部楼层 |阅读模式
一个已经在STC32G12K128成功驱动的LCD12864程序,


想移植到AICuber 的环境利用硬件SPI来串行硬件SPI驱动LCD12864

在中函数中声明了字库:


//<<AICUBE_USER_INCLUDE_BEGIN>>
// 在此添加用户头文件包含  
#include "public.h"
#include "lcd12864.h"
#include "tupian.h"
//<<AICUBE_USER_INCLUDE_END>>



//<<AICUBE_USER_GLOBAL_DEFINE_BEGIN>>
// 在此添加用户全局变量定义、用户宏定义以及函数声明
extern u8 code ascii_table_8x16[95][16]; //8*16字符
extern u8 code ascii_table_5x7[95][5];        //5*7字符
//<<AICUBE_USER_GLOBAL_DEFINE_END>>


编译的时候报错:

可以确定不是编译器所报的地方错(compiling lcdl2864.c...
App\ lcd12864\ tupian.h(7): error C142: illegal initialization App\ lcdl2864\ tupian.h(76) warning C34: 'u8: missing declaration specifiersl App\ lcd12864\ tupian.h(76): error C42: 'u8': not in formal parameter list)

这个字库文件所在的整个工程项目已经是成功点亮LCD,字库本身是没问题的,那么在AiCube下是怎样解决这个报错呢?

烦请哪位大神指点,谢谢谢谢谢谢!


#ifndef _TUPIAN_H
#define _TUPIAN_H

/*--  调入了一幅图像:C:\Users\Administrator\Desktop\【选配】汉字液晶12864\BMP图片\清翔电子.bmp  --*/
/*--  宽度x高度=128x64 清翔  纵向取模字节倒序--*/
//xdata
u8 const code picture_bmp1[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x28,0xC8,0x08,0xC8,0x78,0x20,0x1C,0x90,0x10,0x50,0x30,
0x00,0x44,0xC8,0x00,0xF8,0x08,0x04,0x00,0xF8,0x08,0x08,0xF8,0x00,0x80,0x40,0xF0,

...............................................................................................................................,
}

截图202511280858454812.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:148
  • 最近打卡:2026-03-19 08:57:08
已绑定手机

22

主题

2399

回帖

3603

积分

论坛元老

积分
3603
发表于 2025-11-28 09:50:13 | 显示全部楼层
错误信息“app\lcd12864\tupian.h(7): error c142: illegal initialization”,
推断出在文件app\lcd12864\tupian.h的第7行存在非法的初始化语句。这可能是由于数组初始化的方式不正确,或者是初始化的值超出了变量类型的范围,但是这个数组,乃至整个
tupian.h,已经在STC32G12K128 C251 Keil 环境下编译过正常运行了
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:148
  • 最近打卡:2026-03-19 08:57:08
已绑定手机

22

主题

2399

回帖

3603

积分

论坛元老

积分
3603
发表于 2025-11-28 09:54:27 | 显示全部楼层
我们之间打开tupian.h


#ifndef _TUPIAN_H
#define _TUPIAN_H

/*--  调入了一幅图像:C:\Users\Administrator\Desktop\【选配】汉字液晶12864\BMP图片\清翔电子.bmp  --*/
/*--  宽度x高度=128x64 清翔  纵向取模字节倒序--*/
//xdata
u8 const code picture_bmp1[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x28,0xC8,0x08,0xC8,0x78,0x20,0x1C,0x90,0x10,0x50,0x30,
0x00,0x44,0xC8,0x00,0xF8,0x08,0x04,0x00,0xF8,0x08,0x08,0xF8,0x00,0x80,0x40,0xF0,
0x0C,0xD0,0x50,0x50,0xFC,0x50,0x50,0xD0,0x00,0x00,0xF8,0x48,0x48,0x48,0xF8,0x48,
0x48,0x48,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x90,0x8C,0x83,0x8C,0xA0,0x90,0x8C,0x83,0x8C,0x90,0xA0,
0x80,0xA0,0x9F,0xA0,0xA7,0xA2,0xA1,0xA0,0xBF,0xA0,0xA4,0xA7,0x80,0x80,0x80,0xBF,
0x80,0xA3,0x95,0x89,0x97,0x91,0xA1,0xA1,0x80,0xA0,0x9F,0x82,0x82,0x82,0x9F,0x82,
0xA2,0xA2,0xBF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0xF0,0xF0,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0xC0,
0x70,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xC0,0xE0,0x60,0xE0,0xC0,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x1C,0x00,0x00,0x00,
0x20,0x20,0x21,0xB1,0xFF,0x7F,0x28,0xBC,0x9C,0xC8,0xC0,0x60,0x60,0x20,0x30,0x10,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0xB9,0xFD,0xFF,0xFB,0x98,
0x88,0x00,0x00,0x10,0x10,0xF0,0xC0,0x60,0x30,0x10,0x18,0x08,0x08,0xF8,0xF0,0x00,
0x00,0x00,0x00,0x00,0x00,0x20,0x70,0xE0,0x80,0x80,0xC0,0x60,0x60,0x30,0xB0,0x98,
0xDC,0xFD,0xFF,0x27,0x23,0xF3,0xF3,0x3F,0x1F,0x00,0x00,0x00,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x80,0xFC,0xFF,0x0F,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0x00,0x80,0x00,0x00,0x08,
0x0C,0x0E,0x07,0x07,0x02,0xC3,0xB5,0xDD,0xFF,0x43,0x43,0x4E,0xFC,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC4,0xE6,0x77,0x5F,0xEF,0x7F,0x3F,0x19,
0x08,0x7C,0xBC,0x86,0xFF,0x3F,0x00,0x00,0x0F,0x07,0x26,0x40,0x80,0xFF,0xFF,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x7F,0xF8,0x8C,0x1E,0x17,0x33,0x11,
0x18,0xFF,0xCE,0x06,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0xE0,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x60,0x60,0x31,0x33,0x37,0x1E,0x1C,0x1C,0x1C,
0xFC,0xEC,0x0C,0x0E,0x0E,0x0E,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x07,0x07,0x01,0x00,0x00,0x00,
0x00,0x00,0x00,0x04,0x07,0x01,0x00,0x01,0x02,0x04,0x08,0x08,0x1F,0x1C,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x06,0x01,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x02,0x00,0x00,0x00,
0x00,0x03,0x07,0x04,0x0C,0x0C,0x06,0x06,0x06,0x06,0x02,0x03,0x03,0x01,0x01,0x00,
0x00,0x00,0x00,0x02,0x07,0x0D,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x06,0x06,0x06,0x03,
0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x70,0x20,0x20,
0x20,0xF0,0xA0,0xA0,0x20,0x00,0x00,0xC0,0x50,0x60,0x40,0xC0,0x40,0x60,0x50,0xC0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,
0xE0,0x00,0x00,0x00,0x00,0xE0,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xC0,0x20,0x20,0x20,0x20,0xC0,0x00,0x00,0x80,0x40,0x20,
0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x91,0x93,0x55,0x31,0x13,0xFD,
0x11,0x34,0x52,0x90,0x90,0x00,0x10,0x17,0x15,0x15,0x15,0xFF,0x15,0x15,0x15,0x17,
0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,
0xFF,0x80,0x80,0x00,0x00,0x67,0x82,0x82,0x82,0x44,0x38,0x00,0x00,0x00,0x00,0xC3,
0xC3,0x00,0x00,0x00,0x00,0x60,0x80,0x84,0x84,0x8A,0x71,0x00,0x00,0x3F,0x40,0x80,
0x80,0x40,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x50,0x50,0xE0,0xBF,0x00,0x3F,0x50,0x50,0xE0,
0xBF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

第7行是:u8 const code picture_bmp1[]={ ,看不出哪里有数组初始化的方式不正确,或者是初始化的值超出了变量类型的范围?加了xdata 也不行
       

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:481
  • 最近打卡:2026-03-21 18:48:59
已绑定手机

104

主题

4193

回帖

9269

积分

荣誉版主

无情的代码机器

积分
9269
发表于 2025-11-28 10:14:03 | 显示全部楼层
u8: missing declaration


声明前包含def.h
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:148
  • 最近打卡:2026-03-19 08:57:08
已绑定手机

22

主题

2399

回帖

3603

积分

论坛元老

积分
3603
发表于 2025-11-28 12:31:24 | 显示全部楼层
erci*** 发表于 2025-11-28 10:14
u8: missing declaration

谢谢指导!

另外我现在需要把下图中的SCLK和MOSI脚互换

就是我的LCD脚位是GND   VCC   SDA(MOSI)    SCLK            RS(DC)          RSTB(RES)    CSB(CS) 和试验箱的脚位,中间4位是反的:

         试验箱脚位是GND   VCC      SCLK       MOSI(SDA)     RES(RSTB)       DC(RS)       CS (CSB)


研究了很久,发现主要是 SCLK  和     MOSI(SDA)这2位,硬件驱动SPI的话,一定要对应,其他2位,可以直接在程序中更改IO口

读试验箱图纸,有这样一句话:使用 SPI接口屏时设置为 P33-MOSI_4、P34-MISO_4
MOSI_4、MISO_4可以互换设置,请参考数据手册

再查例子程序77-DMA SPI刷新OLED12864显示屏程序,SSD1306驱动,0.96寸\test.uvproj-μVision

中有这样一段:


//******************************************
void Initialize_OLED(void)        //initialize OLED
{
        SPI_Config(3, 0);        //(SPI_io, SPI_speed), 参数:         SPI_io: 切换IO(SS MOSI MISO SCLK), 0: 切换到P1.4 P1.5 P1.6 P1.7,  1: 切换到P2.4 P2.5 P2.6 P2.7, 2: 切换到P4.0 P4.1 P4.2 P4.3,  3: 切换到P3.5 P3.4 P3.3 P3.2,
                                                //                                                                SPI_speed: SPI的速度, 0: fosc/4,  1: fosc/8,  2: fosc/16,  3: fosc/2
        HSSPI_CFG2 = 0x40;        //交换MOSI MISO, P3.3是MOSI

        P1n_standard(Pin1);                        // SPI引脚设置为准双向口, SPI和控制信号
        PullUpEnable(P1PU, Pin1);        // 允许端口内部上拉电阻     PxPU, 要设置的端口对应位为1
        P3n_standard(0x2c);                        // SPI引脚设置为准双向口, SPI和控制信号
        PullUpEnable(P3PU, 0x2c);        // 允许端口内部上拉电阻     PxPU, 要设置的端口对应位为1
        P4n_standard(Pin7);                        // SPI引脚设置为准双向口, SPI和控制信号
        PullUpEnable(P4PU, Pin7);        // 允许端口内部上拉电阻     PxPU, 要设置的端口对应位为1


其中        HSSPI_CFG2 = 0x40;        //交换MOSI MISO, P3.3是MOSI
好像是交换交换MOSI MISO,但是查手册,HSSPI_CFG2 是
高速SPI配置寄存器2(HSSPI CFG2),其
SS_DACT[3:0]:高速模式时SS控制信号的DEACTIVE 时间,详细见下图:好像也不对,没联系啊

辛苦版主帮忙看看,是否有办法设置交换MOSI和 MISO脚位?

截图202511281230186771.jpg

点评

你看的别的型号例程,32G12K128没这功能。而且8H只能交换MOSI和MISO,不能交换SCLK [attachimg]122368[/attachimg]  详情 回复 发表于 2025-11-28 13:15
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:481
  • 最近打卡:2026-03-21 18:48:59
已绑定手机

104

主题

4193

回帖

9269

积分

荣誉版主

无情的代码机器

积分
9269
发表于 2025-11-28 13:15:15 | 显示全部楼层
wuzhe*** 发表于 2025-11-28 12:31
谢谢指导!

另外我现在需要把下图中的SCLK和MOSI脚互换


你看的别的型号例程,32G12K128没这功能。而且8H只能交换MOSI和MISO,不能交换SCLK
截图202511281314162307.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:148
  • 最近打卡:2026-03-19 08:57:08
已绑定手机

22

主题

2399

回帖

3603

积分

论坛元老

积分
3603
发表于 2025-11-28 13:27:48 | 显示全部楼层
偶,谢谢版主,我明白啦
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-3-22 03:28 , Processed in 0.138130 second(s), 75 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表