关于STM32F4 USART6 1200波特率乱码问题

STM32F4的USART1和USART6都是挂在RCC_APB2Periph_USART1时钟下,168MHZ下,USART1和USART6挂的APB2主频是84MHZ,uart3等挂的是APB1主频是48MHZ。默认情况下的时钟树如下图所以在默认情况下,UART2 ~ UART5波特率在1200可以正常,USART1和USART6会通信失败。解决方法:我们将APB2的频率降到48Mhz,调用void RCC_PCLK2Config(uint32_t RCC_HCLK)该函数,如下图函数传入参数结合之前的时钟树,将APB2的主频降低。测试结果显示将APB2主频降到48MHZ以后,1200波特...

http://www.eeworld.com.cn/mcu/2019/ic-news013043084.html 发布时间: 2019-01-30



STM32调试DEBUG时,需要知道的知识!

学习STM32开发,肯定少不了DEBUG调试这一步骤。那么,本文带你了解一下这个调试相关的知识。本文以STM32F1、Cortex-M3为例,其它系列芯片或内核,原理相同或类似。1概况在STM32中,有很多调试组件。使用它们可以执行各种调试功能,包括断点、数据观察点、 闪存地址重载以及各种跟踪。STM32F1使用Cortex-M3内核,该内核内含硬件调试模块,支持复杂的调试操作。硬件调试模块允许...
关键词: STM32 调试DEBUG

http://www.eeworld.com.cn/mcu/2019/ic-news013043083.html 发布时间: 2019-01-30



在RAM中调试STM32程序的配置方法

早就听说可以在RAM中调试STM32程序了,直到昨天晚上看了个视频,自己也想来试试。乘热打铁,今天上午跑到实验室,从网上下载资料,凭着零星的记忆开始配置。不过任何事情都不是一次成功的,这次也不意外。But经过反反复复修改,查资料,修改,查资料。还是成功啦!下面就把我配置的一些经验,结合网上已经有的一些资料傻瓜式总结出来,希望所有像我这样的初学者能够少走弯路。。。。。。先说说在RAM中调试STM32程序的好处吧!1. 可以单步调试程序,并且不用像仿真调试那样需要去查看繁琐的寄存器位,直接可以通过实验现象来Debug。2. 避免擦写Flash次数限制,虽然Flash的烧写次数高达1000次以上,但...

http://www.eeworld.com.cn/mcu/2019/ic-news013043082.html 发布时间: 2019-01-30



STM32 的 SWD调试模式

   SWD:Serial Wire Debug 串行线调试   我们比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多的PIN会导致一些小型的PCB板很拥挤,也会增加布线的难度。 而使用SWD接口下载调试,只需要要使用4个PIN:  GND, RST, SWDIO, SWDCLK ,而且下载速度可以达到10M/s,优势显而易见。     以下转自:http://www.openedv.com/posts/list/187.htm    &nb...
关键词: STM32 SWD 调试模式

http://www.eeworld.com.cn/mcu/2019/ic-news013043081.html 发布时间: 2019-01-30



STM32的下载及调试模式 接口

使用的最多的调试方式莫过于 JTAG  和SWD方式。JTAG:JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA器件等。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。相关JTAG引脚的定义为:TMS:模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TCK:时钟输入;TDI:数据输入,数据通过TDI引脚输入JTAG接口;TDO:数据输出,数据...

http://www.eeworld.com.cn/mcu/2019/ic-news013043080.html 发布时间: 2019-01-30



STM32之JTAG口作为普通IO使用

STM32F10x系列的MCU复位后,PA13/14/15 以及PB3/4默认配置为JTAG功能。有时我们为了充分利用MCU I/O口的资源,会把这些端口设置为普通I/O口。JTAG对应IOJTMS  --> PA13JTCK  --> PA14JTDI  --> PA15JTDO  --> PB3JNRST --> PB4SWD对应IOSWDIO --> PA13SWCLK --> PA14由对应IO关系可以看出,SWD只需用到PA13/JTMS、PA14/JTCK两根线,NREST可以接可不接,而剩下的PB4...
关键词: STM32 JTAG口 普通IO

http://www.eeworld.com.cn/mcu/2019/ic-news013043079.html 发布时间: 2019-01-30



STM32定时器5的输入捕获实验

