自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STM32解决方法 | 双击keil的工程目标,不能打开map文件

问题描述:在使用stm32cubemx生成stm32的工程后,在keil中双击工程目标后,不能打开map文件。原因:使用CubeMX生成的Keil工程,生成map文件的路径不在工程文件夹下。通过修改生成.map文件的路径,将路径修改到当前工程文件夹下就能解决问题。解决方法:...

2022-04-18 13:06:37 1160 1

原创 嵌入式linux解决方法 | u-boot NFS下载文件报错:Loading: *** ERROR: File lookup fail

一、问题描述u-boot version:2016.03ubuntu version:18.04ubuntu中环境配置正确,通过其他客户端能够挂载上。但是使用uboot得nfs下载命令会报错:=> nfs 80800000 192.168.10.100:/home/yongri/linux/nfs/zlmageUsing FEC1 deviceFile transfer via NFS from server 192.168.10.100; our IP address is 192.16

2022-04-12 23:10:49 1502 2

原创 嵌入式linux解决方法 | 在正点原子开发板的uboot中,主机不能ping通开发板

一、问题描述我在按照《I.MX6U网络环境TFTP&NFS搭建手册V1.3.1》操作后,可以ping通windows和Ubuntu,但是windows和Ubuntu不能ping通开发板。明明按照手册的准则,但是还是有问题,百思不得其解。二、原因我烧录的是uboot文件。uboot是裸机程序,当uboot没有运行ping的时候,主机发的ping包,开发板是没人处理的;当uboot运行ping的时候,主机发的ping包,ping这个子命令会回的。...

2022-04-11 22:07:02 1228

原创 嵌入式linux解决方法 | bin文件烧写不到SD卡中

一、问题描述:在使用正点原子的阿尔法开发板时,将文件下载到sd卡时,发现下载失败,出现下载速度达到300MB/s。当使用命令:ls /dev/sd*查看存储设备时发现:说明:sd卡没有挂载成功。二、原因:之前SD卡没有接入Ubuntu,就执行烧录命令生成的假的设备盘符。三、解决方法:使用sudo rm -rf /dev/sdb,删除这个假的设备节点,然后Ubuntu再重新插好卡,再查看/dev/sdb,就变成黄色的了,说明sd卡挂载成功。...

2022-04-11 20:39:33 1053 1

原创 FREERTOS解决方法 | 在使用FREERTOS的时候,使用osTimerStart出现的问题

一、问题描述在按照教程创建了FREERTOS的定时器后,使用osTimerStart()函数后,不能跳出任务,进入定时器的回调函数中。二、解决方法仔细查看任务与定时器的优先级。确保定时器的优先级高于所有没有挂起的任务的优先级。这样就可以确保进入定时器的回调函数中。...

2022-04-01 17:01:44 1098

原创 STM32CUBEMX+FREERTOS使用软件定时器osTimerStart

一、配置STM32CUBEMX1、开启FreeRTOS新建一个 CubeMX 工程,在配置好时钟后,点击 Middleware -> 选择 FreeRTOS -> 下拉框选择 V1 版本 CMSIS2、配置界面配置项功能Tasks and Queues任务与队列,用于配置任务体以及消息队列;Timers and Semaphores软件定时器与信号量,用于配置内核对象 (软件定时器和信号量)Mutexes互斥量,用于配置内核对象(互斥量)Eve

2022-04-01 16:54:35 2158

原创 STM32解决方法 | 在USART中断中使用DMA

之前就遇到过一次,但是长时间没用过dma,又给忘记了。问题描述:使用stm32cubemx配置各种usart,并且优先级使用的是默认的配置。因为在使用相关的模块驱动,直接移植以前写的程序,结果移植的是古老的,没有修改过的程序。其中就是在usart2的中断里面使用的usart3的DMA。在模块运行的时候,一直发现输出数据的时候,数据少了半截,并且卡死。原因:在USART2_IRQHandler()函数中,使用了HAL_UART_Transmit_DMA()函数。这样产生了一个问题,DMA是需要中断才

2022-03-30 16:42:34 5647

原创 STM32解决方法 | 解决在“stm32的HAL库+freertos”中,使用xTaskResumeFromISR函数无响应

