⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stm32+

📁 stm32软件串口 io模拟串口
💻
字号:
#include <stm32f10x_lib.h>	   
#include "virtualusart.h"
#include"delay.h"
//////////////////////////////////////////////////////////////////////////////////	 
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//Mini STM32开发板
//LED驱动代码	   
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
//修改日期:2010/5/27
//版本:V1.0
//版权所有,盗版必究。
//Copyright(C) 正点原子 2009-2019
//All rights reserved											  
//////////////////////////////////////////////////////////////////////////////////
u32 tbaud; 	   

void VIRTUALUSART_Init(u32 bound)
{
	RCC->APB2ENR|=1<<2;    //使能PORTA时钟	   	 
	   	 
	GPIOA->CRH&=0XFFFFFF0F; 
	GPIOA->CRH|=0X00000030;//PA9 推挽输出	VTXD

	GPIOA->CRH&=0XFFFFF0FF; 
	GPIOA->CRH|=0X00000800;//PA10 浮空输入   VRXD
	tbaud=1000000/bound;	 

}
void VUWByte(u8 dat)	   //利用虚拟串口发送一个字节。
{
	u8 i=8;
	VTXD=0;		  //起始位
	delay_us(tbaud);

	while(i--)
	{
		VTXD=dat&0x01;
		delay_us(tbaud);
		dat=dat>>1;
	}
	VTXD=1;		//停止位
	delay_us(tbaud);
}
u8  VURByte()
{
	u8 i=8;
	u8 output=0;
	delay_us(tbaud*1.5);  //起始位
	while(i--)
	{
	output>>=1;
	if(VRXD) output|=0x80;
	delay_us(tbaud);
	}
	return output;
}





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -