开天斧程序运行问题
2024-4-9 20:47 来自 zhang32568 发布@ 综合讨论
出现一个很奇怪的问题。开天斧不断电下载程序。插在笔记本或者台式机U口上一切正常。程序运行正常。但是如果单独用5V供电。比如用一个充电头。程序就不运行了。单片机不启动。
难道是不断电下载程序引起的问题?还没有删除不断电下载程序。
大家有没有遇到过?
难道是不断电下载程序引起的问题?还没有删除不断电下载程序。
大家有没有遇到过?
求助贴:STC15无法与STC-ISP软件连接,无法检测到芯片【已解决】
2024-4-9 17:38 来自 haishi28 发布@ 综合讨论
本帖最后由 STCAI-32位8051 于 2024-4-11 17:24 编辑
回忆之前的操作,是把STC-ISP中的例程hex文件直接烧写进入芯片,但不确定是否选中下列设置:
40894
目前的症状就是STC-ISP软件无法检测到芯片。
我测量了芯片的供电,3.8V,应该是正常范围。
问题1:是不是我的上述操作导致的?
问题2:如何解决呢?这片芯片就废了吗?
回忆之前的操作,是把STC-ISP中的例程hex文件直接烧写进入芯片,但不确定是否选中下列设置:
40894
目前的症状就是STC-ISP软件无法检测到芯片。
我测量了芯片的供电,3.8V,应该是正常范围。
问题1:是不是我的上述操作导致的?
问题2:如何解决呢?这片芯片就废了吗?
我想问一下在定时器里使用16位变量,计数变慢什么原因,8位正常 | 已解决
2024-4-9 14:00 来自 stc8h用户 发布@ 综合讨论
我想问一下在定时器里使用16位变量,计数变慢什么原因,8位正常
串口通过上位机发数据通信正常,再由单片机发数据上位机接收数据不正常。
2024-4-9 09:23 来自 17141200320 发布@ 综合讨论
本帖最后由 17141200320 于 2024-4-9 11:05 编辑
1、 串口通过上位机发数据,通信正常, 上位机发送1,接收也是1.
40838
2、再由单片机发数据给上位机,接收数据不正常。 发送1,接收出现汉字。
请教下各位老师,是什么问题造成接收数据不正常。
40839
3多次复位上电山,上位机显示状态
40840
4、HEX模式显示
40854
5、程序
40841
40842
40843
1、 串口通过上位机发数据,通信正常, 上位机发送1,接收也是1.
40838
2、再由单片机发数据给上位机,接收数据不正常。 发送1,接收出现汉字。
请教下各位老师,是什么问题造成接收数据不正常。
40839
3多次复位上电山,上位机显示状态
40840
4、HEX模式显示
40854
5、程序
40841
40842
40843
用32F12K54做了个数字界面卡
2024-4-7 23:27 来自 DebugLab 发布@ 综合讨论
40725
看市面上的数字界面大多是这个规格的,正好有个Combo 384,抄一下PCB外形和排针位置,改成STC32F12K54的了
40728
Amanero Combo 384和ES9038Q2M
40726
接ES9023能响,没问题,之前用追风剑也试过的
40732
准备把之前和Combo 384配套用的ES9038Q2M接上看看行不行
40731
结果发现接上不响,但是Combo 384接ES9038Q2M和ES9023都能响
40730
测信号是没有问题的,和某热心网友讨论,我这个ES9038Q2M的MCLK是100M晶振,异步的,他说BCLK是32倍LRCK太低了,一般是64倍LRCK,48000*32=1536000,1.536MHz,32bit 48KHz下BCLK应该是3.072MHz
40727
UAC
看市面上的数字界面大多是这个规格的,正好有个Combo 384,抄一下PCB外形和排针位置,改成STC32F12K54的了
40728
Amanero Combo 384和ES9038Q2M
40726
接ES9023能响,没问题,之前用追风剑也试过的
40732
准备把之前和Combo 384配套用的ES9038Q2M接上看看行不行
40731
结果发现接上不响,但是Combo 384接ES9038Q2M和ES9023都能响
40730
测信号是没有问题的,和某热心网友讨论,我这个ES9038Q2M的MCLK是100M晶振,异步的,他说BCLK是32倍LRCK太低了,一般是64倍LRCK,48000*32=1536000,1.536MHz,32bit 48KHz下BCLK应该是3.072MHz
40727
UAC
[新手求助]在用试验箱CDC时,串口没有打印,并且提示'信号灯超时时间已到'
2024-4-7 23:23 来自 nmszt55 发布@ 综合讨论
刚学没几天,今天准备用试验箱写个CDC打印代码,如下:
main.c
40738
init.c
40737
但是用ISP下载程序后,点击发送数据,并没有收到返回的打印
40739
而且过一阵之后点击发送,会出现 信号灯超时时间已到 的报错
40740
谁知道这是咋回事啊
main.c
40738
init.c
40737
但是用ISP下载程序后,点击发送数据,并没有收到返回的打印
40739
而且过一阵之后点击发送,会出现 信号灯超时时间已到 的报错
40740
谁知道这是咋回事啊
用单片机控制伺服电机实现简单的启停
2024-4-7 17:35 来自 qepuemc 发布@ 综合讨论
已知用p WM控制伺服电机。
在启停的时候需要低频运行中需要高频。
用pwmb 22118400不分频。周期为5000左右。占空比设置为2500。这个时候的。这个时候频率大约是4k满足伺服电机的控制环境。
一开始以为是。5000的周期是一秒。也就是这个数设置的越大不超过65535。频率就会越高。
现在看来不是这样的。现在的认知应该是5000是一个定时周期。在5000分度值之内设置占空比。
一开始实际设置的5万。现在看来设置5000更为合理。设置这个主要为了ao输出。0-25ma。设置个5000已经不错了。这样一来频率就可以到4000左右。然后用pwm5和6。去输出ao。也能正常使用。用pwm7。和pwm8。大约4k频率去驱动伺服电机就可以了。根据不同的占空比,应该就可以实现启停是降速。控制方设置在20毫秒的任务周期里。 暂时就是这个想法还没有实际实践。还请懂的人评价一下这样对不对?谢谢🙏
在启停的时候需要低频运行中需要高频。
用pwmb 22118400不分频。周期为5000左右。占空比设置为2500。这个时候的。这个时候频率大约是4k满足伺服电机的控制环境。
一开始以为是。5000的周期是一秒。也就是这个数设置的越大不超过65535。频率就会越高。
现在看来不是这样的。现在的认知应该是5000是一个定时周期。在5000分度值之内设置占空比。
一开始实际设置的5万。现在看来设置5000更为合理。设置这个主要为了ao输出。0-25ma。设置个5000已经不错了。这样一来频率就可以到4000左右。然后用pwm5和6。去输出ao。也能正常使用。用pwm7。和pwm8。大约4k频率去驱动伺服电机就可以了。根据不同的占空比,应该就可以实现启停是降速。控制方设置在20毫秒的任务周期里。 暂时就是这个想法还没有实际实践。还请懂的人评价一下这样对不对?谢谢🙏
请教高速高级(HSPWM)模式下怎么实现(频率-占空比)调节相位差180度PWM信号
2024-4-6 23:53 来自 huiyong828 发布@ 综合讨论
本帖最后由 huiyong828 于 2024-4-6 23:55 编辑
普通PWM模式下,可以正常输出波形
代码如下:
void PWMA_config(void)
{
u8 ccer1;
u8 ccer2;
u8 ps;
u8 eno;
P2M0 = 0xff; P2M1 = 0x00;
P3M0 = 0x40; P3M1 = 0x00;
P27 = 0;
P36 = 0;
P_SW2 |= 0x80; //SFR enable
PWMA_ENO = 0; // IO输出禁止
PWMA_IER = 0; // 禁止中断
PWMA_SR1
普通PWM模式下,可以正常输出波形
代码如下:
void PWMA_config(void)
{
u8 ccer1;
u8 ccer2;
u8 ps;
u8 eno;
P2M0 = 0xff; P2M1 = 0x00;
P3M0 = 0x40; P3M1 = 0x00;
P27 = 0;
P36 = 0;
P_SW2 |= 0x80; //SFR enable
PWMA_ENO = 0; // IO输出禁止
PWMA_IER = 0; // 禁止中断
PWMA_SR1
_nop_()函数调用错误,求助贴
2024-4-5 21:09 来自 lyagp03 发布@ 综合讨论
原本用的STC15系列,移植到STC8H系列。在原本代码中有调用nop函数,没有报错。在STC8H里面调用该函数报错。报错信息如下
warning C206: '_nop_': missing function-prototype
error C264: intrinsic '_nop_': declaration/activation error
好几次调用该函数都是报的这个错误。我查看了STC8H.h文件里面是有相关宏定义的,但是没办法调用这个内置函数。
warning C206: '_nop_': missing function-prototype
error C264: intrinsic '_nop_': declaration/activation error
好几次调用该函数都是报的这个错误。我查看了STC8H.h文件里面是有相关宏定义的,但是没办法调用这个内置函数。
求助贴,STC8Hxxx.h这个库文件哪里可以下载到
2024-4-5 17:05 来自 lyagp03 发布@ 综合讨论
烧录软件里面的例程没看到,社区下载的例程文件里面也没有找到,屠龙刀资料里面也没有找到。麻烦各位大佬给指点一下下载链接
怎样快速搭配程序?
2024-4-4 20:33 来自 cjtdz 发布@ 综合讨论
写程序就像造机器,全部自己写,就好像轴承、螺丝螺母自己加工,费时费力。采用自己、别人写好的程序搭建,好比用现成的零件组装。问题是,如何用已有的程序搭建?怎样搞好各部分的衔接?有什么诀窍?要注意什么?请大师们谈谈经验。
STC单片机程序移植问题
2024-4-4 20:20 来自 cjtdz 发布@ 综合讨论
STC15、STC8、STC32系列单片机程序相互移植时,都需要改动哪些地方?记性不好,哪款单片机必须配置端口?
stc32g屠龙刀开发板,使用strcmp函数问题。
2024-4-4 15:04 来自 大雨 发布@ 综合讨论
本帖最后由 大雨 于 2024-4-4 15:06 编辑
stc32g屠龙刀开发板,使用strcmp函数问题。
STC32G芯片 代码用strcmp库文件,不能通过编译。已经加头文件了#include <string.h>
一直找到原因
代码在CodeBlocks上正常运行,加入模块后在Keil上编译就不能通过,好像Keil_c251原始安装文件里就没有string.h,是自己后加上的不,忘了。。。。
int find_product(char *name) {int i;
for (i = 0; i < sizeof(products) / sizeof(products); i++) {
if (strcmp(products.name, name) == 0)
{
return i;
}
}
return -1;
}
stc32g屠龙刀开发板,使用strcmp函数问题。
STC32G芯片 代码用strcmp库文件,不能通过编译。已经加头文件了#include <string.h>
一直找到原因
代码在CodeBlocks上正常运行,加入模块后在Keil上编译就不能通过,好像Keil_c251原始安装文件里就没有string.h,是自己后加上的不,忘了。。。。
int find_product(char *name) {int i;
for (i = 0; i < sizeof(products) / sizeof(products); i++) {
if (strcmp(products.name, name) == 0)
{
return i;
}
}
return -1;
}
请教一个USB编译错误的问题
2024-4-4 10:27 来自 摇滚一族 发布@ 综合讨论
在学习USB的虚拟串口,用的是stc_usb_cdc_8h_xdata.LIB,写着写着编译就报错,一但报错,后退到正常的代码,也编译不了,还是报一样的错误,不清楚是哪里的设置问题,请教一下大家。
报错内容如下:
Rebuild target 'Target 1'
compiling main.c...
compiling oled.c...
linking...
LX51 LINKER/LOCATER V4.66.93.0 - SN: K1DZC-FA4Z4C
COPYRIGHT ARM Germany GmbH 1995 - 2018
@LED.lnp "main.obj",
"oled.obj",
".\stc_usb_cdc_8h_xdata.LIB"
TO "LED"
*** ERROR L214: INPUT PHASE ERROR
MODULE: main.obj (MAIN)
Target not created.
Build Time Elapsed: 00:00:01
报错内容如下:
Rebuild target 'Target 1'
compiling main.c...
compiling oled.c...
linking...
LX51 LINKER/LOCATER V4.66.93.0 - SN: K1DZC-FA4Z4C
COPYRIGHT ARM Germany GmbH 1995 - 2018
@LED.lnp "main.obj",
"oled.obj",
".\stc_usb_cdc_8h_xdata.LIB"
TO "LED"
*** ERROR L214: INPUT PHASE ERROR
MODULE: main.obj (MAIN)
Target not created.
Build Time Elapsed: 00:00:01
有用合集 | PID, 串口绘图,虚拟数码管
2024-4-3 23:31 来自 qepuemc 发布@ 综合讨论
//虚拟数码管显示
SBUF = 0x37;B_TX1_Busy = 1; while(B_TX1_Busy);
SBUF = 0x53;B_TX1_Busy = 1; while(B_TX1_Busy);
SBUF = 0x45;B_TX1_Busy = 1; while(B_TX1_Busy);
SBUF = 0x47;B_TX1_Busy = 1; while(B_TX1_Busy);
SBUF = 0x53;B_TX1_Busy = 1; while(B_TX1_Busy);
SBUF = 0x00;B_TX1_Busy = 1; while(B_TX1_Busy);
SBUF = 0x00;B_TX1_Busy = 1; while(B_TX1_Busy);
SBUF = 0x00;B_TX1_Busy = 1; while
SBUF = 0x37;B_TX1_Busy = 1; while(B_TX1_Busy);
SBUF = 0x53;B_TX1_Busy = 1; while(B_TX1_Busy);
SBUF = 0x45;B_TX1_Busy = 1; while(B_TX1_Busy);
SBUF = 0x47;B_TX1_Busy = 1; while(B_TX1_Busy);
SBUF = 0x53;B_TX1_Busy = 1; while(B_TX1_Busy);
SBUF = 0x00;B_TX1_Busy = 1; while(B_TX1_Busy);
SBUF = 0x00;B_TX1_Busy = 1; while(B_TX1_Busy);
SBUF = 0x00;B_TX1_Busy = 1; while
PID_Register pid_speed, pid_postion, pid_setid;//这句话,这么写是什么用法?
2024-4-3 11:33 来自 380091044 发布@ 综合讨论
PID控制器全局变量
PID_Register pid_speed, pid_postion, pid_setid;//这句话,这么写是什么用法?
PID寄存器里面包括其速度、位置、ID设置? 不是定义,请老师指点一下??
PID_Register pid_speed, pid_postion, pid_setid;//这句话,这么写是什么用法?
PID寄存器里面包括其速度、位置、ID设置? 不是定义,请老师指点一下??
为什么观测不到PWM波形
2024-4-2 17:51 来自 cjtdz 发布@ 综合讨论
本帖最后由 cjtdz 于 2024-4-2 17:52 编辑
网上买的STC32单片机实验板,写入”布丁橘长的084-高级PWM定时器-互补输出和死区插入-PWM1P,PWM1N互补输出“十六进制文件后,为什么在STC32G12K128芯片的P1.0/P1.1脚上,用示波器观察不到PWM波形?
原文:
// @布丁橘长 2023/03/03
// PWMA互补输出示例,PWM1P、PWM1N(P1.0、P1.1)输出一组互补对称波形,周期200us,占空比50%
// 实验开发板:STC32G12K128屠龙刀三.1 主频@12
网上买的STC32单片机实验板,写入”布丁橘长的084-高级PWM定时器-互补输出和死区插入-PWM1P,PWM1N互补输出“十六进制文件后,为什么在STC32G12K128芯片的P1.0/P1.1脚上,用示波器观察不到PWM波形?
原文:
// @布丁橘长 2023/03/03
// PWMA互补输出示例,PWM1P、PWM1N(P1.0、P1.1)输出一组互补对称波形,周期200us,占空比50%
// 实验开发板:STC32G12K128屠龙刀三.1 主频@12
xdata , idata 上电后初始化程序自动清0,让编译器自动产生清0的代码,8系列
2024-4-2 16:35 来自 konggong888 发布@ 综合讨论
xdata 上电后初始化程序自动清0,让编译器自动产生清0的代码,STC8
idata 上电后初始化程序自动清0,让编译器自动产生清0的代码,STC8
===修改“STARTUP.A51”文件里面的“XDATALEN”参数:
===XDATALEN , IDATALEN
40370
STC8H1K28 要怎样修改 STARTUP.A51 才能清零 1K XRAM?
idata 上电后初始化程序自动清0,让编译器自动产生清0的代码,STC8
===修改“STARTUP.A51”文件里面的“XDATALEN”参数:
===XDATALEN , IDATALEN
40370
STC8H1K28 要怎样修改 STARTUP.A51 才能清零 1K XRAM?
【疑难问题】不同批次的STC8G2K64S4芯片 PWM波形不连续
2024-4-2 16:20 来自 叶凡 发布@ 综合讨论
本帖最后由 叶凡 于 2024-4-8 13:18 编辑
各位工程师大家好:
我在产品上使用STC8G2K64S4芯片的45路PWM功能,第一批次的芯片工作正常,芯片丝印和输出波形、芯片信息如下:
4031840319
正在检测目标单片机 ...
单片机型号: STC8G2K64S4
软件协议, V3.0: 7.3.13U
当前芯片的硬件选项为:
. 系统ISP工作频率: 23.945MHz
. 内部IRC振荡器的频率: 24.002MHz
. 掉电唤醒定时器的频率: 35.475KHz
. 振荡器放大增益使能
. 用户EEPROM大小被设置为 64 K
. P3.2和P3.3与下次下载无关
. 上电复位时增加额外的复位延时
. 复位引脚用作普通I/O口
. 检测到低压时复位
. 低压检测门槛电压 : 2.00 V
. 上电复位时,硬件不启动内部看门狗
各位工程师大家好:
我在产品上使用STC8G2K64S4芯片的45路PWM功能,第一批次的芯片工作正常,芯片丝印和输出波形、芯片信息如下:
4031840319
正在检测目标单片机 ...
单片机型号: STC8G2K64S4
软件协议, V3.0: 7.3.13U
当前芯片的硬件选项为:
. 系统ISP工作频率: 23.945MHz
. 内部IRC振荡器的频率: 24.002MHz
. 掉电唤醒定时器的频率: 35.475KHz
. 振荡器放大增益使能
. 用户EEPROM大小被设置为 64 K
. P3.2和P3.3与下次下载无关
. 上电复位时增加额外的复位延时
. 复位引脚用作普通I/O口
. 检测到低压时复位
. 低压检测门槛电压 : 2.00 V
. 上电复位时,硬件不启动内部看门狗
简简单单点个6条腿的8段LED数码管
2024-4-2 15:05 来自 晓飛飛 发布@ 综合讨论
开发板上常见的7段数码管都是共阴或者共阳结构的,
分为SEG和COM段,驱动代码也比较好写,行列刷新嘛,
但是很多廉价的电子产品比如充电宝、电池仓上面用的,
数码管就比较简单了,只有很少的引脚,
看灯珠的结构也是比较无序的,相对来说比较难搞,
由于项目需要嘛,不得不搞一下,于是某宝买了几个样品,
试着驱动一下。
数码管的灯珠结构如下,看起来比较乱,实际上也是真的乱。
试了一下点亮所有段码,亮度还行,可以进行下一步驱动了。
PS:点亮所有段码的方式很简单,
每次使1个引脚拉低,其余拉高即可,然后循环扫描。
40310
40311
分为SEG和COM段,驱动代码也比较好写,行列刷新嘛,
但是很多廉价的电子产品比如充电宝、电池仓上面用的,
数码管就比较简单了,只有很少的引脚,
看灯珠的结构也是比较无序的,相对来说比较难搞,
由于项目需要嘛,不得不搞一下,于是某宝买了几个样品,
试着驱动一下。
数码管的灯珠结构如下,看起来比较乱,实际上也是真的乱。
试了一下点亮所有段码,亮度还行,可以进行下一步驱动了。
PS:点亮所有段码的方式很简单,
每次使1个引脚拉低,其余拉高即可,然后循环扫描。
40310
40311