起因最近在有一个项目因为任务比较多,就上了freertos,但是在我接收串口数据后,使用xTaskResumeFromISR函数,进入一个更高优先级的任务时,死活进不去。问题描述在运行一个优先级为5的任务,这个时候串口有数据传给单片机,进入中断接收数据,并使用xTaskResumeFromISR恢复一个优先级为6的任务,使数据写入内部flash。这个时候,恢复的任务优先级为6,原本在运行的任务优先级为5,应该优先执行优先级为6的任务,但单片机不这么执行。解决方法如果函数xTaskResumeFro

2022-03-25 09:40:08 1735 1

原创 STM32CUBEMX | STM32L431RCT6的内部Flash操作

一、STM32CUBEMX配置1、选择芯片型号:2、配置时钟源1、 如果选择使用外部高速时钟(HSE),则需要在System Core中配置RCC;2、 如果使用默认内部时钟(HSI),这一步可以略过;3、配置时钟树STM32L4的最高主频到80M,所以配置PLL,最后使HCLK = 80Mhz即可:4、代码生成设置点击GENERATE CODE即可生成MDK-V5工程:二、在MDK中编写、编译、下载用户代码1、STM32内部Flash及HAL库API查看所使用芯片的信息,

2022-03-22 09:59:49 3213 3

原创 各大半导体大厂在Github的芯片代码仓库

从事嵌入式开发,经常与底层芯片打交道,在使用一个新的芯片时,一般原厂都会提供相关驱动(driver)、中间件(HAL)以及演示例程(demo),也方便我们快速使用该芯片,提高产品开发效率。一般地,原厂提供的代码包括几部分,● Android/Linux系统板级支持包,这部分可以直接移植过去使用;● Android/Linux驱动,可以移植过去或者参考修改;● 演示例程(demo),提供用户参考;● C/C++中间件,集成一些标准库、协议;● 单片机(MCU)端会提供裸机(C语言)或者各类RTOS

2022-03-18 16:59:15 578

原创 STM32CUBEMX | stm32cubemx+FATFS+SDMMC的相关配置与问题

我使用的是stm32L431RCT6、stm32cubemx6.3.0、L4的v1.151固件库、闪迪16GBTF卡。配置:1、使用SD 4 bits Wide bus 模式。2、clock transition on which the bit capture is made:rising transition。3、给sdmmc的时钟频率是48MHz,分频系数是4。(如果后面的代码调试过程中显示出错,可以再降低频率)4、开启sdmmc的RX、TX的DMA。5、开启sdmmc的中断。保证中断的优

2022-03-18 09:26:18 1696 1

原创 芯片datasheet中关于引脚的相关描述

1、引脚中总会有“active low”:低电平有效。

2022-02-21 08:54:21 4276

原创 外设键盘的win键和alt键功能互换

解决办法:1、按住ctrl+fn+alt 解锁alt键2、按住ctrl+fn+win 解锁win键3、fn+insert+ win4、fn+insert+ alt5、如果,alt会解锁但win键就失灵了,再按一次ctrl+fn+win即可

2022-02-17 18:23:30 12456

原创 关于使用正点原子的NRF24L01的程序遇到的问题

一、问题:最近要使用NRF24L01,因为看见正点原子有现成的代码,就直接进行拿来主义,结果在使用过程中,遇到了一个问题:使用函数NRF24L01_Check()函数进行检测模块是否是好的。进入调试时,点击全速运行,写入NRF24L01的buf[]={0xA5,0xA5,0xA5,0xA5,0xA5},但是从NRF24L01中读取,却是buf[]={0xE7,0xE7,0xE7,0xE7,0xE7}。但是单步调试时,却是好的,不会读取到0xE7,正确的读到了5个0xA5,这让我百思不得其解。二、解决办法

2022-02-09 09:09:38 1150

原创 STM32利用DMA发送无法正确发送数据的问题

一、现象:在子函数中,定义了一个局部变量sendbuf[8] ={1,2,3,4,5,6,7,8},然后分别利用普通串口发送函数发送可以正常发送和利用DMA发送,并利用串口调试助手查看,发现助手可以正确接收普通串口发送函数所发出的数据,而对于DMA发送的数据,接收到的是一堆乱码。二、原因:1、 普通串口发送函数是阻塞型的,比如将上述sendbuf[8]每一个字节发送出去,低层代码逻辑是将1移位到串口的TX寄存器里,硬件检测到后在适当的时间发送出去。在未发送出去前,需要判断TX寄存器是否为空,即判断标志

