本文使用的单片机为STM32F103ZE,使用的单片机引脚为PA9(发送)和PA10(接收)。晶振为8MHz,程序采用HAL库编写。 程序下载地址:https://pan.baidu.com/s/13DEWdpupCG3REGTTAJYuVw 程序功能:一开始先通过串口输出两行字符,然后开始接收串口字符。每收到10个字符,就打印一次收到的内容,然后继续接收。程序能在有外部晶振或无外部晶振条件下运行...

单片机STM32L476RG(用的nucleo开发板),调试RTC的过程中遇到了HAL_RTC_GetTime函数读取的时间一会儿走,一会儿不走的问题,如图所示。 要等很长一段时间,时间才会更新。而实际上RTC时钟一直在走,并且掉电保存也没问题。   解决方案是,每次读取时间,HAL_RTC_GetTime和HAL_RTC_GetDate函数必须同时调用,并且必须先调用HAL_RTC_G...

STM32 移植 STemwin(Touch)

STM32  stm32

  

2020-01-12 18:37:31

上篇讲到了STemwin的基本移植步骤,这里再讲下Touch的支持。 驱动好自己的触摸屏,准备好测量X,Y 返回为ADC值的函数。这个一般也不难 准备好GUI_TOUCH_X.C文件,这里比较坑的就是这个文件没有包含在STemwin的包里面(至少5.32里面没有),需要自己写一个,其实内容很简单,如下 添加好X,Y的测量函数, x,y的Activate函数可以空。 回到LCDConf_FlexCo...

stm32f103can总线过滤器配置

stm32  can  stm32

  

2020-01-13 21:20:18

CAN过滤器的配置(f103 hal1.8 系列) can的过滤器的配置是对can接收到的报文进行过滤的配置,在STM32芯片中,可以对can的报文进行过滤,从而省略cpu的处理过程。 can的过滤模式 f103中为应用程序提供了14个位宽可变、可配置的过滤器组,每个过滤器组由2个32位寄存器,CAN_FxR0和CAN_FxR1组成。 每个过滤器组的位宽都可以单独设置,以满足应用程序的不同需求。根...

STM32F407 驱动外部SRAM

STM32  stm32  sram

  

2020-01-14 06:23:09

需要驱动的SRAM型号为IS61LV25616AL,性价比比51216的高很多 配置Cubemx 这几个时序比较关键,可以按照手册来计算,我用下来这几个数值比较合适。 然后就没有然后了,生成代码就可以用了。。。 检查SRAM内容是否正确 函数返回值是错误的个数,正常应该返回0 ENJOY!...

STM32F103VET6学习(1)

STM32学习  stm32

  

2020-01-18 19:33:01

一.前言 我是按照STM32售方光盘中的资料《玩转STM32F10x》(.pdf)来学习的,前面的基本原理看了好几天,因为有点微机原理的底子,所以有些内容看起来还觉得不是特别难。几天后,终于看到了GPIO的这节的LED点亮,我心里想着终于可以有一个上手实践的东西可以做了。谁知道有很多问题一个接一个,下来就逐一说下,给自己看看做个记录也好。 二.问题陈述与对应的解决过程以及衍生的新的问题以及最后的解...

STM32F429驱动外部SDRAM

STM32  SDRAM  STM32

  

2020-01-19 02:11:14

STM32F429的一个很大优势就是可以直接驱动SDRAM,这样一下子就可以外扩可观的运存,很诱惑。 这里用到的SDRAM 为W9825G6KH, 256Mbit, 32MByte 配置CubeMX 这里不展开这里面的数值的具体计算过程,主要是按照手册来算的,感兴趣的可以网上寻找,有很多相关的资料。 SDRAM 初始化,SDRAM不像SRAM配置好了就可以用,他需要初始化 3.MAIN函数中加入即...

STM32F429 初试TouchGFX

STM32  stm32  TOUCHGFX

  

2020-01-19 04:00:25

自制的429开发板到了最后的一个目标-TouchGFX 随着新版本的发布,TouchGFX和CubeMX之间的集成越来越好了,操作了越来越容易了。 这里429需要用到SDRAM+LTDC+FreeRTOS+SPI(触屏)以及LCD液晶屏的驱动,这些自己先搞定,也不难,都搞定了就可以到TouchGFX的配置了。 FreeRTOS里面设置 开启DMA2D以及LTDC的全局中断 Cubemx配置Touc...

STM32笔记之 GPIO引脚

STM32  stm32  gpio

  

2020-01-26 18:09:08

写在前面: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。   目录 一、GPIO模式 二、外设 I/O配置模式选择 三、GPIO配置代码实现 四、总工程实现   一、GPIO模式 STM32的 GPIO模式有以下几种:   GPIO_Mode_AIN -- 模...

STM32笔记之系统时钟

STM32  stm32  clock

  

2020-01-27 03:39:24

写在前面: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。   目录 一、时钟树分析 二、SystemInit() 函数执行分析 三、高速外部时钟输入频率更改(依旧是做成 72MHz输出) 四、时钟频率确认 五、结语   在单片机中时钟就相当于人的心脏,以提供心跳(后面我们再去了解...

写在前面: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。   目录 一、NVIC简单解释 二、抢占优先级与子优先级 三、抢占优先级和子优先级的区分(白话文) 四、NVIC配置分析           在 STM32笔记之 EXIT...

STM32笔记之 ADC(模数转换)

STM32  stm32  adc

  

2020-01-28 23:14:01

写在前面: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。   目录 一、模拟量和数字量 二、ADC介绍 三、功能特征 四、转换模式 五、数据对齐方式 六、数据计算 七、代码实现   一、模拟量和数字量 在开篇之前,先来了解点硬件知识 模拟(类比)信号:在时间和数值上均具有连续性,...

STM32笔记之 USART(串口)

STM32  stm32  uart

  

2020-01-29 07:07:35

写在前面: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。   目录 一、串口通讯方式 二、USART收发功能框图 三、USART模式配置 四、代码实现过程 五、printf()函数重定向 六、总工程代码   一、串口通讯方式 这里就不再累赘阐释了,看以前的篇章 UART...

前段时间校企合作项目里一块板子上用了MCP3008,一开始老是得到值,后来终于得到了,以此来写一下博客分享给大家,让大家少走弯路。言归正传,我们开始—— MCP3008介绍 MCP3008是一个逐渐接近的10位模拟数字转化器, 板载采样和保持电路. 它可编程, 提供四个伪差分输入对或八个单端输入. 微分非线性(DNL)积分非线性(INL)指定为: ±1 LSB...

基于STM32F429的呼吸灯

Stm32  stm32

  

2020-03-03 02:52:04

一、项目要求: 混合彩色呼吸灯,通过PC端串口小助手控制呼吸灯速率,开发板上按键控制呼吸灯的颜色。 二、设计说明: 三、效果示意图: 四、相关代码:...