自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VSCode安装ESP32开发环境ESP-IDF

在VSCode上安装ESP-IDF

2022-06-15 15:02:32 8809 7

原创 在STM32上使用DWT做微妙和毫秒级延时

在STM32上使用DWT做微妙和毫秒级延时

2022-05-21 14:52:51 1369 6

原创 ubuntu找不到nmcli命令

ubuntu找不到nmcli命令

2022-03-09 08:58:26 4412

原创 linux找不到insmod命令

linux 驱动 insmod

2022-01-30 16:58:33 2050

原创 STM32通过SPI总线驱动SD卡

STM32通过SPI总线驱动SD卡

2022-01-21 16:30:02 1621

原创 在STM32H750XB上使用LWIP

在STM32H750XB上使用LWIP,H743等芯片也适用。主要讲述了配置H7的LWIP,与F4的不同之处。1.时钟树,主频400MHz2.MPU配置3.ETH的GPIO配置,设置为超高速4.关闭DHCP,自定义IP5.这时使用IAR或MDK编译就可以Ping通了STM32CuebeMX:V6.2.1工程:链接:https://pan.baidu.com/s/1E1rPV3W60hc1_XMO7PGfbg提取码:8rfb...

2021-11-26 19:33:56 4674 3

原创 在STM32上使用FreeRTOS的Tickless(停止模式)

在STM32上使用FreeRTOS的Tickless(停止模式)RTOS的Tickless功能就是当程序运行在空闲任务中时,就进入低功耗模式,这个低功耗可以是普通的睡眠模式,也可以是停止模式。RTOS在进入空闲任务前,会计算出将要在空闲任务里跑多久,然后进入到空闲任务里就设置多久触发中断的定时器,从设置定时器到定时器产生中断这个时间段就可以进入低功耗模式。这就是RTOS的Tickless原理。1.打开低功耗定时器LPTIM1,使用默认配置即可,最后打开NVIC中断开关。2.LPTIM1的时钟源选择L

2021-11-04 19:33:20 1986

原创 STM32的定时器TIM用作输入捕获

MCU:STM32H750XB编译平台:Keil-MDK5STMCubeMX版本:MX:V6.2.1 Pack:STM32Cube_FW_H7_V1.9.01.打开STM32CubeMX,配置定时器TIM2的通道3(PA2)为输入捕获。分频值根据自己需要设置,分频值越大采出的频率精度越低。周期最好拉满,这样采集时不会溢出。2.定时器TIM2的时钟源来自APB1,需要注意APB1有两种用途,一是给外设(不包括定时器)用的,为120MHz(H750主频拉满时),二是给定时器专用的,为上面的2倍即24

2021-10-01 11:13:00 1278 2

原创 STM32H743的SDMMC外设上使用Fatfs

拉肚子,没事干,把白天调的一个程序发一下吧。写简单点,然后直接上程序。几个需要注意的点:1.SDMMC使用的是4线,STM32CubeMX勾上后使用默认参数,中断打开,优先级调得比较低。2.SDMMC时钟我试过60MHz和80MHz的,都正常,而用100MHz后就有点问题,不知道是不是SD卡的问题还是总线的限制。3.Fatfs勾上了自定义的,没有使用SD卡专用的,所以生成的工程接口需自己添加,Fatfs使用的也是默认参数。4.工程里面还有一些简单的Fatfs操作函数,可以参考。题外话:博主我也大

2021-05-23 02:47:58 1304 2

原创 STM32利用STM32CubeMX驱动RGB屏

接上一次博客,上次SDRAM虚拟的内存起始地址为0xC0000000,这一次将作为LTDC显存的起始地址。1.打开上次的STM32CubeMX工程,勾上DMA2D,勾上LTDC并选择RGB888模式,即24位色,另外LTDC引脚复用很严重,需要根据自己板子改对应引脚。打开后在层设置里选择1层,STM32的LTDC一般可使用2层,正常情况下用1层足矣。设定长宽像素和颜色格式等。2.参数设置,根据自己RGB屏可微调。3.LTDC时钟一般30MHz左右即可,跟颜色格式和SDRAM位宽有关,颜色格式低时L

2021-02-26 23:14:07 7270 5

原创 STM32利用STM32CubeMX驱动SDRAM

STM32利用STM32CubeMX驱动SDRAM本次发布FMC总线驱动SDRAM的博客,为下次发布LTDC外设驱动RGB屏的博客做准备。利用STM32CubeMX和HAL库,生成的工程代码具有很强的可移植性,而且学会了可以自己再写其他板子的SDRAM驱动程序。1.首先打开CubeMX,新建一个工程,这里我用的是RT-Thread推出的STM32H750开发板,勾上外部晶振并设置CPU主频为480MHz,打开SWD调试口,打开调试的USART,勾上FMC总线。按以下参数设置。2.参数配置SDRAM

2021-02-24 23:20:24 1824 6

原创 线性稳压器ME6209A33M3G应用电路

