程序文件超过64 部分功能不好用了
2023-3-21 14:45 来自 sinbo 发布@ 综合讨论
我用的是stc32g12k128 程序超过了64k了
Program Size: data=9.5 edata+hdata=2128 xdata=5782 const=5343 code=85546
我现在设置如下:程序可以编译,可以下载,但是有部分功能不好用了,比如oled屏幕的主页不显示了,eeprom里的数据也变了。除了这些设置还需要做其他的操作吗?
6062
6063
Program Size: data=9.5 edata+hdata=2128 xdata=5782 const=5343 code=85546
我现在设置如下:程序可以编译,可以下载,但是有部分功能不好用了,比如oled屏幕的主页不显示了,eeprom里的数据也变了。除了这些设置还需要做其他的操作吗?
6062
6063
STC8G1K08A,掉电模式后无法刷入程序
2023-3-21 14:44 来自 mx911 发布@ 综合讨论
程序大概是这样:
while(1)
{
PCON = 0x02;
}
然后掉电后再上电, ISP好像就找不到芯片了, 一直卡在checking target MCU ...
型号是STC8G1K08A
while(1)
{
PCON = 0x02;
}
然后掉电后再上电, ISP好像就找不到芯片了, 一直卡在checking target MCU ...
型号是STC8G1K08A
外部晶振切换问题
2023-3-21 13:21 来自 WHX 发布@ 综合讨论
6058
问题一、如图所示,当我程序里面在while(1)前面初始化时这样写:
P_SW2 = 0x80;
XOSCCR = 0xc0; //启动外部晶振——1
while (!(XOSCCR & 1)); //等待时钟稳定
CLKDIV = 0x00; //时钟不分频
CLKSEL = 0x01; //选择外部晶振——2
P_SW2 = 0x00;
总有点困惑,感觉1应该在2的后面,不知道对不对,恳请大神们解惑,十分感谢!
问题二、当下载后,提示如下图示:
6059
这个调节后的频率到底是内部晶振的频率还是外部晶振产生的频率?
问题一、如图所示,当我程序里面在while(1)前面初始化时这样写:
P_SW2 = 0x80;
XOSCCR = 0xc0; //启动外部晶振——1
while (!(XOSCCR & 1)); //等待时钟稳定
CLKDIV = 0x00; //时钟不分频
CLKSEL = 0x01; //选择外部晶振——2
P_SW2 = 0x00;
总有点困惑,感觉1应该在2的后面,不知道对不对,恳请大神们解惑,十分感谢!
问题二、当下载后,提示如下图示:
6059
这个调节后的频率到底是内部晶振的频率还是外部晶振产生的频率?
为啥运行正常的程序打包作为库再加入程序就不对了?
2023-3-20 17:05 来自 lgwd 发布@ 综合讨论
学习和修改了STC8H8K64U的转串口程序,改为符合自己需要的CDC串口程序。因为相关的代码不少,想尝试打包成库再加入其它应用程序。程序编译无警告、无错误且通讯正常。Keil中选择生成库。
再建立一个简单项目,加入库。主程序很简单,只是调用库中的串口轮询函数。编译没有错误,但下载到打狗棒中,之前的CDC串口不再出现了。之前库函数的程序是可以的。哪里不对了?
再建立一个简单项目,加入库。主程序很简单,只是调用库中的串口轮询函数。编译没有错误,但下载到打狗棒中,之前的CDC串口不再出现了。之前库函数的程序是可以的。哪里不对了?
芯片版本号问题
2023-3-20 14:09 来自 WHX 发布@ 综合讨论
请问,我们公司也买了10几片芯片做测试,现在STC都已经出正式版的芯片了,但是我看到我们公司买的芯片上面最后一个的字母竟然是A,不知道这个是是正式版还是测试版?请知道的大侠明示一下,感谢啦:)
单片机不能复位
2023-3-20 11:54 来自 980578873 发布@ 综合讨论
各位大佬:插入USB 5V时测试三极管Q3的集电极(Q3的第3脚)有低电平信号,单片机并没有复位,如果把R3改为0欧姆,插入USB 5V时单片机就可以复位,这是为什么?谢谢。
593559365937
593559365937
在21IC解决不了,发到这里求达人解决:STC8H工作电流大
2023-3-20 11:07 来自 tzgok 发布@ 综合讨论
1,所有io均按手册设置为准双向,输出ff,关闭所有上拉,没有打开任何外设,程序while (1);死循环,,实测工作电流为6ma,比手册的高1倍。。不知道什么原因,请路过的指教下。
2,同样测试条件和转换板,测试STC8G系列,电流就和手册一致,为3.3MA
2,同样测试条件和转换板,测试STC8G系列,电流就和手册一致,为3.3MA
关于STC8/STC32的开漏输出
2023-3-19 22:06 来自 chansainlong 发布@ 综合讨论
各位大神好,小弟我最近想省去ULN2803。不知道行不行
5918
P2.4会设置成开漏输出
5918
P2.4会设置成开漏输出
上电问题 电源指示灯异常 无法检测单片机
2023-3-18 23:58 来自 2427385240 发布@ 综合讨论
这块板子是用来做tft演示实验的,没有接任何外部电源,检查接线后出现异常,电源指示灯不亮,每一插上usb加强线后第一个电源指示灯先亮起,一段时间后熄灭,旁边的是正常状态下指示灯状况,如下图
5903
5903
stc8g1k17使用xdata定义变了出现异常
2023-3-18 21:34 来自 changjiangu9 发布@ 综合讨论
看手册stc8g1k17有1k的片内xdata区,想将几个大的数组定义到XDATA区,如下:
uchar xdata x1,x2,x3;
用keil 4可正常编译,但程序运行后对数组读写出错,数据随机出现不可预知的值,赋值1后读出的有可能是9,不知什么原因(不使用XDATA的数据时程序正常)。
uchar xdata x1,x2,x3;
用keil 4可正常编译,但程序运行后对数组读写出错,数据随机出现不可预知的值,赋值1后读出的有可能是9,不知什么原因(不使用XDATA的数据时程序正常)。
【求助】烧录以下程序到开发板后,数码管和led灯跳动
2023-3-18 19:26 来自 mxdyeah 发布@ 综合讨论
烧录以下程序到开发板后,数码管和led灯跳动
能不能不让数码管和led灯跳动?
代码来自:深圳市普中科技有限公司(PRECHIN 普中) 稍有改动
main.c文件
/******************************************
能不能不让数码管和led灯跳动?
代码来自:深圳市普中科技有限公司(PRECHIN 普中) 稍有改动
main.c文件
/******************************************
请问: 这是怎么回事???
2023-3-18 05:59 来自 LAOXU 发布@ 综合讨论
很简单的测试程序, 没有任何中断, 仅测试指令执行时间.
5832
上例中: _nop_(); 一个都不加, 测试结果 time1 = 1
加一个 _nop_(); 测试结果 time1 = 9 (异常!!!)
加二个 _nop_(); 测试结果 time1 = 10
加三个 _nop_(); 测试结果 time1 = 11
加四个 _nop_(); 测试结果 time1 = 12
芯片型号是 STC32G
5832
上例中: _nop_(); 一个都不加, 测试结果 time1 = 1
加一个 _nop_(); 测试结果 time1 = 9 (异常!!!)
加二个 _nop_(); 测试结果 time1 = 10
加三个 _nop_(); 测试结果 time1 = 11
加四个 _nop_(); 测试结果 time1 = 12
芯片型号是 STC32G
关于DMA使用详细解说
2023-3-17 17:50 来自 15818564352 发布@ 综合讨论
最近使用DMA_SPI读写W25Q128,参考例程,始终不成功,不用DMA功能SPI读写W25Q128就可以。
不知有没有关于DMA功能寄存器详细原理解说一下呢,我对DMA中断原理不太清楚,是不是一定要写满缓存或读完缓存才会有中断吗?
不知有没有关于DMA功能寄存器详细原理解说一下呢,我对DMA中断原理不太清楚,是不是一定要写满缓存或读完缓存才会有中断吗?
对于51内核,MCS251内核增强了什么?
2023-3-16 15:58 来自 wy_nb 发布@ 综合讨论
本帖最后由 wy_nb 于 2023-3-16 17:01 编辑
新人求教,有没有系统介绍MCS251内核的啊,内核没搞清楚不敢用STC32G啊!
官方freeRTOS的移植文件portasm.h看得有点晕,比如:
#define portRELEASE_INTERRUPT() \
{ \
__asm { CLR EA } \
__asm { PUSH PSW1 } \
__asm { PUSH #BYTE2 ($+10) } \
__asm { PUSH #BYTE0 ($+7) } \
__asm { PUSH #BYTE1 ($+4) } \ 这里三条指令完成了什么功能?
__asm { RETI
新人求教,有没有系统介绍MCS251内核的啊,内核没搞清楚不敢用STC32G啊!
官方freeRTOS的移植文件portasm.h看得有点晕,比如:
#define portRELEASE_INTERRUPT() \
{ \
__asm { CLR EA } \
__asm { PUSH PSW1 } \
__asm { PUSH #BYTE2 ($+10) } \
__asm { PUSH #BYTE0 ($+7) } \
__asm { PUSH #BYTE1 ($+4) } \ 这里三条指令完成了什么功能?
__asm { RETI
printf打印输出得不到正确的读数
2023-3-15 13:53 来自 980578873 发布@ 综合讨论
#define uchar unsigned char
uchar key_flag=0;
void int3() interrupt 11//按键按下,下降沿触发中断
{
key_flag=1;
}
打印程序:
TI=1;
printf("key_flag is %d \n",key_flag);
while(TI==0);
TI=0;
为什么key_flag的打印结果不是1
5580
uchar key_flag=0;
void int3() interrupt 11//按键按下,下降沿触发中断
{
key_flag=1;
}
打印程序:
TI=1;
printf("key_flag is %d \n",key_flag);
while(TI==0);
TI=0;
为什么key_flag的打印结果不是1
5580
请问这块芯片是A版还是B/C/D版?
2023-3-15 09:52 来自 lgwd 发布@ 综合讨论
打狗棒ISP写程序完成显示如下信息:
内部安排测试时间: 2022年5月5日
芯片出厂序列号 : F784C913009807
单片机型号: STC8H8K64U
固件版本号: 7.4.4U
请问这个芯片属于A版还是B/C/D版?
内部安排测试时间: 2022年5月5日
芯片出厂序列号 : F784C913009807
单片机型号: STC8H8K64U
固件版本号: 7.4.4U
请问这个芯片属于A版还是B/C/D版?