此处使用的普中开发板,实验内容定时器5输入捕获通道1的高电平时长。软件实现方法:定时器5主要使用了两个功能:①时基单元;②输入捕获;从下文可知,通过定时器5捕获到相应的极性(eg:上升沿或高电平and so on)后,保存计数器的当前值到捕获/比较寄存器(TIMx_CCRx)中。而后,通过第二次捕获成功后,通过差值就可以求出该极性的周期或保持时间。此实验室捕获高电平的时间,通过先捕获上升沿再捕获下降沿,即可求出一个高电平的时长。数据手册描述如下:在输入捕获模式下,当检测到ICx信号上相应的边沿后,计数器的当前值被锁存到捕获/比较寄存器(TIMx_CCRx)中。当发生捕获事件时,相应的CCxIF...

http://www.eeworld.com.cn/mcu/2019/ic-news013043078.html 发布时间: 2019-01-30



基于STM32使用超声波HC-SR04模块

写在前面注意的几点: 1、HC-SR04模块必须使用5V供电,不能是3.3V 2、若单是测距,无需使用中断 3、Echo和Trig两个引脚可以任意接可用的GPIO,和定时器无关说一下超声波的工作原理 单片机给Trig引脚一个最少10us的高电平,然后拉低引脚,便启动了模块, 然后超声波就被发了出去,超声波遇到障碍物后返回被模块接收,Echo引脚会输出一段高电平,高电平的时间与距离成比例; 那么我们所需要做的就是出发Trig引脚,然后测出Echo持续高电平的时间以下是GPIO的设置:void Ultrasonic_Config(void...

http://www.eeworld.com.cn/mcu/2019/ic-news013043077.html 发布时间: 2019-01-30



使用STM32CubeMx配置STM32输入捕获功能

,或读取存储在TIMx_CCRx寄存器中的捕获数据也可清除CCxIF。写CCxOF=0可清除CCxOF。摘自《STM32参考手册中文》简单解释:定时器一直在计数,如果检测到设置的极性边沿,会把当前的计数值存下来,并触发中断;比如,定时器设置为TIM2,预分频719,计数周期0xFFFF,则TIM2 10us计数一次,计数到0xFFFF,重装载到0;现在设置的输入捕获极性为上升沿捕获,则当某通道捕获到一次上升...

http://www.eeworld.com.cn/mcu/2019/ic-news013043076.html 发布时间: 2019-01-30



基于L298N的STM32的直流电机PWM调速控制

这两天研究了一下基于L298N与stm32的直流电机调速,实验结果良好,可以根据调节STM32的PWM占空比来进行直流电机的调速。实验系统图如下:首先整个PWM实验选用的是stm32f103系列,驱动模块选择的是L298N驱动模块,以及12V直流电源。简单的来说,电机调速就是通过stm32输出PWM来进行控制L298N的使能端ENA。L298N驱动模块使用方法:输出A:通道A输出,连接直流电机...

http://www.eeworld.com.cn/mcu/2019/ic-news013043075.html 发布时间: 2019-01-30



STM32的ETR引脚计数功能

1. 基本介绍1.1. 开发环境开发板:WarShip STM32 BOARD V2.1 CPU:STM32F103ZET61.2. ETR引脚配置由上可知,使用STM32的ETR引脚计脉冲数,需将定时器的时钟源选择为外部时钟模式2 选定此模式的方法:令TIMx_SMCR寄存器中的ECE=1 计数器能够在外部触发ETR的每一个上升沿或下降沿计数 ...

http://www.eeworld.com.cn/mcu/2019/ic-news013043074.html 发布时间: 2019-01-30



使用STM32测量频率和占空比的几种方法

每次都进中断,1MHz的信号,你每秒捕捉100万次,值都是一样有意义吗?是否可以每秒捕捉10次取平均值?把细节处理好就行了。)思路三:输入捕获思路:一般来说,对STM32有一定了解的坛友们在测量频率的问题上往往都会想到利用输入捕获。首先设定为上升沿触发,当进入中断之后(rising)记录与上次中断(rising_last)之间的间隔(周期,其倒数就是频率)。再设定为下降沿,进入中断之后与上升沿时刻...

http://www.eeworld.com.cn/mcu/2019/ic-news013043073.html 发布时间: 2019-01-30



STM32寄存器操作和库函数操作区别

