概述
STC8G单片机使用printf()函数发送数据,出现错乱现象:
void UartIsr() interrupt 4
{
int d=0,e=1,f=2,g=3;
if (RI)
{
ES=0;
RI = 0;
printf("%d%d%d",e,f,g); //接收中断后 回传1 2 3
ES=1;
}
}
111.png (12.95 KB, 下载次数: 1)
2020-7-16 09:49 上传
只能收到e=1,后面的字节收不到;切换到HEX模式,则还是有错误:
22.png (13 KB, 下载次数: 3)
2020-7-16 09:51 上传
31的asc码是1,A6和FE明显是错误显示;
现在把发送分成3次,程序如下,但发现还是有错误:
void UartIsr() interrupt 4
{
int d=0,e=1,f=2,g=3;
if (RI)
{
ES=0;
RI = 0;
printf("%d",e);
printf("%d",f);
printf("%d",g);
ES=1;
}
}
33.png (13.21 KB, 下载次数: 2)
2020-7-16 09:57 上传
非常奇怪,只能发送一个字节出去;
单片机选用型号是STC8G2K64S4,属于1T单片机,晶振设置的是22.1184MHZ,波特率是19200,完整程序如下,跪求各路大神解惑,谢谢!
#include "reg51.h"
#include"stdio.h"
#include "intrins.h"
#define CKSEL (*(unsigned char volatile xdata *)0xfe00) //时钟相关寄存器地址
#define CLKDIV (*(unsigned char volatile xdata *)0xfe01)
#define HIRCCR (*(unsigned char volatile xdata *)0xfe02)
#define XOSCCR (*(unsigned char volatile xdata *)0xfe03)
#define IRC32KCR (*(unsigned char volatile xdata *)0xfe04)
sfr P_SW2 = 0xba; //特殊寄存器
sfr AUXR = 0x8e;
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;
int K=0;
void UartInit()//串口初始化函数
{
PCON=0x00; //PCON=0X00 波特率不加倍 SMOD=0
SCON = 0x50; //SM0=0 SM1=1 串口1模式1可变波特率 8位数据模式
TMOD = 0x20; //定时器1模式2 8位自动重装载模式
TL1 =0xDC; //1T模式 22.1184MHZ晶振下 19200波特率
TH1 =0xDC;
IE=0x90;// 等同于EA=1;ES=1;
TCON=0x40;//等同于 TR1=1;
TI=1;
AUXR = 0x40; //串口1模式0的波特率不加倍 选择定时器1作为波特率发射器
}
void main()
{
P_SW2 = 0x80;//首先选择内部时钟
CKSEL = 0x00; // 选择内部 IRC ( 默认 ) 22.1184MHZ
//CLKDIV = 0x02; // 时钟 2 分频
P_SW2 = 0x00;
UartInit();
while (1)
{
if(K==1)
;
if(K==2)
;
}
}
void UartIsr() interrupt 4
{
int d=0,e=1,f=2,g=3;
if (RI)
{
ES=0;
RI = 0;
printf("%d",e);
printf("%d",f);
printf("%d",g);
ES=1;
}
}
33.png (60.17 KB, 下载次数: 3)
2020-7-16 10:02 上传
最后
以上就是现实咖啡为你收集整理的stc单片机485发送多出一字节_STC8G单片机串口通讯疑问,每次只能发送一个字节正确数据问题...的全部内容,希望文章能够帮你解决stc单片机485发送多出一字节_STC8G单片机串口通讯疑问,每次只能发送一个字节正确数据问题...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复