线性稳压器ME6209A33M3G应用电路一款比较简单实用的LDO芯片,最大可输出3.3V250mA,可用于给单片机最小系统等供电。1.参数:数据手册应用电路:3.已验证过的应用电路(之前画过一个STM32模拟U盘小PCB用过):4.实际效果:总而言之,这个芯片给小型系统供电还是挺香的。...

2021-01-25 15:43:10 5164 3

原创 STM32驱动1.3寸IPS的LCD

STM32驱动1.3寸IPS的LCD不多罗嗦了,交代几点:(1) 程序中可以用硬件SPI驱动也可以用模拟SPI驱动,通过宏定义选择。(2) 使用硬件SPI时,SCLK空闲电平设置为高,其他参数按CubeMX默认的即可。(3) SPI的MOSI线就是DIN,该线对于主设备(STM32)来说就是输出,对于从设备(LCD)就是输入,MISO线没用到不用管。(4) 关键代码:(5) 实际效果:源码:链接:https://pan.baidu.com/s/1xALudqs7mqXl4HaL6-S9H

2020-11-30 19:46:42 2491 5

原创 使用LWIP的netconn接口在STM32上建立一个客户端

使用LWIP的netconn接口在STM32F429上建立一个客户端例程1.打开STM32CubeMX,新建一个工程,我的板子是官方NUCLEO-F429ZI,自带网口,适合搞网络协议栈。打开外设ETH,注意引脚要与实际对应。2.参数设置,注意PHY地址要设为03.打开调试串口USART1,参数按默认的即可4.打开FreeRTOS和LWIP,参数也不用更改,注意它默认使用了DHCP自动获取IP,当然也可以自己手动设置,自己设置的好处是提前知道自己的IP,测试时可以直接用电脑Ping开发板,来检查

2020-11-24 11:18:53 1348 2

原创 STM32的定时器实现PWM呼吸灯

STM32的定时器实现PWM呼吸灯1.程序比较简单,不再啰嗦。首先是STM32CubeMX里的关键信息配置,下面没截图到的就按默认的没改。我的板子是ST官方的STM32F429ZIT6-NUCLEO,时钟设置的内部时钟源的180MHz,TIM1在APB2时钟线上180MHz,TIM3和TIM4在APB1时钟线上90MHz。使能了TIM1通道2的互补通道,对应的IO是PB14。使能了TIM3通道3,对应的IO是PB0。使能了TIM4通道2,对应的IO是PB7。当然也可以用其他IO,我的F429上三个

2020-11-12 16:37:07 1612

原创 Linux下的OLED驱动(附源码)

今天搞了一天,把这个0.96寸的OLED屏,在我的i.MX6ULL板子上点亮。有几点注意:1.OLED的资料就是中景园的,里面有四个文件,oled.c oled.h oledfont.h和bmp.h,仔细观察留给用户调用的API函数可以发现,最底层都调用了一个往OLED控制器写一个字节的函数。所以我在驱动的oled_write函数中主要就是适配了这个往OLED写一个字节的函数。适配成功后,应用程序中写的显示字符串,显示数字,显示汉字等函数最终都会调用它,这就够了。2.OLED属于字符设备,然后上面那个

2020-10-11 21:44:19 2317 3

原创 像RTOS一样进行Linux的pthread多线程编程

像RTOS一样进行Linux的pthread多线程编程举一个简单的例子,话不多说,上代码#include <stdio.h>#include <unistd.h>#include <stdint.h>#include <pthread.h>pthread_t MyTaskID_01, MyTaskID_02, MyTaskID_03; // 线程句柄void *MyTask1(void *arg) {

2020-09-24 15:48:45 461

原创 STM32的串口使用DMA实现任意字节的接收功能

STM32的串口使用DMA实现任意字节的接收功能注意事项:1.本例程由STM32CubeMX V5.6.1生成,并在STM32/GD32上验证过可行。2.我的板子是GD32F103C8T6,HSE为12MHz不是8MHz,所以大家参考时注意一下。3.程序中使用的是USART2(PA2-TX和PA3-RX),打开了串口接收中断RXNE和串口空闲中断IDLE。说明:1.CubeMX里的关键配置如下图2.主函数里打开串口接收中断RXNE和串口空闲中断IDLE,最后使用HAL_UART_Receiv

2020-09-16 23:46:38 1416

原创 编译Linux内核时的一些问题及解决办法

**编译Linux内核时遇到的一些问题及解决办法**最近在编译Linux内核linux-5.0时,出现一些问题,故记录下来,也防止自己下次再编译时忘了。暂时只记录自己遇到的,后期若又遇到新的问题则再补充1.错误:配置内核时显示该错误"scripts/kconfig/zconf.lex.c"解决办法:安装库 sudo apt install flex2.错误:配置内核时显示该错误"scripts/kconfig/zconf.tab.h"解决办法:安装库 sudo apt instal

2020-08-18 10:04:56 1139