/*********************** 结构体操作点亮LED ********************************/ #include <stdint.h> //数据类型声明标准头文件#define __IO volatile //定义__IO //GPIO寄存器结构体定义typedef struct {__IO uint32_t CRL;__IO uint32_t CRH;__IO uint32_t IDR;__IO uint32_t ODR;__IO uint32_t BSRR;__IO uint32_t BRR;_...

http://www.eeworld.com.cn/mcu/2019/ic-news013043072.html 发布时间: 2019-01-30



STM32标准库函数命名规则

1.xxx_Init的函数,其功能是根据xxx_InitTypeDef中指定的参数,初始化外设xxx,例如TIM_Init2.xxx_DeInit的函数,其功能为复位外设xxx的所有寄存器至默认值,例如TIM_DeInit3.xxx_StructInit的函数,其功能为通过设置xxx_InitTypeDef 结构中的各种参数为默认值,例如:USART_StructInit4.xxx_Cmd的函数,其功能为使能或者失能外设xxx,例如: SPI_Cmd.5.xxx_ITConfig的函数,其功能为使能或者失能来自外设xxx某中断源,例如: RCC_ITConfig6.xxx_DMAConfig的...

http://www.eeworld.com.cn/mcu/2019/ic-news013043071.html 发布时间: 2019-01-30



STM32库函数编程思路总结及其与寄存器编程的对比剖析

一、STM32库函数编程思路总结1、基于STM32库函数的开发过程进行具体的项目开发前,做好项目创建工作,通常包括如下步骤:(1)新建工程项目的文件夹和子文件夹(如user、output、listing等)(2)使用MDK新建(或打开项目),选择目标CPU、添加CMSIS核心、STM32启动代码和外设驱动程序,构成运行环境。(3)添加包含main()函数的主程序文件。(4)配置目标选项...

http://www.eeworld.com.cn/mcu/2019/ic-news013043070.html 发布时间: 2019-01-30



stm32f107e/gt6英文资料详细使用手册

stm32f107e/gt6英文资料详细使用手册。 ...
关键词: STM32

http://download.eeworld.com.cn/detail/crazyjackson/590741 发布时间: 2019-01-30



STM32F103串口配置,并且使用printf进行打印

首先要配置串口时钟:    // USART1 clock enable     RCC_APB2PeriphClockCmd(    RCC_APB2Periph_USART1 |    RCC_APB2Periph_GPIOA |    RCC_APB2Periph_AFIO, ENABLE);然后再配置端口,在配置串口,再使能即可。 void USART1_Init(void){/////// config the gpio    GPIO_Init...

http://www.eeworld.com.cn/mcu/2019/ic-news012943068.html 发布时间: 2019-01-29



stm32 printf函数重定向

#include "stm32f10x.h"#include "stdio.h"  void RCC_Configuration(void);//首先设置系统时钟为8MHZvoid GPIO_Configuration(void);void USART_Configuration(void);  /* Function Name   : fputcDescription     : 重定向这个C库中的(stdio) printf函数,文件流到串口流USAR...

http://www.eeworld.com.cn/mcu/2019/ic-news012943067.html 发布时间: 2019-01-29



STM32的UART读写及printf打印

用它可以减少代码所占空间,但对现在STM32等单片机来说,内存一般都够用,微库并非必需;第二,微库相对于C标准库而言,支持的功能更少,主要体现在对操作系统的支持上。总的来说,标准的东西总是相对更可靠,所以不必要的掉坑,还是用C标准库,不用微库。4.最后我们还需要一个USB转TTL模块和一台装有串口调试软件的电脑,就可以看到单片机打印到串口上的内容了。从此,如果我们想看某个变量的值,可以打印一下,想看...

http://www.eeworld.com.cn/mcu/2019/ic-news012943066.html 发布时间: 2019-01-29



STM32 Printf函数利用标准库实现方法

/****************************************************分割线*******************************************/// 加入以下代码。支持printf函数,则不需要选择use MicroLIB//添加头文件#include <stdio.h>//添加代码#if 1#pragma import(__use_no_semihosting)             //标准库需要支持函数       &n...

http://www.eeworld.com.cn/mcu/2019/ic-news012943065.html 发布时间: 2019-01-29




<上一页 13141516171819202122232425262728 下一页> 相关结果约11,571个