迪文科技论坛

 找回密码
 立即注册
搜索
查看: 2294|回复: 5

【开源】keil下T5L串口2的TX2 RX2配置详解,环回实验源码注释

[复制链接]

45

主题

254

回帖

3412

积分

论坛元老

Rank: 8Rank: 8

积分
3412
发表于 2019-11-9 13:52:43 | 显示全部楼层 |阅读模式
本帖最后由 神秘の宅叔 于 2019-12-25 08:54 编辑

keil下T5L串口2的TX2 RX2配置详解,环回实验源码注释,
应该是最把所有关联因素都考虑了的最小配置文件,有些地方用不同表述方法配置方法进行了重复配置,
但由于是初始化只执行一次,并不会影响效率.





void  main()
{
  
initcpu();   
MUX_SEL |=B0100_0000;//驱动模拟开关将UART的TX2连接的P04,RX2连接的P05,
//.7 1=CAN 接口引出到 P0.2、P0.3, 0=CAN 接口不引出,为 IO 口。
//.6 1=UART2 接口引出到 P0.4、P0.5, 0=UART2 接口不引出,为 IO 口。
//.5 1=UART3 接口引出到 P0.6、P0.7, 0=UART3 接口不引出,为 IO 口。
//.4保留
//.3保留
//.2保留
//.1 WDT 控制,1=开启 0=关闭。
//.0 WDT 喂狗,1=喂狗一次(WDT 计数值归零,看门狗的溢出时间为 1 秒)
   
ADCON=0x80;//波特率发生器选择  00选择T1同8051   0x80选择使用 SREL0H
   
//SM0 SM1 SM2 REN TB8 RB8 TI0 RI0   
// 0 1   0   1  0   0   0     0
SCON0=B0101_0000;
//等效以下设置
SM0  = 0;//SCON0^7;//现代通用的模式
SM1  = 1;//SCON0^6;//现代通用的模式
SM2  = 0;//SCON0^5;//现代通用的模式
REN  = 1;//SCON0^4;//现代通用的模式
TB8  = 0;//SCON0^3;//现代通用的模式
RB8  = 0;//SCON0^2;//现代通用的模式
TI0  = 0;//SCON0^1;//现代通用的模式
RI0  = 0;//SCON0^0;//现代通用的模式
   IEN0|=B0001_0000;//确认 ES0=1;允许interrupt    4

  // IP0=0x00;  //中断优先级确认
  // IP1=0x00;  //中断优先级确认

  //SMOD=0下 SRE0H=1024-CPU 主频/(64*波特率);
   PCON &=B0111_1111;//确认SMOD=0
    SREL0H=0x03; //SMOD=0下 SRE0H=1024-CPU 主频/(64*波特率);  
    SREL0L=0xE4; //SMOD=0下 SRE0H=1024-CPU 主频/(64*波特率);      
    ES0=1;//再次确认允许interrupt    4
REN=1;//重要!!!确保允许接收
    EA=1;//IEN0|=B1000_0000;

  WDT_OFF();      //关闭开门狗

        P0|=B0001_0000;//TX2引脚寄存器锁存1,防止防止MUX_SEL切换时发送发送乱码
     P0|=B0010_0000;//RX2引脚寄存器锁存1,防止MUX_SEL切换时接收乱码
MUX_SEL |=B0100_0000;//驱动模拟开关将UART的TX2连接到P04,RX2连接到P05,
  P0MDOUT |=B0001_0000;//重要!!!确保TX2连接到P04后被VIO推挽电路驱动
while(1){;}
}
void UART2_RT(void)    interrupt    4    //自环实验
     {
   
       EA=0;
        //中断函数代码
     if  (RI0) { SBUF0=SBUF0;while (!TI0){;}TI0=0;RI0=0; } //自环回实验,
     if  (TI0) {TI0=0;}         
EA=1;   
   }

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

2

主题

21

回帖

105

积分

注册会员

Rank: 2

积分
105
发表于 2019-11-13 23:00:04 | 显示全部楼层
代码里有部分乱码显示.
回复

使用道具 举报

45

主题

254

回帖

3412

积分

论坛元老

Rank: 8Rank: 8

积分
3412
 楼主| 发表于 2019-11-13 23:09:52 | 显示全部楼层
887799 发表于 2019-11-13 23:00
代码里有部分乱码显示.

表情符的问题,可以忽略
回复

使用道具 举报

4

主题

37

回帖

1631

积分

金牌会员

Rank: 6Rank: 6

积分
1631
发表于 2019-11-22 18:58:53 | 显示全部楼层
多谢你的分享!请问有测试过DGUS串口2数据 OS串口2能收到吗,同时串口数据输出到外部是如何协调的,谢谢!
回复

使用道具 举报

45

主题

254

回帖

3412

积分

论坛元老

Rank: 8Rank: 8

积分
3412
 楼主| 发表于 2019-11-22 22:01:24 | 显示全部楼层
串口数据输出到外部是通过0F00系统变量标记协调的。你用串口写0F
00,按照规定格式,也可以返回。
回复

使用道具 举报

4

主题

37

回帖

1631

积分

金牌会员

Rank: 6Rank: 6

积分
1631
发表于 2019-11-23 07:25:12 | 显示全部楼层
舞指飞扬 发表于 2019-11-22 22:01
串口数据输出到外部是通过0F00系统变量标记协调的。你用串口写0F
00,按照规定格式,也可以返回。 ...

有相关的资料参考学习吗,谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-11-23 02:42 , Processed in 0.094030 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表