Sky

Sky

0个粉丝

35

问答

0

专栏

6

资料

Sky  发布于  2020-09-25 14:33:05
采纳率 3%
35个问答
2715

有没有遇到过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”

define FOSC 11059200UL

define BRT (65536 - FOSC / 9600 / 4)

sfr AUXR = 0x8e;
sfr T2H = 0xd6;
sfr T2L = 0xd7;

sfr P0M1 = 0x93;
sfr P0M0 = 0x94;
sfr P1M1 = 0x91;
sfr P1M0 = 0x92;
sfr P2M1 = 0x95;
sfr P2M0 = 0x96;
sfr P3M1 = 0xb1;
sfr P3M0 = 0xb2;
sfr P4M1 = 0xb3;
sfr P4M0 = 0xb4;
sfr P5M1 = 0xc9;
sfr P5M0 = 0xca;

sfr P5 = 0xc8;
sfr P_SW1 = 0xa2;

bit busy;
char wptr;
char rptr;
char buffer[16];

void UartIsr() interrupt 4
{
if (TI)
{
TI = 0;
busy = 0;
}
if (RI)
{
RI = 0;
buffer[wptr++] = 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++]);
rptr &= 0x0f;
}
}
}

我来回答
回答0个
时间排序
认可量排序
易百纳技术社区暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区