笔记
大神与小汪
CSDN不再用了,个人主页https://gitee.com/xu_zi_wen
展开
-
linux找不到insmod命令
linux 驱动 insmod原创 2022-01-30 16:58:33 · 2242 阅读 · 0 评论 -
STM32通过SPI总线驱动SD卡
STM32通过SPI总线驱动SD卡原创 2022-01-21 16:30:02 · 1741 阅读 · 0 评论 -
在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 · 4917 阅读 · 2 评论 -
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 · 1402 阅读 · 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 · 1542 阅读 · 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 · 8157 阅读 · 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 · 2041 阅读 · 6 评论 -
线性稳压器ME6209A33M3G应用电路
线性稳压器ME6209A33M3G应用电路一款比较简单实用的LDO芯片,最大可输出3.3V250mA,可用于给单片机最小系统等供电。1.参数:数据手册应用电路:3.已验证过的应用电路(之前画过一个STM32模拟U盘小PCB用过):4.实际效果:总而言之,这个芯片给小型系统供电还是挺香的。...原创 2021-01-25 15:43:10 · 6613 阅读 · 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 · 2673 阅读 · 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 · 1555 阅读 · 2 评论 -
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 · 2528 阅读 · 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 · 533 阅读 · 0 评论 -
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 · 1705 阅读 · 0 评论 -
编译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 · 1237 阅读 · 0 评论 -
SPI-flash模拟U盘
接上一次博客 ,把这个PCB重画了一下主要有如下改变:①D+加了1K上拉电阻 ,用于电脑识别USB从机②把稳压芯片换成ME6203-3.3 ,最大可输出3.3V 100mA ,体积也小了好多③重新布局布线 ,把元器件都摆到顶层 ,好看些就是这样 ,奥利给未来可能计划使用贴片式TF卡替代SPI-flash...原创 2020-07-14 19:33:48 · 1356 阅读 · 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 · 10072 阅读 · 16 评论 -
STM32的串口下载
接上一次博客 ,首先拿出我心爱的小板板(GD32) ,然后给它连上数据线 ,然后设置boot并手动复位 ,再在电脑上的串口调试助手上选择文件 ,最后点击下载 ,完美最后 ,留一下这个串口调试助手链接: https://pan.baidu.com/s/1V-Y1FtLKJn1ELlBHMCVE5w 提取码: qwww...原创 2020-06-16 09:52:33 · 1583 阅读 · 0 评论 -
经验分享帖 基于STM32的超声波测距HC-SR04(附程序)
CSDN上其实有很多超声波测距的博客,但我还是想写一篇,主要是附上可用的程序,伸手党最爱。其实我也是个伸手党,不过还是当然希望大家能自己动手自己多练自己能实现。同时写下我的心得与看法:1,程序是用STM32CubeMX生成代码并改造完成的,所以使用的HAL库。2,使用的是高级定时器TIM1(仅计时,没有用输入捕获的功能)+ 外部中断EXTI。3,定时器分频值理论上越小结果越精确,自动重装载......原创 2019-09-07 09:17:35 · 10046 阅读 · 20 评论