推荐阅读最新更新时间:2024-03-16 16:05
如何解决STM32F407串口无法发送第一个字节问题
///* CPU的小缺陷:串口配置好,如果直接Send,则第1个字节发送不出去 // 如下语句解决第1个字节无法正确发送出去的问题 */ /* 清发送完成标志,Transmission Complete flag */ USART_ClearFlag(USART1, USART_FLAG_TXE); USART_ReceiveData(USART1); //读DR USART_ClearFlag(USART1,USART_FLAG_ORE); //读SR USART1_SendOneByte(0xff);
[单片机]
STM32F407-限位金属传感器限制步进电机
一、硬件 1.硬件准备:57步进电机(型号57CM18),42步进电机,驱动器TB6600,开发板STM32F407ZGT6,SN-4NDO限位金属传感器,检测面在9mm左右。 步进电机和驱动器在STM32F407-用TB6600驱动器驱动57步进电机(代码+连线)已经记录过了,本文主要记录限位传感器。 2.连线 虽然说是传感器,但其实就是一个开关量,就跟光电开关一样。有两种接法: PNP接法 蓝线接地,棕线接电源,黑色线作为输出接入开发板作为输入,在PNP接法中,常态黑色线为低电平,当传感器检测到物体时,会输出24V正电压。 NPN接法差别就是检测到物体时,黑线输出的是负电压。 我这里将传感器的黑线输
[单片机]
stm32f407之定时器中断使用流程
1.初始化 1.定义相关变量 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NVIC_InitStructure; 2.打开定时器时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); 3.定时器寄存器配置 TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseStructure
[单片机]
stm32f407以太网及USB OTG快速开发
引言 想要快速完成网络协议栈和USB OTG功能,使用ST自家的工具STM32CubMx再好不过的了。如果你还不会使用,别着急下面我会一步一步的用图片告诉你如何做。 软件平台:windows、STM32CubMx、keil v5 硬件平台:原子的stm32f407ZGT6开发板, STM32CubMx配置 1、以太网管脚的映射配置 第一:阅读原理图,使用STM32CubMx完成配置,原理图这里不说明。直接到STM32CubMx配置。 (1)、打开STM32CubMx软件,选择New Project,在弹出的菜单选择,选择对应的芯片,点击OK即可。如下图: (2) 设置clock,板子使用的是8MHz的晶振,软件对应
[单片机]
嵌入式开发:如何使用机智云+STM32F407+ESP8266+freeRTOS设计
前言 随着物联网的发展,未来的嵌入式产品必然朝着更加智能化、场景多样化、实时性更高等趋势发展,要处理好这些任务时,一个好的RTOS少不了。对于嵌入式开发者来说,了解和学习一个RTOS也是必要项之一,上手简单、及时性和可靠性高的FreeRTOS是最佳选择,和对开发者友好、物联网开发平台机智云配合,刚好满足了我对智能化开发的需求。 下面,我将从基础入手,来讲讲使用机智云+STM32F407+ESP8266+freeRTOS的设计,分别定义了GPIO输入输出,PWM输入输出。(本文由机智云开发者发表于CSDN,ID号:霁雪寒霄) 01 WiFi模块烧录GAgent 1.1 在机智云官网上下载固件,下载好的固件如图1-1所示。 1
[单片机]
STM32f407驱动hc-sr04超声波测距模块
最近完了一下测距模块,本想挺简单的一个东西,却折腾了好长时间。总算弄好了,贴到这里和大家分享一下! HC-SR04超声波测距模块是一种被用烂了的传感器,它的优点是成本低,控制容易,但是掌握不好时序,还是会弄的人一头雾水。 本模块用使用方法如下: 一. 5v直流电压供电,一般的单片机上自带的VCC都能驱动 二. Trig引脚收到来自单片机时长大于等于20us的高点品后发出超声波 三. Echo引脚接收Trig引脚发出的超声波的回波,并且单片机开启定时器记录高电平时间 四. 高电平结束后,关闭定时器,从定时器寄存器中取出记录值,换算成距离即可。 在做的过程中注意: 网上有好多代码,但是大多数互相抄袭,而
[单片机]
STM32F407使用MFRC522射频卡调试及程序移植成功
本学期感测技术选修课需要做一个作品出来,用到了MFRC522射频卡模块,经历一个星期的调试,终于可以正常使用并寻卡成功了了。 成功的把C51的程序移植到了STM32上面。 现在分享一下调试过程 1、操作环境 我所使用的是STM32F407的开发板,使用STM32CubeMX配置初始代码。 MFRC522使用软件模拟SPI通信 2、关于引脚的配置 淘宝买来的模块,店家都会送资料 ,也可以点下面连接保存至网盘 链接:http://pan.baidu.com/s/1boMyMlx 1、SPI通信引脚 NSS(SDA) --------- 片选信号 SCK --------- 时钟信号 MO
[单片机]
stm32f407之基本定时器TIM6&TIM7(操作寄存器)
基本定时器TIM6和TIM7包括一个由可编程分频器驱动的16位自动重载计数器。它可以用作普通的定时器,也可以用来驱动DAC。这两个定时器是完全独立的,不共享任何资源。更多时候是与DAC平配合使用。 作为定时器的配置步骤: 1.设置中断优先级分组(如果之前没有设置),这个最好一个程序里只在开头设置一次。 2.使能相关时钟。 3.设置分频。 4.清空计数器的值。 5.设置自动重装寄存器的值。 6.是否允许中断。 7.如果允许中断,设置中断优先级,使能中断。 8.使能计数器。 程序: /************************************ 标题:定时器TIM7
[单片机]