TA的每日心情 | 开心 2022-1-29 15:03 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我把AUXR1 = 0x40 切换为P3.6 P3.7,但用串口助手COM5(调试时用)连接P3.6 P3.7时没有反应,用回COM4(下载时用)却有反应,是切换不成功的意思???? c3 e; } R# K/ p* C5 e( E$ h
还是还有什么东西漏掉了??; N% N, d3 t3 Z% g* d8 h
- #include "reg52.h"" \6 l( c, [0 \1 f2 G
* v7 A0 o- [7 G3 O0 x7 ?" F - #include "string.h"
- typedef unsigned int u16;
- typedef unsigned char u8;
- sfr AUXR1 = 0xa2; //串口切换控制寄存器
- #define AUXR1 = 0x40 //串口切换到P3.6和P3.7
- u8 i = 0;
- u8 buff[30];
- u8 *p;
- void UartInit(void){ //9600bps@11.0592MHz
- SCON = 0x50; //8位数据,可变波特率
- TMOD=0X20; //设置计数器工作方式2
- // AUXR |= 0x01; //串口1选择定时器2为波特率发生器
- // AUXR |= 0x04; //定时器2时钟为Fosc,即1T
- TL1 = 0xfd; //设定定时初值
- TH1 = 0xfd; //设定定时初值
- // AUXR |= 0x10; //启动定时器2
- ES = 1;
- EA = 1;
- TR1 = 1;
- }
- void main()
- {
- UartInit(); // 串口初始化
- while(1)
- {
- }
- }
- void Usart() interrupt 4
- {
- u8 receiveData;
- if(i >= 5){
- i = 0;
- memset(buff, 0, sizeof buff);
- }
- receiveData=SBUF;//出去接收到的数据
- buff = receiveData;
- RI = 0;//清除接收中断标志位
- if(i>2){
- SBUF=buff;//将接收到的数据放入到发送寄存器
- while(!TI); //等待发送数据完成
- TI=0; //清除发送完成标志位
- }
- i++;
- }
8 E) q, s8 Q9 f& @' i7 N8 r
* M1 J1 T1 e$ P/ q/ O4 x" D2 Q
|
|