
STM32
文章平均质量分 77
巨大八爪鱼
喜欢Win32和STM32编程
展开
-
lwip-2.1.3自带的httpd网页服务器使用教程(四)POST类型表单的解析和文件上传
HTML表单有两种提交方式:GET方式和POST方式。表单提交方式由标签的method属性决定。method="get"是GET方式,method="post"是POST方式。另外,标签的action属性指定表单要提交到哪个页面上。如果action为空字符串"",那么就是提交到当前页面上。GET方式提交表单后,所有带有name属性的表单控件的内容都会出现在URL(浏览器网址)上,也就是说GET方式其实就是以URL参数的方式提交表单,这个之前已经讲过了。原创 2023-07-20 22:30:25 · 4346 阅读 · 7 评论 -
lwip-2.1.3自带的httpd网页服务器使用教程(三)使用CGI获取URL参数(GET类型表单)
当LWIP_HTTPD_FILE_STATE=1时,httpd_cgi_handler函数的原型为void httpd_cgi_handler(struct fs_file *file, const char *uri, int iNumParams, char **pcParam, char **pcValue, void *connection_state),多了一个connection_state参数。新式CGI功能的开启方法是在lwipopts.h中打开LWIP_HTTPD_CGI_SSI选项。原创 2023-07-16 11:12:34 · 4891 阅读 · 3 评论 -
lwip-2.1.3自带的httpd网页服务器使用教程(二)使用SSI动态生成网页部分内容
(本节例程名称:ssi_test)电脑上用的Web服务器采用ASP、PHP或JSP动态网页技术后,可以根据HTTP模板(asp、php或jsp文件),动态替换掉网页中的或标签,生成动态网页。lwip自带的httpd也有类似的功能,动态网页的文件扩展名为.ssi,定界符为,其中TAG是不超过LWIP_HTTPD_MAX_TAG_NAME_LEN长度的自定义名称,替换后的文本长度不超过LWIP_HTTPD_MAX_TAG_INSERT_LEN个字符。原创 2023-07-15 14:26:16 · 5654 阅读 · 3 评论 -
lwip-2.1.3自带的httpd网页服务器使用教程(一)从SD卡读取网页文件并显示
本教程使用的单片机是STM32F103ZE,有线网口芯片为ENC28J60。本教程里面的网页由于需要兼容Windows XP系统的IE8浏览器,所以采用HTML 4.01编写,不使用任何前端框架。笔者使用的网页设计软件是Adobe Dreamweaver CS3。开发板PCB文件是公开的,大家可以拿去打印出来,焊好器件后,就可以直接跑本教程提供的所有示例程序。原创 2023-07-12 23:01:45 · 5667 阅读 · 0 评论 -
APM32F072单片机进入STOP模式,并通过RTC Wakeup Timer和USART1串口接收事件唤醒
【代码】APM32F072单片机进入STOP模式,并通过RTC Wakeup Timer和USART1串口接收事件唤醒。原创 2023-07-11 21:19:17 · 1992 阅读 · 0 评论 -
STM32驱动Realtek RTL8189ES WiFi模块读取MAC地址并下载固件
先EnableCard,再DownloadFirmware。【RTL8189ES读取片内MAC地址的代码】【RTL8189ES固件下载代码】单片机:STM32F103RE。原创 2023-06-05 21:45:16 · 3154 阅读 · 3 评论 -
【程序】在STM32单片机上用1700行代码实现基于LwIP 2.1.2协议栈raw API和FatFs文件系统的FTP服务器(20230315版)
请注意:磁盘中存储的时间,STM32单片机的RTC时间,以及MDTM命令输出的时间全都是UTC时间,但LIST命令显示的时间是带时区的时间。有了MDTM命令,FileZilla能按当前电脑系统设置的时区显示时间,而Windows的文件管理器则是按单片机里设置的时区(也就是LIST命令输出的时间)显示时间。在STM32单片机上使用时,因为没有gmtime_r函数,所以必须要在lwip-2.1.2/include/arch/cc.h里面加入:#define gmtime_r localtime_r。原创 2023-03-13 23:10:46 · 4022 阅读 · 23 评论 -
【程序】Marvell 88W8782/88W8801 WiFi模块创建或连接热点,并使用lwip2.1.3建立http服务器(20220213版)
本程序所用的单片机型号为:STM32F103RE、STM32F407ZG或STM32H743ZI。复位引脚(PDN)应连接到STM32F1/F4的PA15引脚或STM32H7的PE6引脚。不连接PDN引脚将导致固件无法下载!如果模块上有PDN和RESET两个引脚,只需要连接PDN引脚。因为模块上的RESET引脚是悬空的,根本就没有连到芯片上。STM32F1和F4用的晶振是8MHz,请注意检查自己的开发板,看看晶振是不是8MHz。如果是12MHz,在标准库程序中请修改system_stm32f10x.c或原创 2022-02-13 22:44:30 · 6482 阅读 · 5 评论 -
【程序】在STM32单片机上实现基于LwIP 2.1.3协议栈raw API的DHCP服务器,为其他设备分配IPv4地址(20220122版)
使用方法:IP4_ADDR(&ip4addr, 192, 168, 20, 1); // 板子IP地址IP4_ADDR(&netmask, 255, 255, 255, 0); // 子网掩码ip4_addr_set_zero(&gw); // 默认网关netif_add(&wifi_88w8801_uap, &ip4addr, &netmask, &gw, NULL, ethernetif_init, netif_input);neti原创 2022-01-21 00:07:58 · 2712 阅读 · 5 评论 -
WiFi固件bin文件转C数组的程序
编译环境:Visual Studio 2012#include <stdio.h>#include <Windows.h>#define FOLDER_88W8686 "E:\\Users\\Octopus\\Downloads\\SD-8686-LINUX26-SYSKT-9.70.3.p24-26409.P45-GPL\\SD-8686-FEDORA26FC6-SYSKT-GPL-9.70.3.p24-26409.P45\\FwImage"#define FOLDE原创 2022-01-16 13:20:41 · 583 阅读 · 0 评论 -
在Visual Studio 2012下编译lwip-2.1.3 httpd的makefsdata
步骤一 建立空白工程新建一个工程,项目名称起名为makefsdata。因为mkfsdata是一个控制台程序,所以我们要选择Win32 Console Application。这里很重要,必须要勾选“Empty Project”选项,建立空项目:建好的解决方案目录是C:\Users\Octopus\Desktop\makefsdata,工程目录是C:\Users\Octopus\Desktop\makefsdata\makefsdata。步骤二 解压lwip-2.1.3的部分头文件和原创 2022-01-14 11:57:04 · 2366 阅读 · 0 评论 -
关于STM32H743ZI SDMMC 1线模式下Stream模式写数据卡死的问题
CMD53读写数据,小于等于512字节时用stream模式,大于512字节时用block模式。这在STM32F103和STM32F407的SDIO下测试过,都没问题。然而同样的代码在STM32H743的SDMMC下运行,结果是:(1)4线模式下,CMD53读写数据,不管是否使用IDMA, Stream/Block模式均正常。(2)1线模式下,不管是否使用IDMA,情况如下:方式 情况 CMD53 Stream模式读数据 正常 CMD53 Stream模式写数据 卡死在w原创 2021-12-29 19:26:14 · 1379 阅读 · 0 评论 -
【程序】STM32H743ZI用SDMMC2驱动88W8801 WiFi模块
本程序所用的单片机型号为:STM32H743ZI本程序基于:Marvell 88W8801 WiFi模块创建或连接热点,并使用lwip2.1.2建立http服务器(20200208版)晶振:25MHz HSE接口:SDMMC2【开发板】【接线方法】引脚 I/O口 复用功能 布线长度 PDN PE6 SDMMC2_D0 PB14 AF9 3150mil SDMMC2_D1 PB15 AF9 3150m原创 2021-12-16 22:31:04 · 2699 阅读 · 3 评论 -
【程序】STM32H743ZI单片机驱动DP83848以太网PHY芯片,移植lwip 2.1.3协议栈,并加入网线热插拔检测的功能
HAL库版本:STM32Cube_FW_H7_V1.9.0Keil5工程下载地址:开发板:【电路连线】晶振采用的是XTAL-3225封装的50MHz有源晶振。引脚名称 单片机I/O口 ETH_REF_CLK PA1 ETH_MDIO PA2 ETH_CRS_DV PA7 ETH_TX_EN PG11 ETH_TXD0 PB12 ETH_TXD1 PB13 ETH_MDC PC1 ETH_RXD0 P原创 2021-12-14 11:38:23 · 5093 阅读 · 2 评论 -
lwip-2.1.3在STM32F103ZE+ENC28J60有线网卡上无操作系统移植(使用STM32 HAL库)
一、概述以太网芯片简介ENC28J60是一款10Mbps速率的以太网MAC+PHY芯片,和单片机的通信接口为SPI,SPI最高时钟频率为20MHz。ENC28J60支持半双工和全双工模式,但是不支持自动协商。在支持自动协商的网络环境中,ENC28J60默认的工作模式是半双工模式。另外,STM32本身有一个ETH外设,这个外设采用的接口是MII或RMII,不是SPI,所以不能连接ENC28J60芯片,这次我们用不到这个ETH外设。STM32本身的ETH外设相当于MAC,通常要外接一个PHY芯片(原创 2021-11-19 12:49:04 · 5910 阅读 · 1 评论 -
STM32F1 HAL库读写SD卡的操作要点
本文采用的HAL库版本为STM32Cube_FW_F1_V1.8.0(带Patch-CubeF1 1.8.4)。知识点一:SD卡数据线位宽的配置SD卡可以采用1位数据线模式,也可以采用4位数据线模式。但是必须确保STM32单片机的SDIO设置的数据线位宽,和SD卡上设置的数据线位宽是一致的。将hsd.Init.BusWide设为SDIO_BUS_WIDE_4B,然后执行HAL_SD_Init函数,只能把STM32单片机的SDIO设置为4位位宽,SD卡上还是用的1位位宽。所以通常的做法是hsd原创 2021-11-17 21:49:59 · 9248 阅读 · 10 评论 -
【原创工具】蓝牙串口无线烧写工具安卓版
蓝牙串口无线烧写STM32程序的工具,支持HC-05和CC2541两种蓝牙模块。原创 2021-07-26 16:01:06 · 1130 阅读 · 2 评论 -
【蓝牙串口无线烧写程序】适用于STM32F103和STM32F107的Bootloader
【下载链接】链接:https://pan.baidu.com/s/1bMCSr8nHPoitT4NKb2cYZQ提取码:68g8【使用说明】一、Bootloader适配芯片类别 适用芯片 宏定义 启动文件名 low-density devices STM32F103x4、STM32F103x6 STM32F103x6 startup_stm32f103x6.s medium-density devices STM32F103x8、STM..原创 2021-07-25 21:16:05 · 5073 阅读 · 4 评论 -
【蓝牙串口无线烧写程序】适用于STM32F405RG的Bootloader
【下载链接】链接:https://pan.baidu.com/s/1gCQ2ayH2OQz0bQBAciNJ4w提取码:qljc【使用说明】(1)用ST-Link或JLink将Bootloader程序烧写到单片机中(2)拔掉ST-Link或JLink调试器,复位单片机(3)配置要烧写的程序的起始地址为0x8008000,程序区大小为“原大小-0x8000”,即0x100000-0x8000=0xf8000(4)勾选“Create HEX file”(5)打开STM32F4xx_原创 2021-07-24 19:53:09 · 2881 阅读 · 8 评论 -
【原创工具】蓝牙串口无线烧写STM32程序的工具,支持HC-05和CC2541两种蓝牙模块
此工具采用C语言开发(纯C语言实现上位机,没有类,全都是函数),开放源代码,开发工具为Visual Studio 2010, 编译出来的程序可在Windows XP及以上的系统中运行。(也可以用更高版本的Visual Studio编译,但是版本太高的话,编译出来的程序就无法在XP系统中运行了)支持下载hex格式的程序。选择好hex格式的程序文件后,可以看到程序的大小,程序的Flash地址范围,程序的入口地址。程序可通过HC-05或CC2541蓝牙串口下载到STM32单片机中,当然直接用有线串口(U原创 2021-07-17 21:52:00 · 8958 阅读 · 11 评论 -
【方法】STM32用函数指针指向一个数组,然后执行这个数组里面存放的机器代码
在STM32里面,其实是可以把一个数组当做函数来执行的。以STM32F103C8单片机为例,首先我们创建一个test.s,用汇编语言编写一个产生18MHz SPI信号的函数: area |.text|, code, readonly export io_test align ; 保证函数的地址能被4整除io_test proc push {r0-r12, lr} ; 保存寄存器的原有内容, 以及函数的返回地址 (lr就是r14寄存器) ; 以免篡改原创 2021-03-25 23:38:41 · 3121 阅读 · 4 评论 -
【程序+PCB】STM32F107VC单片机利用外部中断和DMA获取OV2640摄像头拍摄的照片,并通过串口发送到电脑上(HAL+LL库版)
本程序由STM32F103RE单片机利用外部中断和DMA获取OV2640摄像头拍摄的照片,并通过串口发送到电脑上修改而来,在STM32F107VC单片机上运行。程序修改成了基于STM32CubeF1 HAL+LL库。(详情请参阅原文)摄像头用的是微雪的OV2640摄像头模块。程序下载地址:https://pan.baidu.com/s/1wucAsyguxdXy6FzNE7g0aQ(提取码:r5ut)原理图和PCB文件下载地址:https://pan.baidu.com/s/19C_SHKWcu_5原创 2021-03-11 20:55:39 · 3888 阅读 · 1 评论 -
【方法】STM32新建一个空白的s文件,并完全用汇编实现一个函数
【main.c】#include <stdio.h>#include <stm32f1xx.h>#include "common.h"uint16_t test(void);int main(void){ uint16_t value; HAL_Init(); clock_init(); usart_init(115200); value = test(); printf("value=0x%04x\n", value);原创 2021-03-02 22:30:23 · 736 阅读 · 0 评论 -
用socket API写的wifi_test.c
#include <FreeRTOS.h>#include <lwip/netdb.h>#include <lwip/sockets.h>#include <task.h>#include "common.h"/*** 此文件用到了errno这个变量, 默认情况下不是线程安全的** 为了使errno变量变为线程安全, 在common.c中已通过重写Keil MDK的__aeabi_errno_addr函数** 重新指定errno变量的存放位.原创 2021-01-16 17:47:58 · 381 阅读 · 0 评论 -
STM32F103RE和STM32F407VE单片机用lwip 2.1.2驱动88W8801 WiFi模块,如何提高TCP和UDP的传输速率
测试时使用的程序:Marvell 88W8801 WiFi模块创建或连接热点,并使用lwip2.1.2建立http服务器(20200208版)一、修改前的速度:TCP:UDP:收到1024个数据包,用时10.83秒,速率120.08KB/s收到1024个数据包,用时7.29秒,速率178.45KB/s收到1024个数据包,用时7.29秒,速率178.45KB/s收到1024个数据包,用时7.32秒,速率177.67KB/s收到1024个数据包,用时7.41秒,速率175.4.原创 2021-01-02 12:59:27 · 4188 阅读 · 5 评论 -
【程序】Xilinx FPGA将DDR3内存转换为W25Q256的SPI接口,供STM32单片机调用,产生容量为256MB的USB U盘设备
本文以XC7A35TFGG484-2这款芯片为例,采用米联客FPGA开发板,用MIG核驱动DDR3内存。FPGA外接的晶振大小为50MHz,DDR3内存的驱动频率(ddr3_ck_p和ddr3_ck_n)为400MHz。选用的DDR3内存型号为MT41K128M16,内存容量为256MB。然后,通过SPI接口和STM32单片机连接,SPI的通信协议和W25Q256一模一样,单片机利用USB接口产生一个256MB的USB U盘设备。程序的运行效果如下:【Verilog代码】main.v:mod原创 2020-12-20 13:14:09 · 2350 阅读 · 1 评论 -
二进制小数的意义
回忆小学学的十进制小数的意义:15.23这个小数,1是十位,5是个位,2是十分位,3是百分位。这个小数的意义为:,因为最低位为百分位,所以分母是100。小数末尾加上0或去掉0,小数的大小不变,但是小数的意义会改变。1.5的意义是,但1.50的意义是。同理,二进制小数也可以这样来分析:… 十六位 八位 四位 二位 个位 . 二分位 四分位 八分位 十六分位二进制小数011.01,最低位是四分位,所以分母为4,去掉小数点后01101是13,所以分子为13,这个小数的意义为,化成十进制小数就原创 2020-10-28 23:40:50 · 3375 阅读 · 2 评论 -
lwip搭建ftp服务器
【程序】在STM32F103RE裸机环境下用lwip 2.1.2驱动88W8801 WiFi模块并运行FTP服务器读写W25Q128上存储的文件(20200703版)https://blog.csdn.net/ZLK1214/article/details/107117885原创 2020-09-26 13:33:48 · 3629 阅读 · 0 评论 -
联控智能无刷电机板子运行STM32 FOC 5.x电机库的程序,电机转一会儿会自动停下来的解决办法
联控智能无刷电机板子运行STM32 FOC 5.x电机库的程序,电机转起来,过一会儿就自己停了。用调试器一看,发现程序进入了Hard Fault里面卡死了。这是因为,单片机的运行频率(也就是代码的执行速度)太高了。电机转动时单片机的滤波电容滤波效果不好,单片机运行不稳定,从而导致HardFault。只需要将单片机的运行频率降低就行,软件本身没有问题。联控智能STM32F405RG低压板的FOC例程的频率是168MHz,这个频率太高了。将主频降低至84MHz,而保持APB1 42MHz和APB2 84原创 2020-09-17 21:40:12 · 2946 阅读 · 0 评论 -
【教程】用STM32 MotorControl Workbench 5.4.3(FOC电机库)从零创建一个工程,正弦波驱动联控智能24V无刷电机
联控智能24V无刷电机FOC5.4.3工程下载地址:https://pan.baidu.com/s/1AvbJA7iv6xg8x8kxFzA6wQ(提取码:sebj)本教程采用联控智能STM32F405RG低压单电机开发板,采用的无刷电机为联控智能24V无刷电机,如下图所示。单片机晶振大小为8MHz,驱动电机使用了3个IR2101S预驱芯片和6个IRF540N N-MOS管。单片机的运行频率为84MHz。虽然STM32F405RG的最高运行频率是168MHz,但是可能是因为板子上滤波电容的滤原创 2020-09-01 23:29:14 · 4771 阅读 · 2 评论 -
根据联控智能高压板viper12a降压小模块的电路画出的板子,通电后剧烈振荡,无法启动成功的解决办法
联控智能高压板降压小模块的电路图如下:其中VIPER12A是降压芯片,是ST公司出的SMPS(开关电源)控制芯片,利用buck型电路降压。(注意buck是降压的意思,boost是升压的意思)该小模块是作用是将高压板的输入电压降到13.5V左右,供预驱芯片使用。然后用LM2596S-5.0把13.5V电压降压到5V,再用一个AMS1117降压到3.3V,给单片机供电。小模块必须接了负载以后(也就是插在他的板子上),万用表测输出端的电压测出来才是13.5V。如果不接负载,测出来就是20~33V的原创 2020-08-26 22:18:54 · 4019 阅读 · 3 评论 -
【程序】在联控智能STM32F405RG开发板(低压板)上用方波驱动24V无刷电机(使用3个预驱芯片IR2101S和6个IRF540N N-MOS管)
程序下载地址:https://pan.baidu.com/s/1gSrfLV3KZ4wMw1B5LAwrXQ(提取码:t8pf)本程序通过方波驱动联控智能的无刷电机。开发板为联控智能低压板,使用的单片机为STM32F405RG,晶振的大小为8MHz,如下图所示。程序实现了电机正转、反转、停转、速度增加和速度减小这五种功能,分别由按键1~5控制。程序为开环控制,没有实现PID速度闭环,也没有利用开发板上的各种电路保护器件(如MOS管过流保护、总电源过压保护等等)。所以,在运行程序前,一定要保证开发板供电电压原创 2020-08-01 22:21:41 · 2536 阅读 · 1 评论 -
【方法】STemWin图形库在MULTIBUF多缓冲区模式下获取当前绘图使用的缓冲区编号(BufferID)
我们在使用STemWin图形库的时候,在MULTIBUF多缓冲区模式下,有时我们希望获取当前绘图使用的缓冲区号,以及屏幕上显示使用的缓冲区号。我们在LCDConf_Lin.c中用DMA2D重写LCD_DEVFUNC_COPYRECT和LCD_DEVFUNC_FILLRECT函数时,也是需要获取绘图缓冲区的缓冲区号的。因为这两个函数传入的第一个参数是图层号,不是缓冲区号。图层(Layer)和缓冲区(Buffer)是两个不同的概念,不能错把图层号当做了缓冲区号,从而在MULTIBUF模式下GUI_Clear原创 2020-07-24 21:04:15 · 1223 阅读 · 0 评论 -
【STemWin】STM32F103VE单片机用FSMC驱动ILI9341彩色触摸屏(触控芯片XPT2046),并裸机移植STemWin图形库(采用LCDConf_FlexColor.c模板)
本程序采用的是STM32F103VE单片机,外部晶振的大小为8MHz,使用HAL库编写程序。去ST官网下载STM32F1的Cube包,文件名称为en.stm32cubef1.zip,STemWin图形库就位于STM32Cube_FW_F1_V1.8.0/Middlewares/ST/STemWin文件夹中。将整个inc文件夹复制到工程中,然后复制Config文件夹下的GUIConf.c、GUIConf.h、LCDConf_FlexColor.c和LCDConf_FlexColor.h文件(去掉了文件原创 2020-07-23 23:18:59 · 3331 阅读 · 0 评论 -
【方法】STemWin图形库中的GUI_DrawBitmap函数显示图片时,只截取图片的一部分并显示的方法
STemWin里面绘图的函数(如GUI_DrawBitmap)只能绘制整张图片,没有提供绘制图片指定区域的功能。如果想要截取图片的一部分然后显示到屏幕上,应该配合使用GUI_SetClipRect函数。下面的示例代码从bmp的(x0,y0)处截取width×height大小的图片,然后显示到屏幕的(x,y)坐标上。/* 截取一部分位图并显示 */void copy_part_of_bitmap(int x, int y, const GUI_BITMAP *bmp, int x0, int y0原创 2020-07-21 21:30:39 · 2227 阅读 · 0 评论 -
【STemWin】STM32H743VI单片机通过LTDC驱动4.3寸800×480高分辨率的40-pin FPC彩屏并裸机移植STemWin图形库
本程序使用的单片机为STM32H743VI,晶振大小为25MHz。程序利用LTDC驱动如图所示的RGB888接口的4.3寸高分辨率屏。彩屏的连接口是40-pin FPC接口,需要FPC座来连接。请注意FPC座的正反面。下面的绿色板子是一个FPC座转直插排针的板子。插的时候注意黑色那一面是不导电的,要朝外插进去,里面金属那一面才是导电的。一定要根据FPC座的情况确定1脚的方向,不要搞反了。笔者用的液晶型号是智晟鑫ZSX430-B4025,FPC座是40PIN翻盖式下接。...原创 2020-07-14 20:54:51 · 6228 阅读 · 3 评论 -
【程序】STM32F407VE单片机通过FSMC驱动Ilitek ILI9325液晶屏以及XPT2046触控芯片
本程序使用的单片机为STM32F407VE,晶振大小为8MHz,用10厘米长的杜邦线和彩屏相连,彩屏为微雪(Waveshare)的3.2inch 320x240 ILI9325 Touch LCD (C)。程序下载地址:https://pan.baidu.com/s/1LVQRdv3jZ9n5oAR_7yUZxw(提取码:awib)运行程序时如果发现LCD ID(0号寄存器)读出来是0,说明很有可能你的彩屏的芯片不是ILI9325,而是ILI9341。ILI9341的0号命令是空操作,是读不出来ID原创 2020-07-13 23:31:54 · 5131 阅读 · 2 评论 -
【方法】Ilitek ILI9325、ILI9341 LCD TFT彩屏利用Memory Read指令读取屏幕上显示的内容
网上很多彩屏例程都通过0号命令读取彩屏的ID号,以此来判断彩屏的芯片型号,然而ILI9341芯片的0号命令是一个空操作(No Operation),无法得到器件ID。4号命令和0xda~0xdc命令虽然是读取ID的命令,但是读出来的ID全都是0。这会不会是STM32 FSMC的时序配置问题?或者STM32的FSMC根本就不支持这款液晶的读操作?到底是STM32的时序问题,还是芯片的器件ID本来就为0?通过Memory Read(0x2e)命令可以发现,即使把FSMC的时序值配置为最小值,STM32也原创 2020-07-06 20:59:24 · 5210 阅读 · 2 评论 -
【程序】STM32F103VE单片机通过FSMC驱动Risym 2.8寸TFTLCD 320x240分辨率 ILI9325/ILI9341彩屏(ID寄存器读出来为0就说明驱动芯片是ILI9341)
前段时间在淘宝的Risym旗舰店买了一款2.8寸的TFTLCD彩屏,分辨率为320x240。这款液晶屏的控制芯片是ILI9325或ILI9328。卖家给的资料是一个压缩包,以前下载下来还能打开。现在下载下来打开提示“不可预料的压缩文件末端”,压缩文件是坏的。打开以前下载的压缩包,里面有两个例程:“STM32_FSMC_TFT_20130112-OK-MDK”和“STM32-ucosII+GUI3.9a-20121220-MDK”。运行第一个不带操作系统的例程,发现根本运行不了,液晶屏一直是白屏。原创 2020-07-05 20:35:09 · 4024 阅读 · 0 评论 -
【程序】在STM32F103RE裸机环境下用lwip 2.1.2驱动88W8801 WiFi模块并运行FTP服务器读写W25Q128上存储的文件(20200703版)
关于本程序更详细的信息,请参阅:【程序】在STM32单片机上用1700行代码实现基于LwIP 2.1.2协议栈raw API和FatFs文件系统的FTP服务器(20200703版)_ZLK1214的专栏-CSDN博客程序下载地址:百度网盘 请输入提取码本程序可以在Wirelesslink 88W8801 WiFi开发板上直接运行。加入了FatFs文件系统后,一定不要忘了在startup_stm32f103xe.s中将栈大小Stack_Size改大否则很容易引起HardFault,和其他莫名原创 2020-07-04 00:12:34 · 5088 阅读 · 3 评论