推荐阅读最新更新时间:2024-03-16 15:42
STM32F103RCT6+USART3+UART5初始化代码
USART和UART的区别就是:USART支持同步收发,UART只支持异步收发 同步模式:USART 需要同步始终信号USART_CK,通常情况同步信号很少使用,因此一般的单片机UART和USART使用方式是一样的,都使用异步模式。 1 USART3初始化 void USART3_init(void) { GPIO_InitTypeDef GPIO_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE); //使能USART3,GPIOB时钟 RCC
[单片机]
STM32F103与STM32F407的SPI调试笔记
在写入SPI数据数,必须调用 SPI_I2S_ReceiveData(SPI1);读取一次,不然会对数据的读取不正确 u8 SPI_Flash_GetChar(void){ u8 Data = 0; Data = SPI_I2S_ReceiveData(SPI1);//必须读取一次,应该是读后清空寄存器 while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET); //SPI_I2S_ClearITPendingBit(SPI1,SPI_I2S_FLAG_TXE); SPI_I2S_SendData(SPI1, 0xff); while (S
[单片机]
stm32f103 FreeRTOS 滴答时钟配置
stm32上的滴答时钟是操作系统运行的基础 stm32的滴答时钟树如下图,SysTick可以选择HCLK(AHB时钟)或HCLK/8作为运行时钟 stm32的滴答定时器是24bit的定时器,对于其配置只有四个寄存器: STK_CTRL为控制寄存器 STK_LOAD为自动重装载寄存器 STK_VAL当前计数值寄存器(从重装载值向下计数,当该值为0时产生中断) STK_CALIB为校准寄存器,不常用 控制寄存器STK_CTRL只有4位被用到: bit0:ENABLE SysTick的使能位,1使能SysTick定时器,0关闭SysTick定时器 bit1:TICKINT SysTick中断使能位,1 当STK_VAL计数为0时会
[单片机]
基于STM32F103RB单片机的、细分度可调的步进电机驱动器设计
步进电机是一种运用广泛的控制电机,其特征是不使用位置反馈回路就能进行速度控制及定位控制,即所谓的电机开环控制。相对于伺服电机,步进电机有着成本低廉,控制简单等优点,尤其是两相混合式步进电机,在工业运动控制系统中有着广泛的应用。然而,传统的驱动方式,比如单电压驱动、高低电压驱动、斩波恒流驱动等等,虽然已经应用十分成熟,但是只限于低速运行,并且细分度一般限制在1/2步距,无法很好消除低频振荡,以及定位精度差等缺点。细分驱动的出现很好地弥补了这一缺点。 常见的细分控制器一般由MCU、专用逻辑驱动芯片以及功率驱动模块组成,这样的驱动器虽然能满足多细分驱动,但由于细分数量和效果会受到逻辑驱动芯片的影响,并且无法调整细分数和限流值、从
[单片机]
STM32F103xx bxCAN(Basic Extended CAN) 滤波机制
一、背景 最近一个项目需要使用STM32F103xx实现CAN通信,而CAN总线的消息滤波在各个MCU上有不同机制, 譬如,SJA1000为标识符位屏蔽滤波机制,NXP的LPC17xx系列为标识符列表查询机制等等,本篇就 STM32F103xx的滤波机制做个简述。 注:软件上使用的是ST提供的库函数。 二、正文 STM32F103xx在滤波这方面确实很赞,同时集成了标识符位屏蔽滤波机制和标识符列表查询机制。 --- 标识符位屏蔽滤波机制: 该机制既是对标识符相应位进行屏蔽,而实现该功能需要两个寄存器, 一个是标识符寄存器,一个是标识符屏蔽寄存器。 以11位CAN标准帧ID为例,
[单片机]
stm32f103,407系列的定时器的理解与代码
作为一个学习32不久的菜鸟,写这篇博客主要还是为了分享一下自己的理解,以后自己忘了也可以来看一下。前几天在玩oled屏,想把按键控制舵机显示在oled上,于是把之前在f407系列的32的pwm.c文件修改了一下,加了进去,发现竟然没用,以前也是会移植修改代码都没问题,但是这回百思不得其解,仔细检查了一遍,都把函数里一个一个量点进去核对都没问题,后来一查手册,原来这个pwm输出用的是TIM13,但是f103系列只有11个定时器; 103系列定时器:2个高级定时器,4个普通定时器,2个基本定时器,2个看门狗定时器,1个系统嘀嗒定时器 这8个定时器都是16位的,它们的计数器的模式(TIM_CounterMode)除了基本定时器T
[单片机]
s3c2440 ads程序移植到keil中(三) 初步完成
如果我把参数配置发生改变呢 然后再一次编译 要包错误 如下所示 其实我们到这里离 在s3c2440 ads程序移植到keil中(二)中看到这个网友不值提供了方法 而且提供了几个文件的下载地址 http://download.csdn.net/detail/googlemi/5176844 我直接下载下来了 把其中的2440init.s文件直接拷贝复制替代我工作中的2440init.s 该错误消失了 但是出现了 这一个错误 反正修改就能解决 然后 提示了一个错误 意思 就nand.c和nand.h 没有加上去 让后加上去了 编译成功没有错误 这种方式到此结束
[单片机]
STM32F103实现LED灯、按键、定时器编程
#include delay.h #include sys.h #include LED.h #include key.h #include timer2.h /* 程序功能:KEY0按下时,LED0 每秒闪烁一下;同时LED1熄灭(LED0慢闪)。 KEY1按下时,LED1 每秒闪烁二下;同时LED0熄灭(LED0快闪)。 WAKE_UP按下,LED0、LED1都熄灭。 硬件:LED0----GPIOA.8 LED1----GPIOD.2 KEY0----GPIOC.5 KEY1----GPIOA.15 KEY_WAKEUP----GPIOA.0 T
[单片机]