随言:spi_lcd屏幕其实不适合用于曲线显示。数据传输太慢了而且传输数据过程还需传一些设置命令。但是需求来了,软硬件压榨一下也能做出来。硬件:STM32F407 + 1.54寸ST7789屏幕STM32CubeIDE:SPI配置速度最快。使用硬件SPI发送。ST7789手册:翻一下ST7789这个屏幕显示驱动芯片的技术手册,看一下寄存器,有哪些能提升速度的。看到0xC6这个寄存器可以设置屏幕刷新
STM32F4定时器时钟频率和时钟源(1)高级定时器timer1, timer8以及通用定时器timer9, timer10, timer11的时钟来源是APB2总线(2)通用定时器timer2timer5,通用定时器timer12timer14以及基本定时器timer6,timer7的时钟来源是APB1总线cubemx配置以下转自:https://blog.csdn.net/qq_42967008/article/details/89267010一、打开Cube,建立工程图片:点击ACCE
转载
2021-06-08 14:40:40
2952阅读
第一步 使用stm32cubeMX配置串口可以在NVIC里面设置串口的优先级,避免bug的出现。第二步 生成代码并修改串口打印重定向在usart.c里面添加/** * @brief 串口重定向 */#include <stdio.h>int fputc(int ch, FILE *f){ HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF); return ch;}在使用的地方要
原创
2021-06-08 14:41:03
3615阅读
芯片是stm32f407ve 软件 stm32cubemx5.3.0 和keil5 F4的RTC提供了日历时钟和两个可编程闹钟中断,一个周期性可编程唤醒标志。这样很方便设置系统时间,并不会像F1的RTC那样要自己计算年月日时分秒。F4的RTC是一个独立的BCD定时计数器,系统可以自动将月份天数补偿为28、29(闰年)、30、31天。并且还可以进行夏令时补偿。1、设置RCC RTC设备因为其独特的运
随着集成电路发展,现在购买过去的IC越来越难买,而且量越来越少,价格越来越高,经过研究决定,准备把目前的CPU DS80C400升级到STM32,在这向有经验的过来者请教。 STM32特点: 内核:ARM32位Cortex-M3 CPU,最高工作频率72MHz,1.25DMIPS/MHz。单周期乘法和硬件除法。 存储器:片上集成32-512KB的Flash存储器。6-64KB的SRAM存储器。
前面说了USB鼠标,这次趁热打铁,说一下USB键盘。依然只说如何修改,不说背后的原理。原因你懂的,涉及的知识点太多了。会不会写成USB三部曲? 不知道猜猜我下一步再写个啥?1 生成工程首先,STM32CubeMX的配置部分不说了,和USB鼠标部分的一样。唯一需要注意的一点是,VID和PID这两个值要改一下,否则主机(也就是电脑)会以为你还是
转载
2024-09-12 23:08:45
142阅读
IIC简介 IIC物理层用软件模拟IIC时序一、空闲状态(初始化):SCL 和SDA都保持高电平二、开始信号 :SCL为高电平期间,SDA由高电平变为低电平。三、
文章目录一、准备工具二、前置知识1.ADC简介2.DMA简介2.STM32Cubemx配置1.新建工程2.时钟源选择及时钟树配置3.时基选择调试接口选择4.配置ADC采集1.选择要配置为ADC采集的引脚2.开启DMA传输,循环模式3.选择分辨率,使能ADC持续转换,DMA持续请求4.选择触发源5.生成工程3.Keil编写代码4.烧录观察工程下载地址 一、准备工具STM32F407VE核心板 ST
转载
2024-10-29 07:36:05
139阅读
STM32F4 的定时器功能十分强大,有TIME1 和 TIME8 等高级定时器,也有 TIME2-TIME5,TIM9-TIM14 等通用定时器,还有 TIME6 和 TIME7 等基本定时器,总共达 14 个定时器之多。STM32F4 定时器分类(共14个):高级定时器:TIME1 、TIME8通用定时器: TIME2-TIME5,TIM9-TIM14基本定时器: TIME6 、 TIME7S
FatFs介绍 FatFs 是面向小型嵌入式系统的一种通用的 FAT 文件系统。 它完全是由 ANSI C 语言编写并且完
全独立于底层的
I/O
介质。因此它可以很容易地不加修改地移植到其他的处理器当中,如
8051
、 PIC
、
AVR
、
SH
、
Z80
、
H8
、
ARM
看完sd卡读写,我也忍不住自己试一试 使用spi1的时候,程序运行成功,但是当我尝试用spi2 的时候,一次一次的fail,现在总结发现本身错在这几个地方,其中也有一些地方是大家的普遍错误: 1,自己尝试硬件的时候,一定要把硬件先连接好,这个是基础保障,不能急
STM32有3中低功耗模式: 1)睡眠模式(CM3 内核停止,外设仍然运行) 2)停止模式(所有时钟都停止) 3)待机模式(1.8V 内核电源关闭) 在运行模式下,我们也可以通过降低系统时钟关闭 APB 和 AHB 总线上未被使用的外设的时钟来降低功耗。三种低功耗模式一览表见表 21.1.1 所示 在这三种模式中,最低功耗的属于第三种模式,即待机模式,最低只需要2uA的电流。停机模式是次低功耗的,
F103&BxCANbxCAN总体描述有一个增强的过滤机制来处理各种类型的报文此外,应用层任务需要更多CPU时间,因此报文接收所需的实时响应程度需要减轻。接收FIFO的方案允许,CPU花很长时间处理应用层任务而不会丢失报文。 构筑在底层CAN驱动程序上的高层协议软件,跟CAN控制器之间有高效的接口。BxCAN与CAN的区别?硬件结构:BxCAN是基本扩展CAN(Basic Extended
title: stm32F407cubeIDE环境搭建 tags:单片机编程 categories: 技术 abbrlink: efd77299一、安装软件官网地址地址下载安装二、配置工程1. 选择对应的芯片直接搜索即可2. 配置时钟先在rcc选项中设置时钟为外部时钟168M时钟配置如下:144M时钟配置如下:3.配置SYSDubug: 应该是选择调试的方式,但是我没有选择,也可以使用SWD调试,
快速建立工程有两种方法: 第一种是通过官方提供的外设库来搭建,好处是使用库函数,而不需要深入研究寄存器配置; 第二种是通过STM32CubeMX,好处是直观快速,可以直接帮你配置好功能和时钟,不过使用的是HAL库,在扩展功能逻辑时需要了解相应的寄存器和宏定
转载
2024-09-06 08:23:13
225阅读
1. STM32Cube生成的FREERTOS系统是加了CMSIS_RTOS封装的,该封装下函数的调用要比FREERTOS简单一点,将中断调用和线程调用综合到了一起,但又不提示这个函数支不支持中断调用,需要细致研读代码才行。。。而且CMSIS_RTOS封装的功能并不全面,当需要实现复杂功能时,还是得直接调用FREERTOS的API。2. 想要使用通用的CMSIS_RTOS封装,需要研读其代码,CM
文章目录一、GPIO简介1.1GPIO特点1.2GPIO电气特性1.3GPIO引脚分布二、GPIO基本结构三、GPIO功能模式3.1输入浮空3.3输入下拉3.4模拟输入3.5开漏输出3.6推挽输出3.7开漏复用3.8推挽复用3.9总结四、GPIO寄存器寄存器概览端口配置高寄存器(CRH)与端口配置低寄存器(CRL)端口输入数据寄存器(IDR)端口输出数据寄存器(ODR)端口位设置/清除寄存器(B
USART1、USART概念USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步串行接收/发送器USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备处理器与外部设备通信的两种方式:并行通信(八车道) -传输原理:数据各个位同时传输。
一.CAN初始化(以初始化CAN1为例)(注:几个参数) tsjw:重新同步跳跃单元 tbs2:时间段2的时间单元 tbs1:时间段1的时间单元 brp:波特率分频器 mode:模式1.使能相应的PORT时钟RCC->APB2ENR |= 1 << 2; //使能PORTA时钟2.配置端口输出模式GPIOA->CRH &= 0xfff00fff;
GPIOA->
首先要安装cubemx跟Keil5两个编程软件,然后打开cubemx软件,新建一个工程项目: 输入CPU型号: 在右下角双击CPU具体型号: 稍等片刻会打开如下对话框:  
转载
2024-09-24 17:49:13
340阅读