原创 SPI-flash模拟U盘

接上一次博客 ,把这个PCB重画了一下主要有如下改变:①D+加了1K上拉电阻 ,用于电脑识别USB从机②把稳压芯片换成ME6203-3.3 ,最大可输出3.3V 100mA ,体积也小了好多③重新布局布线 ,把元器件都摆到顶层 ,好看些就是这样 ,奥利给未来可能计划使用贴片式TF卡替代SPI-flash...

2020-07-14 19:33:48 1247 1

原创 STM32的USB模拟U盘

使用STM32F103C8T6的USB模拟U盘(亲测GD32F103C8T6也行)1.打开我的STM32CubeMX,选外部时钟,选SWD调试接口,勾上SPI1外设(使用PB3,PB4,PB5),这些比较简单我就不上图了。2.勾上我的全速USB设备,其他默认即可,如下图。3.全速USB选择大容量存取设备,最后一个由512字节改成4096字节(如果是SD卡则使用默认的512字节),其他默认即可,如下图。4.堆栈改大一点,如下图。5.在usbd_storage_if.c中把原来的参数屏蔽掉,使用

2020-06-28 19:56:10 9657 12

原创 STM32的串口下载

接上一次博客 ,首先拿出我心爱的小板板(GD32) ,然后给它连上数据线 ,然后设置boot并手动复位 ,再在电脑上的串口调试助手上选择文件 ,最后点击下载 ,完美最后 ,留一下这个串口调试助手链接: https://pan.baidu.com/s/1V-Y1FtLKJn1ELlBHMCVE5w 提取码: qwww...

2020-06-16 09:52:33 1508

原创 经验贴 第一次使用GD32

1.使用立创EDA画一个GD32F103C8T6的核心板,这也是自己第一次正式使用立创EDA设计PCB,之前都是用AD画的,但听说很多人都有律师函警告。虽然他也找不上个人,但我还是学习一下新东东,最主要的他也是国产软件。2.收到货后,焊接完成如下。3.连接上ST LINK-V2和数据线后如下图4.使用STM32CubeMX生成HAL例程给GD32下载,结果能跑起来,挺意外的。注意这里我的外部主晶振是12MHz的,不要问我为什么,谁让CH340G用的是12MHz的。此时主频是12MHz*6=72M

2020-05-18 21:44:57 4698 10

原创 心率血氧MAX30102模块资料

心率血氧MAX30102模块资料话不多说,上链接:链接:https://pan.baidu.com/s/1L0ggBInD8XZUIjypgbl6JA提取码:q8am

2020-02-21 14:44:52 7635 15

原创 踩坑记 使用LiteOS的互斥信号量报错问题

话不多说,上图。看了下图,第一反应就是对应头文件没包含或者头文件路径没指定,可惜都不是。实际原因是target_config.h头文件中使用互斥信号量的宏定义没使能。使能后如下图。总结:使用RTOS时,系统配置头文件有很多需要注意的地方。...

2020-02-14 10:15:35 265

原创 踩坑记 在STM32上移植emWin和RTOS,进HardFault_Handler

最近在捣鼓在STM32上移植emWin,不亲自试不知道,一试全是各种问题。而且我们在使用emWin时往往是搭配RTOS一块使用,于是这天我想搞一个emWin+LiteOS(华为的物联网操作系统)的工程。我先是在LiteOS工程上移植emWin,然后各种玄学,最后放弃。然后我再在emWin裸机工程上移植LiteOS,相对来说,移植LiteOS我比较熟一点,也简单一些,最后程序还是进HardFau...

2020-02-14 09:52:19 1822 2

原创 经验分享帖 基于STM32的超声波测距HC-SR04(附程序)

CSDN上其实有很多超声波测距的博客,但我还是想写一篇,主要是附上可用的程序,伸手党最爱。其实我也是个伸手党,不过还是当然希望大家能自己动手自己多练自己能实现。同时写下我的心得与看法:1,程序是用STM32CubeMX生成代码并改造完成的,所以使用的HAL库。2,使用的是高级定时器TIM1(仅计时,没有用输入捕获的功能)+ 外部中断EXTI。3,定时器分频值理论上越小结果越精确,自动重装载......

2019-09-07 09:17:35 9830 20

原创 经验分享帖 汇承HC-12无线模块的简单使用说明

**汇承HC-12无线模块的简单使用说明**无意间在网上看到HC-12的功能介绍,最吸引我的是他的通信距离。于是我从网上买了两个,想着替代两个蓝牙,实现远距离通信控制。这两张图是我手上的HC-12无线模块,其他引脚我就不多说了,与蓝牙模块一样。这个SET脚,接地上电后会进入AT指令模式,悬空或拉高上电则是无线透传模式。所谓无线透传,就是关于这个无线协议的东西我们不用了解其内部是怎么传输...

2019-08-26 22:10:06 15236 18

空空如也

空空如也

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

TA关注的人

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