2022-02-07 13:19:58 6842 7

原创 stm32使用spi读取寄存器值的相关问题

最近在读取正点原子和硬石的DS3234SN和NRF24L01芯片时,发现在通过spi读取寄存器值时,先发送了“读指令+寄存器号”,还要继续通过spi发送一个“0xff”给从芯片,不发送这个“0xff”还不能读取到寄存器值。这是为什么呢?我个人倾向的答案是,我是通过HAL_SPI_TransmitReceive()来收发数据的,我第一次通过spi发送“读指令+寄存器号”,是把这个指令发送给从芯片了,但是还要等一个时间来接收从芯片给stm32的数据,但是这个时候,从芯片已经没有sck了,不能把数据返回给stm

2021-12-08 08:49:50 5800

原创 stm32 .map文件各个部分含义

内存溢出的问题,如何分析这类问题的呢?遇到HardFault_Handler 有对map分析过吗?首先讲述一下关于map在MDK-ARM中的配置。其实,在MDK-ARM中,我们可以根据自己的情况(不同配置),在map文件中输出对应(我们需要)的内容。默认情况下,输出所有信息。map文件里面内容大致分为五大类(按照map文件分类的顺序):1.Section CrossReferences:模块、段(入口)交叉引用;2.Removing Unused inputsections from the imag

2021-11-22 10:00:40 1071

原创 stm32堆栈的认知

flash和SRAM的区别flash可以像硬盘一样存数据,也可以直接像RAM运行,一般在里面放bootload,程序执行代码。1、stm32中的堆栈单片机是一种集成电路芯片,集成cpu、ram、rom、多种i/o口和中断系统、定时器/计数器等功能。cpu中包括了各种总线电路,计算电路,逻辑电路,还有各种寄存器。stm32有通用寄存器R0-R15以及一些特殊功能寄存器,其中包括了堆栈指针寄存器。当stm32正常运行程序的时候,来了一个中断,CPU就需要将寄存器中的值压栈到ram里,然后将数据所在的地址存

2021-11-22 09:19:33 5161 5

原创 keil5在点击debug时,全速运行按钮不能按的情况

在我程序编译完成后,下载了程序,点击debug进行调试,跳转到debug页面时,发现“run”按钮已经按下,但是不在运行代码,只是在空跑。出现这种情况,目前有以下几种情况:(1)在“options for target“”选项中的“target”中勾选“use micro lib”。(2)在“options for target“”选项中的“C/C++”中,将“optimize”的等级从0->3。(3) 检查给板子的电是否正常。...

2021-11-09 09:07:24 6689 2

原创 Ubuntu忘记超级用户root密码,重新设置密码

Ubuntu版本:Ubuntu 16.04.3 LTS 1启动系统,在启动过程中,反复按Esc键或者shift键(本人亲测反复按或者长按都可以,没必要纠结),直到出现以下界面: 通过上下键移动,选择Ubuntu高级选项(或者有的版本显示的是Advanced options for Ubuntu),然后按'Enter'键,进入如下界面 选中Ubuntu,with Linux 4.13.0-38-generic (recovery mode) ,如下: ...

2021-11-07 23:51:00 1909

原创 1、寄存器版——stm32的system文件夹(delay文件夹)

delay文件夹包含的delay.c和delay.h文件主要有7个函数:void delay_osschedlock(void);void delay_osschedunlock(void);void delay_ostimedly(u32 ticks);void SysTick_Handler(void);void delay_init(u8 SYSCLK);void delay_ms(u16 nms);void delay_us(u32 nus);前4个函数仅在支持操作系统的时候需要用到

2021-10-28 15:35:20 936

原创 4、寄存器版——stm32的跑马灯实验

1、IO介绍stm32f4的io由8个寄存器控制:MODER、、OTYPER、OSPEEDR、PUPDR、ODR、IDR 、AFRH 和 AFRL。我们主要使用io口的推挽输出功能,利用GPIO_Set 函数来设置,即可很简单的完成对 IO 口的配置。io电平兼容问题:大部分io都是兼容5v,凡是有FT/FTf标志(在芯片的数据手册里)的,都是兼容5v的(如果是设置模拟输入模式,一定不能接5v!!!)。没有FT/FTf标志的io,不要接5v,不然可能会烧坏mcu。2、硬件单片机的PF9、PF10

