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

第一次用32G12K128遇到的奇葩问题

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-03-27 14:55:16
已绑定手机

2

主题

8

回帖

46

积分

新手上路

积分
46
发表于 2025-3-23 12:35:50 | 显示全部楼层 |阅读模式
使用32G12K128给我的当头第一棒。一个简单的定义变量就给我报错了
1.png
2.png

改了之后

改了之后
回复

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-3-23 12:38:00 | 显示全部楼层
在初次使用STC32G12K128时,遇到变量定义报错的问题,可能是由于以下几个原因导致的:

1. 编译器配置不当:STC32G12K128是一款基于8051架构的微控制器,不同的编译器对变量的定义和存储方式有不同的要求。请确保您的编译器配置正确,特别是针对STC32G12K128的优化设置。

2. 数据类型不匹配:8051架构对数据类型有严格的要求,特别是对于位变量和字节变量的定义。请检查您定义的变量类型是否与编译器支持的类型相匹配。

3. 内存分配问题:STC32G12K128的内存资源有限,如果定义的变量超出了可用内存范围,编译器会报错。请检查您的变量定义是否合理,是否超出了内存限制。

4. 语法错误:尽管看似简单的变量定义,也可能存在语法错误,如缺少分号、使用了非法字符等。请仔细检查代码,确保语法正确。

建议您参考STC32G12K128的用户手册和编译器文档,确保所有设置和代码编写都符合规范。同时,也可以利用调试工具逐步排查问题,找到具体的错误原因。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-03-27 14:55:16
已绑定手机

2

主题

8

回帖

46

积分

新手上路

积分
46
发表于 2025-3-23 12:45:03 | 显示全部楼层
按理说就那么一段定义变量,在STC8A8K64D4下能编译通过,在STC32G12K128下应该也能通过啊,就这一段应该是可以兼容的吧

点评

改成DATA_PIN BIT 0x90.7可以编译 建议从C学起 https://www.stcaimcu.com/forum.php?mod=viewthread&tid=11902  详情 回复 发表于 2025-3-23 15:01
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2940

积分

荣誉版主

无情的代码机器

积分
2940
发表于 2025-3-23 15:01:17 | 显示全部楼层
YW1*** 发表于 2025-3-23 12:45
按理说就那么一段定义变量,在STC8A8K64D4下能编译通过,在STC32G12K128下应该也能通过啊,就这一段应该是 ...

改成DATA_PIN BIT 0x90.7可以编译

建议从C学起
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=11902

  1. P1M0 DATA 0X92
  2. P1M1 DATA 0X91
  3.        
  4. BIT_COUNTER EQU 0x33
  5. DATA_PIN BIT 0x90.7
  6. ORG 0000H
  7. JMP MAIN
  8. ORG 0100H
  9. MAIN:
  10.         SETB DATA_PIN
  11.         SJMP $
  12. END
复制代码
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-03-27 14:55:16
已绑定手机

2

主题

8

回帖

46

积分

新手上路

积分
46
发表于 2025-3-23 15:49:45 | 显示全部楼层
erci*** 发表于 2025-3-23 15:01
改成DATA_PIN BIT 0x90.7可以编译

建议从C学起

嗯,看到你的回答之后问题一下就解决了,
  1. P1M0 DATA 0X92
  2. P1M1 DATA 0X91
  3. P1     DATA 0X90      
  4. BIT_COUNTER EQU 0x33
  5. DATA_PIN BIT P1.7
  6. ORG 0000H
  7. JMP MAIN
  8. ORG 0100H
  9. MAIN:
  10.         SETB DATA_PIN
  11.         SJMP $
  12. END
复制代码

这样就行了,不过同样的代码在STC8A8K64D4下又能编译通过真是奇怪

点评

C51的STARTUP.A51文件里也没找见P1的定义但是也不影响编译..... 一个是C251一个是C51编译器不一样。可能这个差异导致的。  详情 回复 发表于 2025-3-23 16:04
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2940

积分

荣誉版主

无情的代码机器

积分
2940
发表于 2025-3-23 16:04:05 | 显示全部楼层
YW1*** 发表于 2025-3-23 15:49
嗯,看到你的回答之后问题一下就解决了,
这样就行了,不过同样的代码在STC8A8K64D4下又能编译通过真是奇 ...

C51的STARTUP.A51文件里也没找见P1的定义但是也不影响编译.....

一个是C251一个是C51编译器不一样。可能这个差异导致的。
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:522
  • 最近打卡:2025-05-02 00:29:54

10

主题

1159

回帖

5121

积分

论坛元老

积分
5121
发表于 2025-3-23 22:48:37 | 显示全部楼层
何宾教授说最好是用这样子的规划。

P4M0   DATA 0xB4
P4M1   DATA 0xB3
P4     DATA 0xC0
       
P6M0   DATA 0xCC
P6M1   DATA 0xCB
P6     DATA 0xE8

IT0    EQU  S:0x88.0
IT1    EQU  S:0x88.2
EX0    EQU  S:0xA8.0
EX1    EQU  S:0xA8.2
EA     EQU  S:0xA8.7
                                                   
my_prog  SEGMENT CODE           
             RSEG my_prog   
         LJMP main               
         ORG 0x0003                 
             LJMP int0
                 ORG 0x0013
                 LJMP int1
         ORG 0x200                          
main:
     USING   0   
         SETB  IT0                        ;设置外部中断0为低电平触发
         SETB  IT1                        ;设置外部中断1为低电平触发
         SETB  EX0                       ;使能外部中断0
         SETB  EX1                       ;使能外部中断1
         SETB  EA                        ;使能全局中断
     
         MOV   P4M0,#0x00
     MOV   P4M1,#0x00
     MOV   P6M0,#0x00
     MOV   P6M1,#0x00       
           MOV   P4,#0x00
         MOV   A,#0xFE                           
     MOV   P6,A       
loop:       
     JMP   loop               
   
int0:
     RL    A
         MOV   P6,A
     RETI
int1:
     RR    A
         MOV   P6,A
     RETI         
        END

回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 10:37 , Processed in 0.136453 second(s), 98 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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