首先 时钟是STM32单片机的脉搏,是单片机的驱动源。使用任何一个外设都必须打开相应的时钟。这样的好处就是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统的功耗,达到节能,实现低功耗的效果。1.
本文主要简单介绍CAN总线的相关概念,以及通信协议等知识,和使用STM32自带的bxCAN外设进行CAN总线编程实验,以及编程心得。1. CAN总线简要介绍概念:CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由
//USARTvoid UART2_Configuration(void){ GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; USART_ClockInitTypeDef USART_ClockInitStructure; RCC_APB1PeriphClockCmd(RCC_APB1P
/*******************************************************************************固件函数库通过检查库函书的输入来实现运行时间错误侦测。通过使用宏assert_param来实现运行时间检测。所有要求输入参数的函数都
//原帖http://bbs.elecfans.com/forum.php?mod=viewthread&tid=445463//在学习过程中发现几处编译错误,并改正;//主要贴出定义、和中断函数部分;uint8_t usart_rx_buf[5][40]; //接收缓冲,最大40个字节uint8_t us
这次要讲讲如何用USB升级单片机代码。以前曾经做过串口升级,网络升级,升级的基本原理都类似,只不过升级的工具不同罢了,串口升级当然是用串口了,网络升级用的是TCP/IP,USB升级当然用的是USB了。下面就来讲讲USB
描述:用ADC连续采集11路模拟信号,并由DMA传输到内存。ADC配置为扫描并且连续转换模式,ADC的时钟配置为12MHZ。在每次转换结束后,由DMA循环将转换的数据传输到内存中。ADC可以连续采集N次求平均值。最后通过串口传
说明:GPIOA,GPIO_Pin_0对应key1;GPIOA,GPIO_Pin_1对应key2;GPIOA,GPIO_Pin_2对应LED1;GPIOA,GPIO_Pin_3对应LED2#include"stm32f10x.h"#include"stm32f10x_rcc.h"#include"stm32f10x_gpio.h"#include"system_stm3
STM32的RTC晶振,我百度全网,总结如下软件: 在以前很多的程序里 在rtc中断里 都没有 RTC_WaitForLastTask();这个语句。 加上即可硬件: 常规配置 6p晶振加两个10p电容 不要并联电阻并联了反而不起振==============
最近在调试编码器,用的貌似是官方给出的例程,但是在做pid的时候遇到困难,不知道该如何在此基础上实现pid,有大神指教吗?#define ENCODER_TIMERTIM3// Encoder unit connected to TIM3#define ENCODER_TIM_PERIOD
main.c配置:/**说明:*PA0:KEY1;PA1:KEY2;*PA2:LED1;PA3:LED2;*PA9:USART1_TX;PA10:USART1_RX*/#include"stm32f10x.h"#include"stm32f10x_rcc.h"#include"stm32f10x_gpio.h"#include"stm32f10x_usart.h"#include"st
目前stm32已经非常流行了,那么本文讨论下stm32低功耗模式,不多说先上手册内容!这是英文文档 不好看懂是吧,下面看中文文档!我对比了 STM32F0 和 STM32F1 两者进入低功耗是一样的,STM32F4的类似目前没有研究。低功
通过ADC注入通道的使用,可以实时获取4个GPIO输入的AD采样值,下面看具体的代码。芯片:STM32F205VCT6STEP1:初始化GPIOvoidGPIO_Configuration(void){//GPIO-PC0PC1PC2PC3-ADC3GPIO_InitStructure.GPIO_Pin=GPIO_Pi
贴了两块样板,烧写同样的固件。其中一块工作正常,但是另外一块出现了很奇怪的现象:在线调试正常;每次烧写完后工作正常;重新上电有时候工作正常,有时候工作不正常;工作不正常时,按下复位按键,恢复正常。工作
本次工程是要同时实现SD卡读卡器和NAND Flash模拟U盘的功能。结合之前的两个工程,稍稍修改下就可以了。既然要实现两个盘,当然在usb_prop.c中的Max_Lun变量赋值为1,在USB_User组中同时添加fsmc_nand.c和sdio_sdcar
系统时钟和分频首先来手册里的一段话。三种不同的时钟源可被用来驱动系统时钟(SYSCLK)HSI振荡器时钟HSE振荡器时钟PLL时钟一般用的是PLL时钟,后面有证据。我们可以通过库函数获取各时钟值void RCC_GetClocksFreq(RCC
USART作为一种标准接口在应用中十分常见。1、STM32固件库使用外围设备的主要思路在STM32中,外围设备的配置思路比较固定。首先是使能相关的时钟,一方面是设备本身的时钟,如果设备是通过IO口输入输出则还需要使能对
1 前言当bxCAN接收到报文,经过过滤器过滤后,会将报文存储到FIFO中,由http://blog.csdn.net/flydream0/article/details/8148791一文中可知,每个过滤器组都会关联一个FIFO,由此可见,当接收到的报文通过过滤器后会
1.首先说明一下本人这次使用的STM32芯片是STM32F103RB,使用的资源是片内的USART1。2.下面是我的电路连接图:注:电路可以稍做修改更好,在B和A分别接下拉电阻到地和上拉电阻到5v,阻值选择为10K即可,这是为了在没有
图和程序(部分)都是前辈留下的,我看了了半天也试了很多次,现在越来越混了,不知道前辈到底是用什么方法在测脉冲,感觉图和程序都有问题,有大神帮忙解释下给点建议吗。我现在脑子全是乱的。