- 博客(16)
- 资源 (11)
- 收藏
- 关注
原创 STM32CubeMx搭建LWIP程序
使用STM32CubeMx5.21,在stm32f745平台上搭建ethernet通信程序,PHY选用KSZ8081RNB。(LAN8742/DP83848使用一样)1、系统时钟设置 RCC设置,勾选外部高速时钟源。 系统时钟配置。写入外部晶振频率、HSE提供PLCCLK、HCLK,其他参数自动生成。2、ETH设置 勾选设置NVIC。 根据硬件设置对应GPIO引脚。 参数设置默认 根据硬件设置PHY地址,其他参数默认。3、LWIP设置 勾选使能,通用参数设置
2020-11-12 15:46:07 2745 1
原创 STM32 Ethernet ping不通,DMABMR->SR寄存器不自动清0
使用STM32CubeMx5.21搭建完成程序,网络ping不通,查看DMABMR->SR没有自动清0。分析HAL_ETH_Init()函数,程序等待DMABMR->SR复位,但DMABMR->SR寄存器不自动清0,超时返回,没有执行MAC Initialization部分程序,MAC没进行初始化设置,以太网无法工作。 解决办法: 将HAL_ETH_Init()中/* Wait for software reset */部份程序注释或者改return为break,程序运行后D
2020-11-12 15:24:32 4032 15
原创 stm32 sd-fatfs逻辑盘符值修改
使用STM32CubeMX5.21生成SD-FatFs代码,默认情况下:typedef struct{ uint8_t is_initialized[_VOLUMES]; const Diskio_drvTypeDef *drv[_VOLUMES]; uint8_t lun[_VOLUMES]; volatile uint8_t nbr;}Disk_drvTypeDef;Disk_drvTypeDef disk
2020-11-12 10:27:36 765
原创 keil里while跳不出循环可能原因
keil里while跳不出循环可能原因 keil里while循环条件A已经在中断中修改为假,却跳不出去循环的可能原因,可能编译器的优化导致。while(A){ ...} 在你进入循环的时候,实际上是将A从内存加载到寄存器里面运行的,在整个循环中,A这个变量都只是在读取寄存器里面的值。 当进入中断的时候,中断里面会从内存加载A到寄存器,修改完之后又存到内存里,然后退出中断,再回到循环里面。但这个时候循环里使用的A并没有重新从内存加载A这个变量,所以一直都在循环里面。解决方法: A定
2020-10-20 17:35:03 4233 4
原创 MDK5 Software Packs(DFP)
MDK5 Software Packs(DFP)KEIL MCU组件软件包(DFP)下载地址,ARM、Atmel、NXP等系列。下载地址,KEIL官网STM32系列软件包(DFP)部份下载,包括STM32F0/F1/F2/F3/F4/F7/G4/H7/L0/L1/L5/MP1/W1/WB系列。提取码 yc1u
2020-09-14 15:43:38 1746
原创 Keil: waring:Registered ARM Compiler Version not found in path:‘ARMCC‘!
Keil: waring:Registered ARM Compiler Version not found in path:‘ARMCC’! 打开keil工程时会警告 *** Warning: Registered ARM Compiler Version not found n path:‘ARMCC’ *** Updatethe configuration Of multiple ARM Compiler in Manage ProjectItems *** under’Folders
2020-08-26 17:58:22 18582 10
原创 STM32F7+STM32CubeMX5.21+SD+FATFS
STM32F7+STM32CubeMX5.21+SD+FATFS1、STM32CubeMX配置时钟配置SDMMC配置 Connectivity->SDMMC1 MODE选择: SD 4 bits Wide bus NVIC Setting DMA Setting设置DMA读写。 修改CDMMC传输时钟分频。 /* SDMMC Data Transfer Frequency (25MHz max) */ APB2=108MHZ, 108/6=18MHZ。
2020-08-20 17:31:48 842 1
原创 STM32 SD FatFs读写文件FR_DISK_ERR错误可能原因
使用STM32F7+STM32CubeMX5.21生成SD-FATFS代码,读写文件失败报FR_DISK_ERR错误可能原因: SDMMC传输频率过高。修改SDDMMC传输时钟分频系数。 /* SDMMC Data Transfer Frequency (25MHz max) */ 所用APB2=108MHZ, 108/6=18MHZ。...
2020-07-31 18:04:50 6994
原创 使用HSE 16分频作为RTC时钟源
使用HSE 16分频作为RTC时钟源。 RTC时钟要求提供1HZ的时钟,HSE配置为RTC时钟源, 主要配置系统时钟, 使能HSE。然后设置好HSE分频、RTC_PRER分频寄存器的值。计算如下: STM32F7xx的可编程预分配器(RTC_PRER)分为2个部分: 1.通过RTC_PRER寄存器的PREDIV_A位配置的7位异步预分频器。 2.通过RTC_PRER寄存器的PREDIV_S位配置的15位同步预分频器。 RTC_1HZ的时钟可由如下计算公式计算:RTCCLK=HSE_CL
2020-07-31 17:54:51 1559
原创 STM32读取sd卡数据卡死可能原因
获取sd卡状态HAL_SD_GetCardState()或读写操作卡死可能原因 使用STM32F7+STM32CubeMX5.21生成SD-FATFS代码,获取sd卡状态HAL_SD_GetCardState()或获取SD卡数据卡死在SD_FindSCR()函数,可能原因: 查看stm32f7xx_ll_sdmmc.h通信超时等待时间值,若#define SDMMC_DATATIMEOUT ((uint32_t)0xFFFFFFFFU) 修改SDMMC_DAT
2020-07-31 17:39:30 5509
原创 STM32 SD卡拔插后FatFs挂载失败可能原因
STM32 SD卡拔插后FatFs挂载失败可能原因 使用STM32CubeMX生成SD-FatFs代码,SD卡拔插后挂载失败可能原因:没有再调用底层初始化函数BSP_SD_Init()进行SD卡初始化。 程序调用f_mount()挂载系统时: f_mount()->find_volume()->disk_initialize(): 调用BSP_SD_Init()开启底层初始化, 将初始化标志置一:disk.is_initialized[pdrv] = 1; 此时再调用f_mo
2020-07-31 11:52:56 6080 3
原创 error: expected an identifier解决方法
error: expected an identifier解决方法keil编译时报错error: expected an identifier,可能是命名重叠了, 比如在stm32f10x.h中有如下定义:typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;而在另外一个地方又有如下定义#ifndef ERROR#define ER...
2019-12-04 09:02:30 56937 1
转载 STM32串口通信乱码解决方法
STM32串口通信乱码解决方法STM32使用USART做串口通信实验的时候,串口调试助手能够接收到数据但出现乱码现象,显示开发板发来的数据总是问号或者不规则字体,主要原因可能是串口波特率设置不对或者系统时钟设置出问题。波特率设置波特率设置须与串口接收调试助手设置一致。尝试降低波特率为9600,依然出现乱码。可能就是系统时钟设置出问题。系统时钟设置本人核心板使用的晶振为8M,而系统初始化...
2019-07-04 11:06:25 6716 3
office2010精简版.zip
2020-11-19
STM32CubeMX 6.0.1.txt
2020-09-17
Beremiz软件安装包
2020-03-13
MCGS相关资料.zip
2019-12-20
CANOpen协议及CanFestival-3协议栈
2019-09-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人