历史上的今天
今天是:2024年08月31日(星期六)
2018年08月31日 | stm32模拟串口(基于高精度延时)
2018-08-31 来源:eefocus
上一篇实现了高精度延时,这一节我们利用已实现的高精度延时接口来模拟串口发生数据(接收数据暂时没用到,所以偷懒没实现),直接上代码。
一、softserial.h
#ifndef _SOFTWARE_SERIAL_H
#define _SOFTWARE_SERIAL_H
#include "stm32f1xx.h"
void soft_serial_init(void);
void serial_write(uint8_t const data);
void serial_transimt(const uint8_t *p_txdata,uint16_t size);
void serial_transmit_str(const uint8_t *str);
#endif
二、softserial.c
#include "softserial.h"
#include "delay.h"
#include "gpio_api.h"
//#include "sf6.h"
#define SER_TX PA_15
#define TX_H() gpio_write(SER_TX,1)
#define TX_L() gpio_write(SER_TX,0)
#define BAUD 9600
const uint16_t bit_dly = 1000000U/BAUD; /* 1s = 1,000,000us */
void soft_serial_init(void)
{
gpio_init(PA_15);
gpio_format(PA_15,GPIO_MODE_OUTPUT_PP,GPIO_PULLUP);
TX_H();
}
void serial_write(uint8_t const data)
{
uint8_t i;
TX_L();
udelay(bit_dly);
for(i=0;i<8;i++){
if((data>>i & 0x01) == 0){
TX_L();
udelay(bit_dly);
}else{
TX_H();
udelay(bit_dly);
}
}
TX_H();
udelay(bit_dly);
}
void serial_transimt(const uint8_t *p_txdata,uint16_t size)
{
for(uint16_t i=0;i
史海拾趣
|
由于上次没有说清楚,帖子沉了,再发一次,希望高手们帮帮忙啊 附件里是设计的一个思路,其中 [size=89%][size=75%]n由8MHz的晶振分频至0.8Hz,作为闸门信号 [size=89%][size=75%]n闸门信号:占空比为80%,低电平时间为0.25s,高电 ...… 查看全部问答> |
|
摘要: ALTERA公司SRAM工艺可编程器件应用广泛,专用配置器件比较昂贵。在具有微处理器的系统中,使用微处理器系统的存储器来存储配置数据,并通过微处理器配置FPGA,这种方法几乎不增加成本。微处理器根据不同的程序应用,采用不同的配置数据对FPG ...… 查看全部问答> |
|
Achronix半导体公司采用异步电路的1.5GHz FPGA已经开始送样,该公司希望该产品凭借三倍于Altera、Xilinx公司FPGA的数据率去替代高端通信、测试和其他高端市场的ASIC产品。 Achronix是否能提供其承诺的性能还需要观察,该产品具备一系列工具和硅IP ...… 查看全部问答> |
|
同样一个过滤驱动程序,在winxp下的安装方式和win2000一样的么 现在正在开发一个USB过滤驱动程序,大致流程如下:对USB设置访问密码放在首山区,并对首山区加密,当u盘插入时候首先对首山区进行解密读出其中的数据,在一个应用程序中正确输入密码后才能够对u盘进行正常的读写操作,驱动在winxp下能够工作的很好 ...… 查看全部问答> |
|
运动控制器控制伺服电机,采用+/-10V模拟量控制方式,在伺服定位完成后,出现+/-1个脉冲的跳动。比如,定位到100脉冲处,定位完成时编码器反馈到达了100位置,但编码器读数是100 ,101之间来回跳动,从机械上也出来了异常声音。试着调整速度环增益 ...… 查看全部问答> |
|
推荐一本学习VHDL的书--《基于VHDL的FPGA和Nios II实例精炼》 推荐一本学习VHDL的书(包括FPGA与NIOS II设计)--《基于VHDL的FPGA和Nios II实例精炼》 《基于VHDL的FPGA和Nios II实例精炼》 由北航出版社出版。内容简介《基于VHDL的FPGA和NiosⅡ实例精炼》一书分为4个部分:Quartus Ⅱ软件的基本操作、VHDL语 ...… 查看全部问答> |




