STC有没有计划自己出一个编译器,支持中文变量使用?
2023-3-8 19:19 来自 中文变量爱好者 发布@ 综合讨论
平时在VS的项目上经常使用中文变量名和中文函数名,到了Keil上,结果发现竟然不支持中文变量,感觉用的也太难受了!
8F跟8H的主要区别是什么?
2023-3-8 10:42 来自 sky999 发布@ 综合讨论
同样是TSSOP20封装的,为什么某宝8F1K08S2比8H1K08贵得多,但是查了下手册,好像又没发现什么区别
发现了STCIDE的来看看
2023-3-6 19:33 来自 小学生 发布@ 综合讨论
有没有人和我一样注意到STCIDE软件的?
虽然是0.1,还要外挂编译器,但是至少从无到有啊。
我只打开试了试,还没用,不过看起来还不错,简洁明了。
能把51的编译器搞进来就更好了,STC就是51核嘛。反正看Keil不爽很久了。
顺便附上自己做的字模软件,不卖钱随便使用。
虽然是0.1,还要外挂编译器,但是至少从无到有啊。
我只打开试了试,还没用,不过看起来还不错,简洁明了。
能把51的编译器搞进来就更好了,STC就是51核嘛。反正看Keil不爽很久了。
顺便附上自己做的字模软件,不卖钱随便使用。
STC8H的PWM的时候遇到的问题
2023-3-6 17:32 来自 summerrrain19 发布@ 综合讨论
在调试STC8H的时候设置死区时间没有生效,此外想在PWM波行中插入一小段延时高电平或低电平,应该怎么做呢
程序是在 STC8H的手册中 22.8.23 产生 3 路相位差 120 度的互补 PWM 波形基础上修改
/ 测试工作频率为 24MHz
/*****************************************************
主要功能 : P2.0-P2.5 输出互补的三路相位差 120 度的 PWM
第 1 路 P2.0/P2.1 为 PWM 输出 模式,第 2 路 P2.2/P2.3 和第 3 路 P2.4/P2.5 为比较输出模式
程序下载进目标芯片 , 输出 50hz 的 SPWM, 占空比 25%
*****************************************************/
#include "stc8h.h"
#define FOSC 24000000UL
#define PWM_PSC (240-1) // 定义 PWM 时钟预分频系数
#define PWM_
程序是在 STC8H的手册中 22.8.23 产生 3 路相位差 120 度的互补 PWM 波形基础上修改
/ 测试工作频率为 24MHz
/*****************************************************
主要功能 : P2.0-P2.5 输出互补的三路相位差 120 度的 PWM
第 1 路 P2.0/P2.1 为 PWM 输出 模式,第 2 路 P2.2/P2.3 和第 3 路 P2.4/P2.5 为比较输出模式
程序下载进目标芯片 , 输出 50hz 的 SPWM, 占空比 25%
*****************************************************/
#include "stc8h.h"
#define FOSC 24000000UL
#define PWM_PSC (240-1) // 定义 PWM 时钟预分频系数
#define PWM_
求一份keil from C51 下载
2023-3-6 17:14 来自 小刁飞刀 发布@ 综合讨论
以前用的mdk 这个51核 的ide没有,有没有大神手里有下载的,包括破解机资源提供一份,不胜感激
STC32G-20230301 手册,可能有误。
2023-3-6 10:58 来自 崇庆阳光 发布@ 综合讨论
738页:
5047
main.c(21): error C67: 'TL2': undefined identifier
main.c(22): error C67: 'TH2': undefined identifier
更改为如下,则可以编译通过。
void UartInit(void)
{
SCON = (SCON & 0x3f) | 0x40;
T2L = TM;
T2H = TM>>8;
S1BRT = 1;
T2x12 = 1;
T2R = 1;
}
5047
main.c(21): error C67: 'TL2': undefined identifier
main.c(22): error C67: 'TH2': undefined identifier
更改为如下,则可以编译通过。
void UartInit(void)
{
SCON = (SCON & 0x3f) | 0x40;
T2L = TM;
T2H = TM>>8;
S1BRT = 1;
T2x12 = 1;
T2R = 1;
}
C251中函数指针数组的用法
2023-3-4 22:27 来自 templeton 发布@ 综合讨论
最近在用STC32G12K128这颗芯片,移植之前的程序发现函数指针数组中调用的函数没有被识别。多次尝试后发现在C251中函数指针数据不能在定义时初始化,需要定义后,逐个赋值。这一点和C51有点不同。
在定义时赋值无效:
typedef int(* Fuc)(int, int);
int add(int a, int b);
int sub(int a, int b);
int mul(int a, int b);
int divi(int a, int b);
void main()
{
Fuc arr = {
add,
sub,
mul,
divi
};
编译报错误:
*** WARNING L57: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS
NAME: add/Demo
*** WARNING L57: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS
NAME:
在定义时赋值无效:
typedef int(* Fuc)(int, int);
int add(int a, int b);
int sub(int a, int b);
int mul(int a, int b);
int divi(int a, int b);
void main()
{
Fuc arr = {
add,
sub,
mul,
divi
};
编译报错误:
*** WARNING L57: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS
NAME: add/Demo
*** WARNING L57: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS
NAME:
STC8H3K64S2 EEPROM 操作
2023-3-4 14:42 来自 LFB 发布@ 综合讨论
主控型号: STC8H3K64S2
用户EEPROM大小为1K(下载程序时配置)
//sfr IAP_CMD = 0xC5;
#define IAP_STANDBY() IAP_CMD = 0 //IAP空闲命令(禁止)
#define IAP_READ() IAP_CMD = 1 //IAP读出命令
#define IAP_WRITE() IAP_CMD = 2 //IAP写入命令
#define IAP_ERASE() IAP_CMD = 3 //IAP擦除命令
//sfr IAP_TRIG = 0xC6;
#define IAP_TRIG() do{ IAP_TRIG = 0x5A, IAP_TRIG = 0xA5 } while(0) // IAP触发命令
// 7 6 5 4 3 2 1 0 Reset Value
//sfr IA
用户EEPROM大小为1K(下载程序时配置)
//sfr IAP_CMD = 0xC5;
#define IAP_STANDBY() IAP_CMD = 0 //IAP空闲命令(禁止)
#define IAP_READ() IAP_CMD = 1 //IAP读出命令
#define IAP_WRITE() IAP_CMD = 2 //IAP写入命令
#define IAP_ERASE() IAP_CMD = 3 //IAP擦除命令
//sfr IAP_TRIG = 0xC6;
#define IAP_TRIG() do{ IAP_TRIG = 0x5A, IAP_TRIG = 0xA5 } while(0) // IAP触发命令
// 7 6 5 4 3 2 1 0 Reset Value
//sfr IA
STC32G芯片什么时候出100脚和256K存储?
2023-3-4 13:22 来自 chint2012 发布@ 综合讨论
做12864液晶产品,代码存储不够用呀,点阵液晶字库太占Flash空间了,带字库的液晶太贵,产品量产不合适!
FPMU STC32G12K128
2023-3-3 17:07 来自 volodya 发布@ 综合讨论
本帖最后由 volodya 于 2023-3-3 17:09 编辑
问候! 你能告诉我FPMU如何为STC32G12K128工作吗? 加载到DMAIR时会忽略所有FPMU相关的命令。 是否有一个汇编程序示例来了解如何控制FPMU。 描述中显示的示例使用数学。来自Keil的h。
问候! 你能告诉我FPMU如何为STC32G12K128工作吗? 加载到DMAIR时会忽略所有FPMU相关的命令。 是否有一个汇编程序示例来了解如何控制FPMU。 描述中显示的示例使用数学。来自Keil的h。
请问STC, 这官方示范程序, 你们测试过吗???
2023-3-2 20:08 来自 LAOXU 发布@ 综合讨论
本帖最后由 LAOXU 于 2023-3-3 13:03 编辑
从STC-ISP中下载的示范程序, STC8H系列-增强型双数据指针示例代码2-ASM
直接下载编译, 测试芯片为 STC8H8K64U
4928
测试结果显示, 根本无法从ROM中拷贝数据到XRAM中!
4929
从STC-ISP中下载的示范程序, STC8H系列-增强型双数据指针示例代码2-ASM
直接下载编译, 测试芯片为 STC8H8K64U
4928
测试结果显示, 根本无法从ROM中拷贝数据到XRAM中!
4929
STC32G 使用 USB-CDC 的问题
2023-3-2 17:47 来自 众哲之师 发布@ 综合讨论
使用环境:
芯片:STC32G12K128
板子:使用 USB 线供电
复位脚没有用作I/O口
主机:windows 10
工具:stc-isp v6.91K
USB线
正常情况:
板子可以用 stc-isp 的 USB-CDC 串口助手 与 PC 正常通信
异常情况:
当板子与 PC 在正常通信的情况下,按下板子上的复位按键然后松开
此时,在 设备管理器 中依然能看到 “端口(COM和LPT) --> STC USB-CDC (COMX)” 正常
但是,此时 使用 stc-isp 的串口助手 发送数据会出现“卡死”现象 (stc-isp 卡顿)
此后,拔掉板子的 USB 线,使板子完全放电再接上USB线,使用 stc-isp 发送数据依然“卡死”
需要在设备管理中,先禁用“STC USB-CDC”设备,然后再
芯片:STC32G12K128
板子:使用 USB 线供电
复位脚没有用作I/O口
主机:windows 10
工具:stc-isp v6.91K
USB线
正常情况:
板子可以用 stc-isp 的 USB-CDC 串口助手 与 PC 正常通信
异常情况:
当板子与 PC 在正常通信的情况下,按下板子上的复位按键然后松开
此时,在 设备管理器 中依然能看到 “端口(COM和LPT) --> STC USB-CDC (COMX)” 正常
但是,此时 使用 stc-isp 的串口助手 发送数据会出现“卡死”现象 (stc-isp 卡顿)
此后,拔掉板子的 USB 线,使板子完全放电再接上USB线,使用 stc-isp 发送数据依然“卡死”
需要在设备管理中,先禁用“STC USB-CDC”设备,然后再
我应该用哪个STC8H.H头文件:
2023-3-2 16:29 来自 lgwd 发布@ 综合讨论
新的STC8H.H文件较去年上半年的STC8H.H文件有变化:
2022.05.20的 STC8H.H 文件
#define RSTFLAG (*(unsigned char volatile xdata *)0xfe09)
在2023.02.16的 STC8H.H 文件
#define RSTFLAG (*(unsigned char volatile xdata *)0xfe99)
2023.02.16的 STC8H.H 文件
#define SPFUNC (*(unsigned char volatile xdata *)0xfe98)
#define ADCEXCFG (*(unsigned char volatile xdata *)0xfead)
#define CMPEXCFG (*(unsigned char volatile xdata *)0xfeae
2022.05.20的 STC8H.H 文件
#define RSTFLAG (*(unsigned char volatile xdata *)0xfe09)
在2023.02.16的 STC8H.H 文件
#define RSTFLAG (*(unsigned char volatile xdata *)0xfe99)
2023.02.16的 STC8H.H 文件
#define SPFUNC (*(unsigned char volatile xdata *)0xfe98)
#define ADCEXCFG (*(unsigned char volatile xdata *)0xfead)
#define CMPEXCFG (*(unsigned char volatile xdata *)0xfeae
STC-ISP软件发布项目, 被360搞了
2023-3-2 12:51 来自 zaq 发布@ 综合讨论
每次打开软件,第一次发布项目生成的软件,都会有错误
6.91K 6.91L都有这个问题
更新越来越快,bug越来越多
=======
感觉大家的回复,再次经过测试,确实是360的问题,生成的文件被河蟹了几个字节,就打不开了,360也没有任何提示
之前提示病毒添加信任就可以了,这次直接被静默河蟹。
生成的3.46M是正确的,3.39M被河蟹了
6.91K 6.91L都有这个问题
更新越来越快,bug越来越多
=======
感觉大家的回复,再次经过测试,确实是360的问题,生成的文件被河蟹了几个字节,就打不开了,360也没有任何提示
之前提示病毒添加信任就可以了,这次直接被静默河蟹。
生成的3.46M是正确的,3.39M被河蟹了
关于mpu6050的应答信号,整不明白了
2023-3-2 01:02 来自 v115488 发布@ 综合讨论
其功能是51向mpu写入一个字节,然后有mpu在串行数据线(SDA)给51一个应答信号;
根据文档的说明:如下:
https://www.stcaimcu.com/forum.php?mod=image&aid=4874&size=300x300&key=d3ec9ca01c6b088f&nocache=yes&type=fixnone
https://www.stcaimcu.com/forum.php?mod=image&aid=4875&size=300x300&key=29904e3ddcb1500f&nocache=yes&type=fixnone
我对应答信号的理解是:
51向mpu发送完8位数据,如果mpu应答,会在第9个时钟时,拉低数据线SDA.所以我的应答代码如下:
void Write_ACK()
{
SCL=1;
SDA=1;
while(SDA); //用while判断SDA有没有被拉低,
}
或
void Write_AC