
stm32
wenkic 小琪
这个作者很懒,什么都没留下…
展开
-
DAPlink工程拉取编译
DAPLink也带有虚拟串口 web-usb U盘拖拽下载功能DAPLink电路 GitHub ARM官方https://github.com/ARMmbed/mbed-HDK-Eagle-ProjectsDAPLink源码 GitHub ARM官方 开发文档https://github.com/ARMmbed/DAPLink/blob/master/docs/DEVELOPERS-GUIDE.md淘宝买的Daplinkhttp://www.eemaker.com/daplink-原创 2021-12-25 21:20:48 · 2928 阅读 · 1 评论 -
记录-使用STM32F1串口的空闲中断
STM32的空闲中断,看到网上的介绍说,数据流间隔超过一字节时间没接收到数据就会产生一个空闲总中断,这样我们就可以应用与一帧数据流的判断,这样就可以无需缓存解析处理串口数据,前提是命令接收间有间隔,否则很容易出现解析命令不完整void USART2_IRQHandler(void){ static u8 buf[100]={0}; static u8 bufLen = 0; if(USART2->SR&(1<<5)) { .原创 2021-12-14 18:10:49 · 1568 阅读 · 0 评论 -
记录 STM32F1 ADC DMA 多通道读取
volatile u16 ADC_Value[4]={0};void ADC_DMA_Periph_Init(void){ ADC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; //时钟配置 RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE); RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, E.原创 2021-11-09 12:24:05 · 450 阅读 · 0 评论 -
STM32F1 使用硬件I2C1 操作AT24C02
测试代码 uint16_t Addr; uint8_t WriteBuffer[256],ReadBuffer[256]; I2C_Configuration(); for(Addr=0; Addr<256; Addr++) WriteBuffer[Addr]=Addr; /* 填充WriteBuffer */ /* 开始向EEPROM写数据 */ printf("\r\n EEPROM 24C02 Write T...原创 2021-07-11 20:20:02 · 658 阅读 · 1 评论 -
STM32F1 使用内部时钟修改
STM32F1 的内部高速(HSI)晶振为8MHz,最大可调整系统时钟为64MHz修改在SystemInit (void)中被调用的SetSysClock()函数。/* If none of the define above is enabled, the HSI is used as System clocksource (default after reset) */在外部晶振失效时,系统也是可以工作的,此时的系统时钟是8MHZ,此时外设时钟需要更改相应配置。原工程配置72M...原创 2021-03-16 16:25:13 · 1837 阅读 · 1 评论 -
STM32 芯片命名规则
- startup_stm32f10x_ld_vl.s : for STM32 Low density Value line devices- startup_stm32f10x_ld.s : for STM32 Low density devices- startup_stm32f10x_md_vl.s : for STM32 Medium density Value line devices- startup_stm32f10x_md.s : for STM...原创 2020-08-17 09:59:51 · 1220 阅读 · 0 评论 -
STM32 HAL库使用串口一些经验
/*1.使用STM32CubeMX生成的库,配置有中断使能(也就是会生成中断函数) HAL_UART_Receive_IT()函数中的__HAL_LOCK(huart);去掉 HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)函数中不调用 __HAL_LOCK(huart);和__...原创 2020-03-09 00:45:28 · 5947 阅读 · 2 评论 -
stm32-串口接受不定长数据方法(3种)
方法1:串口接受数据,定时器来判断超时是否接受数据完成。方法2:DMA接受+IDLE中断实现思路:采用STM32F103的串口1,并配置成空闲中断IDLE模式且使能DMA接收,并同时设置接收缓冲区和初始化DMA。那么初始化完成之后,当外部给单片机发送数据的时候,假设这帧数据长度是200个字节,那么在单片机接收到一个字节的时候并不会产生串口中断,而是DMA在后台把数据默默地搬运到你指定的缓冲区里面。转载 2018-01-18 11:57:48 · 4686 阅读 · 0 评论 -
STM32学习笔记——5个串口的使用方法
串口是我们常用的一个数据传输接口,STM32F103系列单片机共有5个串口,其中1-3是通用同步/异步串行接口USART(Universal Synchronous/Asynchronous Receiver/Transmitter),4,、5是通用异步串行接口UART(Universal Asynchronous Receiver/Transmitter)。配置串口包括三部分内容: 1. ...转载 2018-06-13 22:37:11 · 4782 阅读 · 0 评论 -
STM32CubeMX开发,解决串口DMA接受第一次接收不到数据
本次生成的串口:使用芯片:STM32F215ZE 端口:USART3波特率:115200数据位:8位校验 :无校验 第一次使用STM32CubeMX开发,本人觉得HAL库还是有些问题,本次开发搞那个串口就使用了我好多时间本次遇到的问题: 1.串口使用CubeMX生成的工程有点问题,串口接受与发送有个互锁的问题,具体请看链接使用链接的解决方法还是无...原创 2018-10-13 18:01:09 · 10208 阅读 · 9 评论 -
记录串口数据命令提取 -- STM32
#include "usartDeal.h"#include "stdlib.h"#include "usart.h"#include "string.h"//Edit time: 2019-03-20 //author : Wenkic/* .h 定义宏#define USARTDEALPenetrate(Soure) Soure->Usart_Flag.Penetr...原创 2019-03-20 11:22:08 · 2770 阅读 · 0 评论 -
MDK Error: Q0122E :Could not open file ‘xxxx.axf‘: No such file or directory
在学习iap的过程中想要生成一个bin文件,发现需要在keil的user选项卡中配置下路径,通过fromelf.exe把xxx.axf转换成xxx.bin。但是采用原子的路径配置方法:D:\tools\mdk5.14\ARM\ARMCC\bin\fromelf.exe(这里替换成自己的keil路径) --bin -o..\OBJ\xxx.bin ..\OBJ\xxx.axf发现会报错E...原创 2019-04-17 15:22:57 · 4259 阅读 · 3 评论 -
stm32中断的使用
中断对于开发嵌入式系统来讲的地位绝对是毋庸置疑的,在C51单片机时代,一共只有5个中断,其中2个外部中断,2个定时/计数器中断和一个串口中断,但是在STM32中,中断数量大大增加,而且中断的设置也更加复杂。今天就将来探讨一下关于STM32中的中断系统。1基本概念ARM Coetex-M3内核共支持256个中断,其中16个内部中断,240个外部中断和可编程的256级中断优先级的设置。STM...转载 2017-05-19 18:03:42 · 2288 阅读 · 0 评论