- 博客(24)
- 收藏
- 关注
原创 基于stm32的红外遥控
内容分三个部分:(1)红外遥控协议(2)硬件连接(3)代码编写1、红外遥控协议红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。红外遥控的编码目前广泛使用的是:NEC Protoco...
2019-05-08 14:40:10 11643 2
原创 基于stm32与l298n的直流电机pwm调速(二)
在上一博文中说了直流电机驱动板的电路原理,现在具体说一下直流电机的调速原理以及代码实现,亲测调速有效。首先说一下接线,l298n可以控制两路直流电机,在这里仅测试一路,看一下l298n的控制逻辑以及芯片引脚。我么所用到的就是IN1-4,两个使能ENA和ENB,然后OUT1-4。看一下其控制逻辑使能信号ENA高电平有效,然后逻辑信号IN1和IN2一起控制正反转和刹车。利用stm32进行控制...
2019-04-25 19:16:14 31562 78
原创 基于stm32与l298n的直流电机pwm调速(一)
这一段时间内和舍友一起开发智能语音无人车,现阶段在准备各种零部件,接下来会一直持续更新无人车进展,今天先来分享一下直流电机的pwm调速系统的原理。原理图如下:在这里采用的是不带霍尔编码器的直流电机所以不存在上图的位置反馈,stm32控制器采用ze系列不多做介绍,重点说一下电机驱动器。常见的驱动芯片有很多,L298N,BST7970,MC33886等等,这里采用L298N,支持双轴控制,其电路...
2019-04-24 17:45:49 15447
原创 stm32芯片超时无应答解决
1、stm32使用过程中出现芯片超时无应答,无法连接的情况(1)跳线帽是否连接正常(2)flymcu是否设置正确(3)如果上述都正常,利用flymcu的设定选项字节,选中芯片类型,进行恢复出厂设置(4)还不行的话,通过其他下载方式jlink等下载...
2019-04-23 09:52:32 27406 2
原创 基于stm32的I2C通讯
IIC(Inter-Integrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备,是一种半双工的同步通讯方式,由数据线 SDA 和时钟 SCL 构成的串行总线,可发送和接收数据。在 CPU 与被控 IC 之间、 IC 与 IC 之间进行双向传送, 高速 IIC 总线一般可达 400kbps 以上。关于半双工同步以及串行的相关解释在之前...
2019-04-12 09:56:09 1891
原创 STM32实现FSMC驱动TFTLCD液晶显示屏
1、TFTLCD接口及驱动流程TFTLCD液晶显示屏的接口说明,这里是16位80并口接线方式,关于这种方式的简介可以参考百度文库80并口协议LCD引脚包括:CS:片选信号WR:写信号RD:读信号DB[1-17]:16位双向数据线RST:复位信号RS:命令0/数据标志1CTR:背光控制信号还有当其作为输入设备时一系列接口信号80并口读写的时序图如下:读时序:(1)根据读...
2019-04-11 15:51:50 28256 1
原创 STM32的输入捕获
输入捕获就是常说采集,工作流程一般包括以下5个步骤:(1)设置输入捕获滤波器(2)设置捕获极性(3)设置捕获通道映射(4)设置捕获分频器(5)开启中断结合下图具体说明(1)设置捕获滤波器通过设置TIMx_CCMR1的ICF位,设置采样频率和数字滤波长度,图中fDTS是通过设置TIMx_CR1的CDK[1:0]来确定的,如果CDK[1:0]为00,则fDTS=fCK_INT,fCK...
2019-04-07 00:16:05 2110
原创 STM32的PWM输出实验
在上一篇博文通用定时器的中断中,描述了通用定时器中断的流程,这一节除了需要时钟源和时基单元外,还需要输出通道,这里涉及一个非常重要的寄存器,输出比较寄存器,如图通过设置该寄存器(CCRX)来调整pwm输出的占空比,如下图所示:CNT计数器计的值超过CCRx的值时候,输出高电平,低于时输出低电平。在上一篇博文中设置溢出时间Tout(溢出时间)=(ARR+1)(PSC+1)/Tclk,可见设置...
2019-04-04 21:16:41 3983
原创 stm32通用定时器中断
通用定时器主要由以下几个部分组成:(1)时基单元主要包括:计数器寄存器、预分频寄存器和自动装载寄存器(2)时钟发生器:产生时钟源(3)输入捕获通道(4)输出通道其中定时器中断只涉及了(1)(2)两个部分:定时器中断流程如下:(1)选择时钟源,需要操作从模式控制寄存器TIMx_SMCR的低3位,默认为000,预分频器直接由内部时钟驱动。(2)设置预分频寄存器TIMx_PSC...
2019-04-03 22:27:45 2114 3
原创 看门狗喂狗被狗咬——窗口看门狗
喂狗:重新把装载寄存器中的值装载至计数寄存器或者直接往计数寄存器写入数据,保证mcu不会复位。被狗咬:没有及时喂狗或者喂狗过于频繁,后者只存在于窗口看门狗,在独立看门狗中不存在喂狗过快还被狗咬的现象。也不知道谁起的名字。。。。。。窗口看门狗之所以叫窗口就是因为其喂狗时间是一个有上下限的范围(窗口)。通过设定相关寄存器,设定其上限时间(下限固定),喂狗的时间不能过早也不能过晚。独立看门狗限制...
2019-04-02 15:24:55 3336 2
原创 独立看门狗实现
在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog) 。看门狗的作用:在程序正常运行的时候,系统不...
2019-04-02 09:21:58 700
原创 stm32外部中断实验
STM32的中断控制器支持19个外部中断/事件请求,每个IO都可以作为外部中断输入,其中:线0~15:对应外部IO口的输入中断。线16:连接到PVD输出。线17:连接到RTC闹钟事件。线18:连接到USB唤醒事件。每个外部中断线可以独立的配置触发方式(上升沿,下降沿或者双边沿触发),触发/屏蔽,专用的状态位。STM32供IO使用的中断线只有16个,但是STM32F10x系列的IO口多达...
2019-04-01 19:59:45 5097 1
原创 利用labview与c语言中断方式分别实现串口仪器控制
利用labview实现串口仪器控制在之前已经写过,参考之前的两篇帖子1、https://blog.csdn.net/li_little7/article/details/838604702、https://blog.csdn.net/li_little7/article/details/84030153这里说一下如何用c语言实现串口仪器控制,道理是一样的,直接开始串口配置过程以stm32f1...
2019-03-31 23:00:33 2126
原创 串口通讯原理
通讯双方有两种通讯方式:并行通讯串行通讯数据各个位同时传输数据按位顺序传输速度快速度慢占用引脚资源多占用引脚资源少串行通讯分为单工,半双工和全双工通讯:...
2019-03-31 20:17:51 852
原创 STM32F103系列 NVIC中断优先级管理
CM3 内核支持 256 个中断,其中包含了 16 个内核中断和 240 个外部中断,并且具有 256级的可编程中断设置。STM32 并没有使用 CM3 内核的全部东西,只用了它的一部分。STM32 有 84 个中断,包括 16 个内核中断和 68 个可屏蔽中断,具有 16 级可编程的中断优先级。我们常用的就是这 68 个可屏蔽中断,但是 STM32 的 68 个可屏蔽中断,在 STM32F103...
2019-03-29 14:51:23 1644
原创 STM32的系统构架与时钟系统
1、系统构架STM32系统主要由四个驱动单元和四个被动单元组成驱动单元:(1)内核DCode总线(2)系统总线(3)通用DMA1(4)通用DMA2被动单元:(1)AHB-APB的桥(2)内部flash闪存(3)SRAM(4)FSMC① ICode 总线:该总线将 M3 内核指令总线和闪存指令接口相连,指令的预取在该总线上面完成。② DCode 总线:该总线将 M3 内核...
2019-03-28 15:41:49 942
原创 MDK中STM32寄存器地址名称映射
1、STM32F103ZET6中z代表引脚数目,该芯片有144个引脚,除去vcc,gnd等特定功能的引脚外,有112个可以用作IO口。共分为7组,GPIOA-GPIOG,分别从0-15,每组16个IO口,这16个IO口是由7个寄存器来设置的,下面具体说一下这7个寄存器。两个32位配置寄存器(GPIOx_CRL ,GPIOx_CRH)GPIOx_CRL :端口配置低寄存器GPIOx_CRH:端...
2019-03-28 14:32:15 564
原创 GPIO工作模式
其中输入模式有4种,分别是:(1)模拟输入 GPIO_Mode_AIN(2)浮空输入 GPIO_Mode_IN_FLOATING(3)下拉输入 GPIO_Mode_IPD(4)上拉输入 GPIO_Mode_IPU输出模式也有4种,分别是:(1)开漏输出 GPIO_Mode_Out_OD (2)推挽输出 GPIO_Mode_Out_PP(3)复用开漏输出 GPIO_Mode_AF_O...
2019-03-26 15:32:59 849
原创 LabVIEW视觉开发必备软件VAS、VDM、VBAI以及基于VDM的圆形
1.关于labview视觉开发必备软件VAS——vision acquisition software(视觉获取软件)用于捕获图像的一系列驱动程序。如果你使用的是大恒的工业相机,调用的是DLL,不需要使用IMAQdx、IMAQ等驱动,这个不安装也可以。如果使用如AVT等工业相机,则这个需要安装。安装后,在VBAI、VDM中的视觉助手(Vision Assistant)、MAX中都是可以直接从相机...
2018-11-19 20:14:23 23095 3
原创 串口仪器控制(下篇)——利用虚拟串口模拟仪器
首先,需要利用虚拟串口软件创建虚拟串口,然后利用串口调试助手查看控制效果,下面是虚拟串口软件和串口调试助手软件的下载连接。链接:https://pan.baidu.com/s/1nxQ0Ct0OjRATdE3YHgUxaQ提取码:w11wfirst step:利用虚拟串口软件创建虚拟串口在virtual ports中并没有串口,我们选择端口号,然后add pair之后就会多了一对虚拟串口...
2018-11-13 15:45:29 2269
原创 检测labview安装visa驱动,并实现串口仪器控制(上篇)
首先提醒一点,并不是安装了labview就可以使用其全部功能,比如视觉处理需要安装vision,处理office需要Report Generation Toolkit(报表生成与数据存储工具包)等。那么如何检测是否安装了这些工具包,可以利用NI MAX。NI MAX是NI提供的一款方便与硬件设备交互的配置管理软件,以下以visa为例检测是否安装了visa驱动。打开NI MAX,选择软件,...
2018-11-08 14:15:41 14316 4
原创 创建dll文件并利用labview实现调用
一、创建dll(dynamic link library动态链接库)1、利用c++的编译软件vs2017创建dll文件,选择动态链接库2、添加.h文件(头文件),头文件代码如下:#pragma once#ifndef mydll_H_#define mydll_H_#ifdef MYLIBDLL#define MYLIBDLL extern "C" _declspec(dllimp...
2018-11-05 19:15:17 5640 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人