
STM32
戈 扬
这个作者很懒,什么都没留下…
展开
-
LAN8720A网络模块关于时钟的使用问题
微雪的LAN8720A驱动电路:正点原子LAN8720A驱动电路:1、 nINTSEL Configuration从原理图中可以看出正点原子的LAN8720A模块所使用的晶振是25M,而微雪的LAN8720A模块使用的晶振是50M,根据数据手册和结合原理图可以看出,微雪的LAN8720A的nINTSEL没有接下拉,则是默认使用内部上拉到高电平,即nINTSEL=1,为REF_CLK In Mode模式,所以选用50M的晶振。...原创 2021-04-23 17:12:55 · 3139 阅读 · 5 评论 -
STM32HAL库 串口空闲中断+DMA实现串口接收不定长数据
https://blog.youkuaiyun.com/yhdawn/article/details/89398925?utm_medium=distribute.wap_relevant.none-task-blog-baidujs_title-2转载 2021-04-23 15:51:59 · 371 阅读 · 0 评论 -
STM32CUBEMX转移到STM32CUBEIDE工程
1,创建空的STM32CUBEIDE工程2,将STM32CUBEMX的IOC文件用文本编辑器打开,并全部复制其到STM32CUBEIDE工程的IOC文件里3,用STM32CUBEIDE打开ioc文件原创 2021-04-13 09:42:32 · 1577 阅读 · 0 评论 -
STM32H7+CUBE+ETH+LWIP配置及设置
ETH配置EHT_RST引脚LWIP注意一定要把LWIP_NETIF_LINK_CALLBACK选上,不然连接状态改变不能进入拔下或者插入网线回调函数,里面做一点自己的事情LAN8742MPULwip使用DMA传递信息,对应的DMA内存定义在sram中。H7的sram分为好几段,高速段为cpu独享,通俗点说就是这一段允许用户编写的程序使用,但是不允许DMA使用。所以为DMA定义的内存或者数组要避开这一段。另外Lwip使用DMA时存在交互存取问题,避开这一段后,也不能让cpu像使用原创 2021-04-02 16:55:48 · 13317 阅读 · 5 评论 -
STM32CUBEMX 生成STM32H7项目的几个问题
1. 打开时,出现loading pdsc对话框解决办法:不用管,对项目没有影响2.编译出现报错No section matches selector - no section to be FIRST/LAST。解决方法:右键Drivers/CMSIS文件夹,选择添加已有文件,定位到对应器件的启动文件。文件夹比较深:C:\Users\Administrator\STM32Cube\Repository\STM32Cube_FW_F0_V1.11.0\Drivers\CMSIS\Device\S原创 2021-03-29 11:32:54 · 1280 阅读 · 0 评论 -
STM32之sprintf
单片机中Sprint函数:说明1:使用该函数时必须包含stdio.h头文件,否则容易卡死程序说明2:sprintf与printf函数的区别:二者功能相似,但是sprintf函数打印到字符串中(将数值转换成对应字符串形式,就是变换成ASCALL码),而printf函数打印输出到屏幕上。在单片机中将数值转换成字符串是sprintf函数最广的用途。Sprint函数具体形式: int sprintf( char *buffer, const char *format, [ argument,…] );解释:原创 2021-03-25 09:24:08 · 1593 阅读 · 0 评论 -
解决C++警告:warning: conversion from string literal to ‘char *‘ is deprecated
https://blog.youkuaiyun.com/septwolves2015/article/details/104856092转载 2021-03-24 16:29:46 · 865 阅读 · 0 评论 -
STM32 时延函数之阻塞和非阻塞的实现讨论
一 、常使用的几种延时方式1 自带的hal_delay 函数 毫秒级延迟void HAL_Delay(__IO uint32_t Delay){ uint32_t tickstart = HAL_GetTick(); //获取tick值(毫秒) uint32_t wait = Delay; /* Add a period to guarantee minimum wait */ if (wait < HAL_MAX_DELAY) { wait++;//原创 2020-08-11 20:36:10 · 11046 阅读 · 4 评论 -
STM32 HAL 之 UART:空闲中断结合DMA实现不定长数据收发
一、不定长数据接收的原理及其解决的问题在 STM32 中,UART是最为常见的通信方式——它每次接收一个字节。我们可以使用轮询的方式,但是对于某些数据不固定时间发送的数据,轮询的方式有时候不够灵活。也可以使用中断的方式,如每一个字节都中断一次,当时比较消耗系统资源。特别是HAL库中,从中断到回调函数运行了不少的程序,频繁的中断很可能造成数据溢出。在本文使用F051单片机中,这种情更加明显。为了避免这个问题,我们使用指定接收一定长度的数据,再调用回调函数,这会让我们可以接收大数据,但是这种情况则造成了,要求原创 2020-08-11 20:26:08 · 9665 阅读 · 0 评论 -
u-center设置笔记
https://blog.youkuaiyun.com/lixiaoweimashixiao/article/details/102503457?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPa.原创 2020-07-09 16:53:24 · 768 阅读 · 0 评论 -
STM32 编码器模式详解
0、编码器模式stm32的定时器带的也有编码器模式。所用的编码器是有ABZ三相,其中ab相是用来计数,z相输出零点信号。AB相根据旋转的方向不同,输出的波形如下图所示:从图上可以看出来,cw方向A相会超前B相90度左右,相反CCW方向,B相会超前A相90度左右。不过方向判断stm32自己是可以完成的。一、编码器接口模式选择编码器接口模式的方法是:如果计数器只在TI2的边沿计数,则置TIMx_SMCR寄存器中的SMS=001;如果只在TI1边沿计数,则置SMS=010;如果计数器同时在TI1和T原创 2020-07-06 11:31:29 · 37454 阅读 · 2 评论 -
STM32 HAL 之 RTC
https://blog.youkuaiyun.com/as480133937/article/details/105741893【STM32】HAL库 STM32CubeMX教程十三—RTC时钟STM32CubeIDE HAL库函数操作RTC实时时钟 及 定时闹钟中断https://blog.youkuaiyun.com/u010779035/article/details/104161684?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendF原创 2020-06-30 10:58:44 · 934 阅读 · 0 评论 -
STM32+ HAL+ DMA+ USART
DMA中断进行数据收发1.正常模式(一次传输),在DMA传输完成后会触发UART的 USART_CR1_TCIE 中断2.循环模式,会调用huart的或用户重写的 TxCpltCallback 函数3 在我的程序中DMA都被配置为正常模式,因此要处理DMA数据发送和接收完成的事件(中断),应该在串口中断处理程序中进行.循环模式应该可以通过指定huart->TxCpltCallba...原创 2020-02-01 22:01:39 · 6373 阅读 · 3 评论 -
STM32F4学习资源及方法
一、参考书:《STM32F4xx中文参考手册》、《STM32F3与F4系列CortexM4内核编程手册》、《Cortex M3与M4权威指南》。1.《STM32F4xx中文参考手册》是ST官方资料,包含了STM32F4各种寄存器及功能详细介绍。2.《STM32F3与F4系列CortexM4内核编程手册》是对《STM32F4xx中文参考手册》的补充,很多关于CortexM4内核的介绍都...转载 2019-05-21 20:31:40 · 1317 阅读 · 0 评论 -
STM32 之 HAL库
1 STM32的三种开发方式通常新手在入门STM32的时候,首先都要先选择一种要用的开发方式,不同的开发方式会导致你编程的架构是完全不一样的。一般大多数都会选用标准库和HAL库,而极少部分人会通过直接配置寄存器进行开发。网上关于标准库、HAL库的描述相信是数不胜数。可是一个对于很多刚入门的朋友还是没法很直观的去真正了解这些不同开发发方式彼此之间的区别,所以笔者想以一种非常直白的方式,用自己的理解...翻译 2019-05-12 11:27:08 · 116566 阅读 · 19 评论 -
STLINK下载程序(附STLINK驱动包)
一、ST-Link/V2的JTAG/SWD接口定义及产品图实物图STLINK指定标准接口:二、STLINK驱动安装:双击ST-LinkUpgrade安装即可安装成功之后,设备管理器三、打开工程文件,配置keil5软件四、将STLINK直接对准查到开发板JTAG/SWD接口即可,点击下载程序注意:下载程序时,STLINK的指示灯会交叉显示,等待下载完毕附:STLIN...转载 2019-05-11 08:57:20 · 35782 阅读 · 2 评论 -
STM32时钟初始化函数SystemInit()详解
花了一天的时间,总算是了解了SystemInit()函数实现了哪些功能,初学STM32,,现记录如下(有理解错误的地方还请大侠指出):使用的是3.5的库,用的是STM32F107VC,开发环境RVMDK4.23我已经定义了STM32F10X_CL,SYSCLK_FREQ_72MHz函数调用顺序:startup_stm32f10x_cl.s(启动文件) → SystemInit() → S...原创 2019-05-20 19:42:04 · 16486 阅读 · 0 评论 -
STM32时钟树分析
STM32总线STM32F1时钟系统STM32F4时钟系统1 STM32总线首先,说点不靠谱的,APB和AHB总线,我个人感觉这个类似于个人PC系统里的北桥和南桥总线。南桥总线上挂接的都是鼠标、键盘这些慢速的设备,北桥上挂接显卡等高速设备。南桥频率低,北桥频率高。另外,南桥最后也要接到北桥上。这些感觉都类似于APB和AHB。AHB,是Advanced High pe...翻译 2019-05-09 20:47:51 · 5204 阅读 · 0 评论 -
STM32F4 之一 CUBEMX软件
STM32CubeMx软件是ST公司为STM32系列单片机快速建立工程,并快速初始化使用到的外设、GPIO等,大大缩短了我们的开发时间。同时,软件不仅能配置STM32外设,还能进行第三方软件系统的配置,例如FreeRtos、FAT32、LWIP等等,而且还有一个功能,就是可以用它进行功耗预估,还有,这款软件可以输出PDF、TXT文档,显示你工程里面的GPIO等外设的配置信息,供你进行原理图设计等。...转载 2019-05-19 16:18:44 · 2853 阅读 · 0 评论