前段时间利用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);
}