自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 STM32学习——USART串口通信

对于串口通信,如果只是发送数据的话,不需要配置串口中断,但如果要接收数据的话,就需要配置串口中断和NVIC寄存器。我所使用的野火霸道v1开发板上,TX连接PA10,RX连接PA9,因此我们需要配置两个部分,一个是串口模块的配置,一个是GPIO的配置。为了检测我们是否发送完成,我们需要调用 USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG)函数来检测是否发送完成。这是没有串口接收的配置,如果要串口接收,需要配置串口中断。

2023-04-27 11:19:24 240

原创 STM32学习——SytsTick定时器

查看M3内核编程手册,可以找到有关SysTick定时的寄存器有四个,分别是SysTick控制及状态寄存器、SysTick重装载数值寄存器、SysTick当前数值寄存器和SysTick校准数值寄存器。变量ticks代表我们需要定时的时间,SysTick定时器的计数器向下递减,技数一次产生的时间T=1/CLK(AHB),默认情况下CLK(AHB)是72MHZ(由SysTick——CTRL_CLKSOURCE_Msk决定),因此我们计数72次为1us,72000次为1ms。

2023-04-21 15:11:03 197

原创 STM32学习——外部中断EXTI

首先,我们需要对EXTI结构体进行配置,EXTI_Line选择你的中断来自于GPIO_x,Mode选择产生中断还是事件,Trigger选择上升沿还是下降沿,Cmd使能(对寄存器EXTI_IMR和EXTI_EMR进行配置)。结构体配置好后,进行初始化。我们以EXTI0为例,首先我们要使用NVIC_InitTypeDef结构体来配置中断的通道以及抢占优先级和子优先级,配置完后对结构体进行初始化,EXTI0的有关NVIC寄存器的配置就完成了。最后一步要写中断函数,注意中断函数名是库中写好的,最好不要更改。

2023-04-19 20:21:50 316

原创 STM32学习——时钟树

接着看时钟树简图我们会发现,外设所使用到的时钟并不直接是SYSCLK,而是对SYSCLK分频后的PCLK1和PCLK2时钟,所以我们需要对这两个时钟进行配置。假设我们产生的SYSCLK是72MHZ,将AHB预分频设置为1,产生的HCLK为72MHZ,接着HCLK经过APB1预分频器,由于PCLK1的最大频率为36MHZ,我们需要将分频因子设置为2,就可得到频率是36MHZ的PCLK1,同理,PCLK2也是这样配置的。若用户不对时钟树进行配置,stm32的初始化函数会自动将系统频率设置为72mhz。

2023-04-18 17:51:11 306

原创 STM32学习——按键使用

两个按键分别使用GPIOC的PIN_13和GPIOA的PIN_0,因此这两个也是搭载在APB2总线上,需要对APB2总线进行配置。对按键配置完成后,需要对按键的引脚进行扫描,检测是否存在电平改变(顺便进行消抖)。按键和LED不同,按键是输入模式,因此没有Speed的配置需要。总线配置完成后,只需对GPIOA和GPIOC进行配置。在固件库"stm32f10x_gpio.h"中找到。

2023-04-17 20:23:08 1149 1

原创 STM32学习——点亮led

查看系统结构框图可知GPIOB连接在APB2总线上,那么我们的思路就比较清晰了。只需对APB2总线进行配置,对GPIOB的引脚、模式和速度进行配置就可以实现功能。GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) 来将对应引脚拉低。查看函数定义的注释可知,前一个变量是时钟选择,后一个变量是使能位。对APB2总线配置完成后,只需对GPIOB进行配置就可实现功能。使用stm32的固件库,找到APB2总线的初始化函数。

2023-04-17 18:27:04 746

原创 STM32学习——创建工程

若工程里没有声明 USE_STDPERIPH_DRIVER,需在Preprocessor Symbols的Define中声明。添加完成后,start group下会有如下文件。首先,stm32工程的创建要注意起始文件的选择。此外,在自己创建.c文件时,需要注意路径包含。

2023-04-17 18:09:03 75 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除