坛友们有没有遇到过STC8G1K08-20PIN串口不能使用的,有没有坑要填才能用?
单片机型号: STC8G1K08-20/16PIN (QFN20)
固件版本号: 7.3.10U
板子用USB下载程序没问题, 用串口下载提示找不到目标单片机;
USB下载跑起来后IO可以输出高低电平,但串口乱码,试了串口1 RXD/P3.0, TXD/P3.1和RXD/P3.6, TXD/P3.7都一样。
其他坛友有遇到这种问题吗,请教解决方法? 是不是IC有bug。。。。
贴上官方代码:
#include "reg51.h"
#include "intrins.h"
#defineFOSC11059200UL
#defineBRT(65536 - FOSC / 9600 / 4)
sfrAUXR=0x8e;
sfrT2H=0xd6;
sfrT2L=0xd7;
sfrP0M1=0x93;
sfrP0M0=0x94;
sfrP1M1=0x91;
sfrP1M0=0x92;
sfrP2M1=0x95;
sfrP2M0=0x96;
sfrP3M1=0xb1;
sfrP3M0=0xb2;
sfrP4M1=0xb3;
sfrP4M0=0xb4;
sfrP5M1=0xc9;
sfrP5M0=0xca;
sfrP5 =0xc8;
sfrP_SW1 =0xa2;
bitbusy;
charwptr;
charrptr;
charbuffer;
void UartIsr() interrupt 4
{
if (TI)
{
TI = 0;
busy = 0;
}
if (RI)
{
RI = 0;
buffer = SBUF;
wptr &= 0x0f;
}
}
void UartInit()
{
SCON = 0x50;
T2L = BRT;
T2H = BRT >> 8;
AUXR = 0x15;
wptr = 0x00;
rptr = 0x00;
busy = 0;
}
void UartSend(char dat)
{
while (busy);
busy = 1;
SBUF = dat;
}
void UartSendStr(char *p)
{
while (*p)
{
UartSend(*p++);
}
}
void main()
{
P0M0 = 0x00;
P0M1 = 0x00;
P1M0 = 0x00;
P1M1 = 0x00;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0xFE; //TX ?????,RX?????
P3M1 = 0x00;
P4M0 = 0x00;
P4M1 = 0x00;
P5M0 = 0x00;
P5M1 = 0x00;
//P_SW1 =0x0;
P_SW1 &=0x3F;
P_SW1 |=0x40;
UartInit();
ES = 1;
EA = 1;
UartSendStr("uart Test!\r\n" );
while (1)
{
if (rptr != wptr)
{
UartSend(buffer);
rptr &= 0x0f;
}
}
} 内部震荡频率,只有串口方式下载才能改。
使用串口下载,要把usb下载用的二极管电容拆除 sfes 发表于 2020-8-30 04:37
内部震荡频率,只有串口方式下载才能改。
使用串口下载,要把usb下载用的二极管电容拆除 ...
stc还是很强的,我2路adc交替采样总256k,用定时器中断控制,外部每8个sample相加通过1mbps串口打包往外丢,都不带丢字的。只能观测到采样有1cycle的抖动,原因应该是多周期指令带来的中断延迟。 串口正常的,建议用串口下载看看。 小李非刀 发表于 2020-8-30 23:10
串口正常的,建议用串口下载看看。
我是因为串口不能下载,才用USB下载的。
同样的下载线路,STC15F2K60S2串口下载没问题,而STC8G1K08不能下载。 好好查查硬件连接 楼主串口问题解决没?我现在也遇到串口不能通讯的问题,我试用的是U2,连简单的发送数据都发不出去,折腾了一天,也没搞定,官方的代码和示例直接编译烧录都不能正常通讯,是不是有什么坑要注意啊???第一次用芯片用到这么难受,真是服了... 没弄好, 我不折腾STC了, 换其他IC轻松搞定。。。 mtlsh 发表于 2020-9-3 21:16
没弄好, 我不折腾STC了, 换其他IC轻松搞定。。。
我也不想折腾了,心累..... miractech 发表于 2020-9-3 21:23
我也不想折腾了,心累.....
是的,通过多方面咨询都没解决,果断换方案;心情立马舒畅了。。。 mtlsh 发表于 2020-9-3 21:29
是的,通过多方面咨询都没解决,果断换方案;心情立马舒畅了。。。
这里面有串口2测试程序
这个芯片我也在用,串口正常啊,我是直接用的15w408s的程序直接下载都可以正常运行,楼主是不是哪个地方漏了 正常。
估计是楼主的USB转TTL兼容性太差
页:
[1]