2021-10-28 14:48:39 482

原创 2、寄存器版——stm32的system文件夹(usart文件夹)

介绍该文件夹有 usart.c 和 usart.h 两个文件。作用:件用于串口的初始化和中断接收。usart.c里面包含了2个函数:void USART1_IRQHandler(void);和void uart_init(u32pclk2,u32 bound);里面还有一段对串口 printf 的支持代码。如果去掉,则会导致 printf 无法使用,虽然软件编译不会报错,但是硬件上 STM32F4 是无法启动的,这段代码不要去修改。...

2021-10-28 13:37:16 2124

原创 关于stm32串口接收发送数据不完整的相关问题

如果串口接收数据,数据传输的比较快,这个时候还要使用同一个串口发送数据。如果是在主函数中使用HAL_UART_Receive();,这个时候不管使用HAL_UART_Transmit();还是使用HAL_UART_Transmit_DMA();发送的数据都不完整。我找到的方法是,使用HAL_UART_Receive_IT();进入中断,判断接收的数据是否是自己想要的,如果是,就将标志位置1,然后在主函数中使用HAL_UART_Transmit();或者HAL_UART_Transmit_DMA();发送

2021-10-26 16:16:31 4277

原创 STM32串口中断、DMA接收的几点注意地方

STM32串口中断、DMA接收的几点注意地方1、中断接收数据丢失(1)在UART串口中断函数中,或者更高优先级中断函数中不要长时间执行,会导致接收丢失,所以,请勿在中断函数中长时间执行。(2)不建议在中断函数添加延时函数。(3)不能DMA和串口收发同时在中断中进行,会造成串口输出数据乱码。...

2021-10-22 08:20:42 1387

原创 让网速突破10兆下载速度的一个方法

背景:前几天打算组个千兆内网,没想到内网组好后网速也翻了近三倍!甚妙,实在是意外之收获。那么今天就来说说怎么尽可能的提高网速!0.概念普及首先要明白一些概念:Mbps=Mbit/s即兆比特每秒(1,000,000bit/s),是一种传输速率单位,指每秒传输的位(比特)数量。传输速率是指设备的的数据交换能力,也叫“带宽”,单位是Mbps(兆位/秒),目前主流的集线器带宽主要有10Mbps...

2019-02-16 19:51:36 5047

原创 everything这个本地搜索利器

可查看个人博客: Mr chang | 昶先生>>everything这个本地搜索利器#功能1.快速查找你想查找的文件2.速度非常快,比windows自带的要快出很多很多3查找范围广,范围在整个计算机之前我曾下载了很多东西,有些用了一点时间就删掉了,有些却是下载失败了,但是电脑都残留了很多的文件,让我二次下载使用的时候就完成不了安装,曾经让我花了两三个小时都安装不了,都...

2019-02-16 19:50:15 154

转载 冰点——收费文档的下载利器

也可以在我的个人博客上进行观看Mr chang|昶先生>>冰点-收费文档的下载利器功能:支持下载百度,豆丁,畅享,mbalib,hp009,max.book118文库文档。无需积分也无需登录就可以自由下载百度文库和豆丁文库。支持多个任务同时下载和断点续传下载。生成的pdf文档与原始文档质量等同。使用方法:1,直接将要下载的豆丁文库或者百度文库...

2019-02-16 19:49:32 5473 1

原创 免费百度网盘下载突破天际,达到10MB/s

更多可关注我的博客 Mr chang | 昶先生>>免费百度网盘下载突破天际,达到10MB上次我分享了一些会员视频,音乐之类的小工具,今天我分享一些其他的便捷小工具。重点是完全免费,还没有任何限制百度网盘下载我发现我周围好多人在下载百度网盘的文件的时候都是老老实实的使用限速几十Kb/s,完全没意识到其实有很多软件可以突破这一限制,就比如说我接下来介绍的这一款软件,下载速度可达1...

2019-02-16 19:48:55 2460

转载 基于Python的开源人脸识别库:离线识别率高达99.38%

基于Python的开源人脸识别库:离线识别率高达99.38%[](javascript:

2019-02-16 19:47:58 672

空空如也

空空如也

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

TA关注的人

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