STM32模拟串口控制TM1652

前段时间利用STM32单片机普通IO口模拟串口通信控制TM1652让数码管显示。目前没出现什么问题点,此贴仅贴出核心模拟串口通信部分,如有需要,博客里有自己测试时的程序源码,不要C币啦,啊哈哈哈哈。。。如果对你有用,请点赞啊喂

/**********************************************************
函数名称:tm1652_send_data
函数功能:发送11位数据(一帧数据)
函数参数:data :需要发送给TM1652的byte
函数返回:无
函数隶属:display(void)
创建日期:2020/04/19  13:36
作    者:RJ
注    解:1起始位+8位数据位+1校验位+1停止位
**********************************************************/
void tm1652_send_data(u8 sdat)
{
	u8 i=0, sfalg=0;
	  
	TX=0;   							// 起始位
	delay_us(52);   

	for(i=0; i<8; i++)					// 八位数据位
	{
		if(sdat & 0x01)
		{
			TX=1;
			sfalg++;
		}else
		{
			TX=0;
		}
		delay_us(52); 					// 波特率为19200,故每发送一位延时52us
		sdat >>=1;
	}

	if(sfalg%2==0)			    		// 奇校验位     
	{
		TX=1;
	}
	else			        
	{
		TX=0;
	}
	delay_us(52); 
	
	TX=1;  								// 停止位
	delay_us(104);   
}

你可能感兴趣的:(STM32模拟串口控制TM1652)