STM32
文章平均质量分 91
爱FC的捷哥
这个作者很懒,什么都没留下…
展开
-
LED单元板驱动(HUB75接口)
开始之前先吐槽一下,搜这个的资料。要么都是Arduino,要么单片机的收费。小小的一个LED单元板,凭什么?用Arduino是你速度快还是我ST,树莓派不好用?收费更离谱,这点东西还藏私?给你个中指凸。把原理都写出来看你怎么收费。一、接口定义及原理如图,有两个RGB通道,共占用6个IO。剩下的ABCDE为地址通道,LAT为行数据锁存通道,CLK为数据时钟,OE为低电平使能LED显示。图片这里没有E,证明它是16扫的,有E就会把B上面的地改为E。这样就是5位,2的5次方32扫。1.原创 2021-01-07 13:48:59 · 20898 阅读 · 27 评论 -
STM32----SDRAM配置
一、硬件环境 野火stm32F429第一代开发板,主频180。SDRAM为:IS42S16400J,容量8M/byte。接线如下:如何接线,需要参考两个文件。一个是stm32参考手册,一个是SDRAM数据手册。stm32参考手册中关于FMC引脚说明如下:SDRAM数据手册,太容易找就不贴出来了。需要注意的是,FMC映射到SDRAM有两个bank可以选择。...原创 2018-11-26 20:09:59 · 5187 阅读 · 2 评论 -
STM32----LTDC与DMA2D
一、硬件环境 第一代野火F29开发板,MCU为stm32f429IGT6。板载IS42S16400J SDRAM,16bit位宽8M容量。 TFT为RG888接口,分辨率为800*480。二、LTCD初始化(1)初始化GPIO与SDRAM(2)初始化相关时钟 //2、LTDC相关时钟初始化 /* 配置 PLLSAI 分频器,它...原创 2018-11-30 14:27:50 · 2562 阅读 · 0 评论 -
STM32----GT9157触摸IC驱动
一、硬件环境 野火F429第一代开发板,5寸触摸屏,触摸IC为GT9157,支持5点触控(但IC是支持10点触控的)二、GT9157初始化总的流程:1、初始化GPIO --> 2、初始化I2C --> 3、复位GT9157以确定IC从地址--> 4、写配置寄存器(0x8047~0x8100)(1)初始化GPIO与I2C ...原创 2018-12-01 18:12:30 · 4994 阅读 · 0 评论 -
STemwin----开发问题锦集
(1)GUI键值问题 移植方式:stm32cubemx创建F103带freertos工程,手动移植C盘cubemx自带的stemwin固件 发现发送键值消息时出现如下问题: void Emwin_TEST(void){ WM_HWIN hWin; hWin = CreateFramewin(); GUI...原创 2019-03-25 15:32:31 · 820 阅读 · 0 评论 -
hc-05蓝牙模块使用问题
(1)搜索周围蓝牙设备 下载官方的资料,根据AT指令进行操作,会发现。AT+INQ完全没有返回?或者返回OK字样? 解决方法: 1、没有返回 这种情况下可以尝试输入如下指令: AT+O...原创 2019-05-21 17:58:18 · 1559 阅读 · 0 评论 -
STM32HAL----红外遥控(NEC)
整理了一个NEC协议的红外程序,NEC协议,物理环境为F103原子战舰V3,使用STM32CubeMX生成初始程序。定时器配置72分频,9999装载值(10MS)NEC协议:数据格式:同步码头 +地址码 +地址反码 + 按键码 +按键反码 (LSB先行)同步码头:9ms低电平 + 4.5ms高电平连发码 : 9ms低电平 + 2.5ms高电平逻辑1: ...原创 2018-07-31 14:47:03 · 7614 阅读 · 12 评论 -
STM32HAL----USB升级固件(DFU)
早就听说stm32可以利用USB升级固件,脱离各种Link。趁有空搜了下相关资料,然后利用stm32CubeMX实现了这个功能。参考了这个地址的资料:http://www.stm32cube.com/question/500 上面这个链接写得很详细,所以不再赘述,直接上重点以及注意点。 一、bootloader地址设置在CubeMX里面,有两个参数...原创 2018-07-25 17:04:32 · 18416 阅读 · 2 评论 -
NRF24L01模块----6通道通讯测试
一、MCU与NRF24L01通讯 采用SPI通讯协议,速率最大为10M,与普通SPI元器件稍有不同的是,多了一个CE引脚,用来开启接收、发送,以及使器件进入待机模式。具体看IC DATASHEET说明。 写寄存器指令格式为:1、SPI写寄存器地址 + 0x20 2、SPI写参数...原创 2018-07-24 11:18:09 · 4764 阅读 · 1 评论 -
STM32----ADC进行信号(跳变沿、PWM)的捕获
一般情况下进行信号的捕获,如上升沿或者下降沿。均可采用外部触发进行捕获。这是基于信号比较稳定的情况,如信号出现较大的纹波或者易受到干扰。会出现“误触”的现象,此时用外部中断难以捕获到正确的信号。 这种情况的解决办法,可以采用以下办法:(1)使用定时器进行捕获,并开启定时器的滤波功能。在库函数结构体中,为: TIM_ICInitStruct.TIM_...原创 2018-04-08 14:28:11 · 11951 阅读 · 3 评论 -
STM32----杂记
1、开启引脚复用,引脚外部中断时,需要开启 RCC_APB2Periph_AFIO。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //只在此处开启时钟可顺利初始化外部中断 GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource12); //不配置无法启用外部中...原创 2018-03-02 17:45:07 · 1019 阅读 · 0 评论 -
STM32----FLASH掉电保存动态平衡方案
stm32是支持对自身Flash(code区)进行读写的。所以,在某些需要掉电保存的场合,我们可以利用这一特性节省一个外部的Flash或者EEPROM,对数据进行保存。 但是,如果需要经常性的保存数据,就会对固定地址的Flash进行频繁的擦写,大大损耗Flash的寿命。在这种时候,就需要用到动态平衡的方法进行处理了。原理:一、Flash擦写寿命 根据网上查阅的资料,...原创 2018-04-11 16:40:13 · 9071 阅读 · 0 评论 -
STM32HAL----USB模拟串口(VCP)
想要实现的功能是,USB模拟串口收发数据。串口助手发送数据至MCU,MCU接收后返回给串口助手。 当初是想用标准库做这个功能的。但是因为后来了解到STM32CubeMX这个软件,在尝试之后实在是感觉,太方便了。所以,并没有使用标准库,而是直接用STM32CubeMX生成HAL库的代码用了。(1)先点New Project,然后输入自己的MCU型号(2)配置引脚...原创 2018-05-10 10:30:48 · 23271 阅读 · 7 评论 -
STM32HAL----USB串行FLASH模拟U盘
这个功能浪费了我2天时间。其实本身是很容易实现的,但中途遇到了一个以往较少注意到的问题:堆栈空间。参考这个:https://www.cnblogs.com/qsyll0916/p/8013136.html 总的来说,就是因为堆空间分配不足,导致没有足够的空间给USB作缓冲。这个问题应该有人遇到过,但是网上相关的资料比较少。原子的HAL程序是将FLASH当成512字节扇区进...原创 2018-05-17 11:54:39 · 11239 阅读 · 8 评论 -
STM32CubeMX----杂记
(1)在使用FSMC作为LCD接口时,同时ENABLE了FreeRTOS,发现生成的工程文件,编译之后会出问题。 研究后发现问题出在“FreeRTOSConfig.h”这段代码:/* Cortex-M specific definitions. */#ifdef __NVIC_PRIO_BITS /* __BVIC_PRIO_BITS w...原创 2018-05-28 20:57:08 · 2239 阅读 · 0 评论 -
STM32定时器----Toggle模式实现2路pwm移相
原理如下:以下代码实现了利用TIM3的CH3以及CH4输出两路移相的PWMvoid TIM3_PWMShiftInit(void){ TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct; GPIO_InitTypeDef GPIO_InitStruct; TIM_OCInitTypeDef TIM_OCInitStruct;...原创 2018-01-18 18:07:22 · 9965 阅读 · 18 评论