迪文科技论坛

 找回密码
 立即注册
搜索
查看: 140|回复: 0

【分享】迪文二次开发之串口

[复制链接]

3

主题

0

回帖

54

积分

注册会员

Rank: 2

积分
54
发表于 2023-12-20 09:38:33 | 显示全部楼层 |阅读模式
T5L芯片内部的UART串口,串口外设在嵌入式开发领域的重要性就不用多说了,我们T5L芯片内部总共提供了UART1, UART2, UART3, UART4, UART5五个串口,但是UART1串口被GUI核给占用了,用于外接WIFI模块或者下载调试之用,也就是说我们C51代码无法使用UART1串口,而剩下的UART2-UART5四个串口全部留给了我们的C51核,可以说也是相当的丰富了。其中的UART2, UART3这俩个串口和普通IO引脚功能进行复用,通过MUX_SEL寄存器来选择到底使用哪一个功能,而UART4, UART5这俩个串口为专用串口,不与其他外设功能进行复用,这四个串口的使用方法基本是雷同的,只要学会一个,其他的类推就可以了,与UART串口相关的寄存器如下图所示:
C:\\Users\\29903\\Desktop\\资料\\图片\\dw.png
代码如下:
#ifndef __UART2_H__
#define __UART2_H__
#include "sys.h"
#include <stdio.h>


#define UART2_INT_EN                                                        1                                //串口中断是否使能
#define UART2_PACKET_OK                                                0x8000  //是否接受到了完整的数据包
#define UART2_PACKET_LEN                                        0x7fff        //数据包的长度
#define UART2_PACKET_MAX_LEN                        100                        //定义了串口包的最大长度,不包含'\n'或"\r\n"结束标记在内的


//变量申明
extern xdata u16 uart2_rx_sta;
extern xdata u8  uart2_buf[];

//函数申明
void uart2_init(u32 baud);
void u2_send_byte(u8 byte);
void u2_send_bytes(u8 *bytes,u16 len);
#endif


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 07:12 , Processed in 0.062460 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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