#include "tm1620.h"
#define uchar unsigned char
#define uint unsigned int
sbit STB=P1^7 ;
sbit CLK=P1^6 ;
sbit DIO=P1^5 ;
void UART_init()
{
TMOD=0x20;
TH1=0xfa;
TL1=0xfa;
TR1=1;
SM0=0;
SM1=1;
REN=1;
EA=1;
ES=0;
PCON=0x80;
}
void Uart_SendChar(char i)
{
TI=0;
SBUF=i;
while(TI==0);
TI=0;
}
void main()
{
UART_init();
Uart_SendChar(1);
Uart_SendChar(2);
Uart_SendChar(3);
Uart_SendChar(4);
while(1);
}
51单片机 串口发送数据 BUG 为什么 串口中断ES位置1 那么串口调试助手无限收到东西 只有置0才正常
答案:4 悬赏:20
解决时间 2021-03-25 11:43
- 提问者网友:遮云壑
- 2021-03-24 12:44
最佳答案
- 二级知识专家网友:废途浑身病态
- 2020-11-09 19:56
楼上说得对,没有中断服务程序的话,只要发送完一帧数据,就会跳转到0023H,这样一直在传送数据。
全部回答
- 1楼网友:时光挺欠揍
- 2020-04-06 15:42
如果ES=1,就必须写串口中断函数,否则程序肯定异常。
- 2楼网友:荒唐后生
- 2019-11-07 15:30
具体q
- 3楼网友:魅世女王
- 2019-09-29 02:25
tmod=0x20;是00110000, 是方式3吧
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