stm32基础
gxt_kt
这个作者很懒,什么都没留下…
展开
-
STM32-写一个自己的通用文件
STM32-写一个自己的通用文件首先我们用HAL库开发一个非常大的好处就是方便移植,针对不同内核可以使用相同的函数结合stm32CubeMx可以更好的方便初始化我们的代码由此萌生出写一个万能的头文件,类似于板级支持包,只需要修改几个宏定义就可以快速一些一个工程所需要的基本功能,包括但不限于1.printf--debug,2.自带us延时,3.快速支持Freertos以上我认为最重要的就是1,printf–debug,提前写好函数,只需要用宏定义就可以快速debug输出代码其实并不复杂,但宏定义一多原创 2022-01-14 02:42:20 · 881 阅读 · 0 评论 -
STM32-实现us延时
STM32-实现us延时1.当在cubemx配置时基源SysTick时可以使用以下函数直接进行us延时,当用TIM时以下函数会失效,如果使用freertos使用tim也可以用以下函数void HAL_Delay_us(uint32_t us)//延时us函数{//需要cubemx配置时SYS时基源选择SysTick __IO uint32_t currentTicks = SysTick->VAL; /* Number of ticks per millisecond */ c原创 2022-01-14 02:30:02 · 4060 阅读 · 1 评论 -
STM32-常见存储器分类
STM32-常见存储器分类本节照片来自野火stm32HAL库开发指南ppt转载 2022-01-10 17:02:29 · 253 阅读 · 0 评论 -
STM32-UART 空闲中断+DMA发送接收
STM32-UART 空闲中断+DMA发送接收cubemx配置这里DMA的初始化一定要在串口初始化前面,否则会有问题代码main.c中加入这个,创建缓冲区,标志位等//用于DMA接收uint8_t u1_rec_buf[MAX_BUF];uint8_t receive_num;//用于DMA发送uint8_t sendbuf[8000]={0};//创建一个发送缓冲区uint8_t Tx_busy=0;//等于0表示dma-tx空闲中,可以发送,等于1说明发送中,需要等原创 2022-01-10 16:24:05 · 6274 阅读 · 1 评论 -
STM32-USART/UART 非DMA
STM32-USART/UART 非DMA串口异步通信,使能串口接收中断选择异步通信NVIC使能串口中断贴代码usart.c文件,注意用户代码处添加了extern uint8_t u1_buf;语句用于存储串口接收中断buf注意在msp初始完后在MX_USART1_UART_Init中加入使能串口接收中断函数HAL_UART_Receive_IT(&huart1,&u1_buf,1);//使能接收中断#include "usart.h"/* USER CODE B原创 2022-01-10 00:40:34 · 2311 阅读 · 0 评论 -
STM32-EXTI
STM32-EXTI配置PA15为上升沿外部中断配置NVIC中断优先级贴初始化代码/*gpio.c*/void MX_GPIO_Init(void){ GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOA_CLK_ENABLE(); /*Configure GPIO pin : PA15 */ GPIO_InitStruct.Pin = GPI原创 2022-01-09 15:25:34 · 372 阅读 · 0 评论 -
STM32-GPIO
STM32-GPIO初始化PC13为输出模式void MX_GPIO_Init(void){ GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOH_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); /*Configure GPIO pin Output Lev原创 2022-01-09 14:39:31 · 67 阅读 · 0 评论