利用空闲时间了一款方向+脉冲发生器。
具体功能如下:
1.完成频率可控 可控范围0-400KHZ
2.脉冲数量可控,方向可控    
3.可加换向或者换频率延时

可设定参数如:

脉冲数量 脉冲方向 脉冲频率 换向延时 四个参数

软件设计方案:
1,通过PWM脉冲发生,发出等长脉冲宽度,通过计数器输入捕获模式完成计数,达到一定数量脉冲后关掉PWM脉冲。
    优点:软件处理时间少,基本由硬件完成控制。    脉冲可以高达 42MHZ

不可行之处,当前电路下。两路脉冲通过其他IO口输出。 并非定时器脉冲输出通道。

2,通过软件处理,定时器定时时间到,拉高IO电平。
    缺点:频率低;

黄色为脉冲信号,手机里仅有这个图片,将就看吧

/*************************************************************************
    > File Name: main.c
    > Author: fifteenPeng
    > Mail: fifteenpeng@163.com 
    > Created Time: 2018-11-28
    > Versions: V1.0
    > Description: 目前仅能通过修改程序,来实现脉冲的频率变化。后期实现通过串口方式+上位机方式修改。
 ************************************************************************/
#include "stm32f4xx.h"
#include "IO.h"
#include "sys.h"
#include "systick.h"
#include "PulseCreat.h"

void HW_Init(void)
{
    IO_Init();
}

void SW_Init(void)
{
    //设置中断优先级
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    Systick_Init();
    PulseNormalcy();
}

int main(void)
{
    int loop;
    
    HW_Init();
    SW_Init();
    
    //如果循环结束段设置为:0,2,4,6,8,则异常结束。
    if(CTRL.state_end%2 == 0)
        return 0;
    
    if(CTRL.circulation == 0)    //判断开启循环
    {
        loop = 0;
    }
    else 
    {
        loop = CTRL.circulation_number; //开启
    }
    
    do{
        CTRL.Run();
    }while(loop>CTRL.loop);
    
    return 0;
}

具体代码资源请下载:

https://download.csdn.net/download/fifteenpeng/10888031

==========================================================

如有不对之处望指出。一起学习共同进步

邮箱:fifteenpeng@163.com

——十五

stm32F4方向+脉冲发生器相关推荐

  1. 【考研408】计算机与组成原理笔记

    文章目录 计算机系统概述 计算机系统层次结构 计算机硬件的基本组成 计算机软件的分类 计算机的工作过程 计算机系统的多级层次结构 课后习题 计算机的性能指标 计算机的主要性能指标 几个专业术语 课后习 ...

  2. STM32F4启动流程分析

    前言 因为在做有关STM32F407ZET6的项目,其中一项内容是通过IAP来对STM32进行在线升级,那么首先需要对STM32的启动流程需要做到详细了解. 硬件及调试配置说明: 使用芯片:STM32 ...

  3. pdfstamper生成pdf无法显示汉字_正点原子STM32F4/F7水星开发板资料连载第四十六章 汉字显示实验...

    1)实验平台:正点原子水星 STM32F4/F7 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载 ...

  4. STM32F4 串口DMA

    串口DMA方式收发 笔者使用的是STM32F407VET6,共包含6路串口,页尾处程序已将全部串口的DMA收发配置完成,本文仅以串口1为例进行讲解.(查看代码可直接跳至第二节或页尾处下载) 1 STM ...

  5. stm32的串口DMA空闲中断接收不等长数据,stm32F4的usart2-DMA-IDLE收发

    1. 串口为什么要使用DMA?好处? 提高系统实时性:stm32单片机的串口没有FIFO,使用字节中断的方式去接收,会频繁进入中断,影响系统实时性.好在stm32的串口可以级联DMA使用,在大数据量连 ...

  6. STM32F4 DMA

    STM32F4有2个DMA,每个DMA控制器有8个数据流,每个数据流有多达8个通道,但是DMA1 控制器 AHB 外设端口与 DMA2 控制器的情况不同,不连接到总线矩阵,因此,仅 DMA2 数据流能 ...

  7. 基于STM32F4:多通道ADC采集,采用DMA的形式,亲测有效

    基于STM32F4的多通道ADC采集 单片机源程序如下: #include "sys.h" #include "delay.h" #include " ...

  8. STM32F4单片机读取光电编码器的小理解

    STM32F4单片机读取光电编码器的小理解 大家好! 我是木兔同学,这是我第一次发CSDN的博客,本人接触的单片机主要是STM32f407,今天谈一谈STM32F4单片机读取光电编码器的小理解,希望大 ...

  9. (电赛电源方向)怎么样从零开始准备全国大学生电子设计竞赛

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.电赛是什么? 二.电源方向是什么? 三.该怎么去学习电源方向的知识? 1.博主的劝诫 2.硬件该准备些什么 3.软 ...

  10. 示波器观察IIC通讯协议-STM32F4读写24C08EEPROM时序图-新人首更

    示波器观察时序不是因为好奇,是因为遇到了问题 STM32F4探索者开发板板载24C02EEPROM,自制了一块开发板,需要存储容量更大的24C08A芯片,焊接后发现开发板上能成功运行的程序,在自己的板 ...

最新文章

  1. 大学毕业生如何应对“没有工作经验”的难题
  2. golang两种请求http的方式
  3. 24. [Ext JS 4] 实战之Load Mask(加载遮罩)的显示与隐藏
  4. 51单片机 驱动步进电机 C语言 lcd,51单片机红外遥控控制步进电机的LCD显示源程序...
  5. SQLServer2019安装教程
  6. SoapUI接口测试——关联——参数化
  7. 图文并茂地带你了解kafka分区Rebalance机制
  8. 计算机联锁 2x2,二乘二取二计算机联锁系统.pdf
  9. 建模实训报告总结_3d建模实习报告
  10. CardView介绍
  11. 四凯模型火箭发动机参数大全
  12. 2017年下半年综合素质作文
  13. 打印图形输出三角形 *
  14. ceph rbd扩容
  15. 跟着团子学SAP PS后台篇——项目编码配置 OPSJ/OPSK
  16. Java实验——分别统计字符串中出现的大写字母、小写字母个数,以及出现的数字字符以及其他字符的个数
  17. 第14课:Spark 分布式模型训练及调优(实战)
  18. Docker安装(Alibaba Cloud Linux 3)
  19. 计算机里没有机械硬盘分区,电脑不显示机械硬盘怎么办 几个步骤轻松搞定
  20. 方配网站服务器64位版,方配网站服务器(FPWebServer) v3.0 支持64位

热门文章

  1. wps云文档+到计算机,读书笔记:WPS云文档计算机版本
  2. 管鲍计算机教室管理系统,管鲍多媒体电子教室
  3. node2vec: 图数据的嵌入方法
  4. 80行Python实现-HOG梯度特征提取
  5. win10自动更新系统导致 点击睡眠之后直接关机
  6. U盘病毒专杀工具Usbcleaner
  7. 深入理解操作系统原理之操作系统概述
  8. au9720 usb-rs232驱动
  9. 360和腾讯QQ的那场战争!
  10. android开源播放器代码,github上十二款最著名的Android播放器开源项目