📄 stm32+
字号:
#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 + -