stm32+
来自「stm32软件串口 io模拟串口」· 代码 · 共 63 行
TXT
63 行
#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 + =
减小字号Ctrl + -
显示快捷键?