合泰HT66F2390单片机串口UART使用例程

本文提供了一份合泰HT66F2390单片机的串口UART通信例程,包括代码实现及测试过程。在连接串口助手后,设备将持续接收并回传接收到的数据,实现双向通信验证。

 1、代码如下:

#include <HT66F2390.h>
typedef	unsigned long	u32;
typedef	unsigned short	u16;
#define	fH		8000000	
#define BR		19200       //波特率
void Delayms(u16 del)
{	u16 i;
	for(i=0;i<del;i++) GCC_DELAY(2000);
}
//发送一个单字符
void send_char(char s)
{
		_txr_rxr0=s;
		while(!_txif0);	
}
//发送一个字符串,注意如果发送的是字符数组,末尾必须加上'\0',否则将会出错
void send_buff(char *s)
{
	while(*s)
	{
		send_char(*s);
		s++;
	}
}
//初始化串口0
void inituart(){
	_wdtc=0b10101111;      //关闭看门狗
	_pas1=0b11000000;      //PA7为TX0功能、PA6为RX0功能
	_u0cr1=0b10000000; //使能UART0,8-bit数据传输,关闭奇偶校验功能,1位停止位,不发送暂停字。
	_u0cr2=0b11100100;  //使能发送器,使能接收器,高速波特率,关闭地址检测功能,关闭RX0唤醒功                    能,使能接收器中断功能,关闭发送器空闲中断,关闭发送器已空中断
	_brg0=fH/((u32)16*BR)-1;  //配置波特率
	_ur0e = 1;     //开启中断标志位
	_mf5e=1;        
	_emi=1;
}
//从串口接收一个字符串,存入数组中,停止符为c,注:接收到的串口数据最后,必须要加停止符号c,才能正确接收,并存入字符数组
int get_buff(char *rbuff,char c){
	  	int data_count=0;
	    char  rdata;
	    while(1){
    		while(!_rxif0); 
	    	rdata =_txr_rxr0;
	    	if(r
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值