其实Arduino来开发STM32,一直也不是一个新鲜的事情。只是因为我懒,一直没有研究,趁着这个板子还热乎,而且今天不算忙,再写一篇记录一下过程。
在platform io中开发stm32g0系列芯片的串口通信程序,想使用printf函数,根据传统的方法重定义fputc函数,串口中没有输出。但是用keil同样的代码是可以输出的。
将oled.c添加到Src文件夹 将oledfont.h,oledpic.h添加到Inc文件夹
上一篇文章(PCB 封装欣赏了解之旅(上篇)—— 常用元器件)带大家欣赏了常用元器件的 PCB 封装,接下来 PCB 封装欣赏之旅下半程开启,随我一起踏上剩下的 PCB 封装欣赏之旅吧~
前提:本篇文章重在分享自己的心得与感悟,我们把最重要的部分,摄像头循迹,摄像头数字识别问题都解决了,有两种方案一种是openARTmini摄像头进行数字识别加寻迹,即融合代码。另一种是使用openmv4进行数字识别(使用的是模板匹配),然后利用灰度传感器进行寻迹。因为当时python用得不算很熟,最终我们选择了第二种方案使open MV4实现数字识别,灰度传感器寻迹,在控制智能车运动调试的过程中更加简单。当然赛后我们也尝试了使用open ARTmini的方案,同样操作容易。其次我们下来也做了方案三K210数字识别,数字识别率可达97.8%,使用openmv寻迹。
也是一样直接到官网下载,下载的文件为压缩包文件,解压出来放到自己能记得住的合适位置即可
这段时间闲着没事,决定自己做个手表玩玩,参考了一些开源项目和数据手册,决定主控使用STM32F411CEU6,屏幕选用了淘宝一家商家的ST7789V主控的240*240分辨率的圆形tft屏幕。利用商家给的软件spi例程成功将屏幕点亮之后,尝试使用改为硬件spi的方式,加快屏幕的刷新速度但是尝试了多种方案后始终无法点亮,后来查看了例程和ST7789V的数据手册才发现。和一般的屏幕不一样,ST7789V使用了9位spi的格式,通过第一位的0和1代表了当前发送的是命令还是数据。而STM32F411CE只能使用8或者16位SPI。而软件SPI的速度过慢,因此开始了相关的研究,有了本文。
从本篇开始就要研究USB设备开发硬件部分的知识,本系列硬件部分文章的学习案例来源于《圈圈教你玩USB》。
littleVGL 是近几年开始流行的一个小型开源嵌入式 GUI 库,具有界面精美,消耗资源小,可移植度高,响应式布局等特点,全库采用纯 c 语言开发,而且 littleVGL 库的更新速度非常快,随着 littleVGL 的认知度越来越大,官方资料也逐渐丰富起来。
板子申请了也有一段时间了,也快到评测截止时间了,想着做点有意思的东西,正好前一段时间看到过可以在MCU上移植MicroPython的示例,就自己尝试一下,记录移植过程。
面包板又举办开发板试用活动了,很荣幸能获得一块ST官方的Nucleo-F411RE开发板,感谢面包板社区和ST意法半导体的赞助,这是我第一次试用官方的开发板,收到板子后查了一些关于ST官方开发板的资料,ST官方的开发板主要分为3种:
本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设读取环境光强度传感器数据(BH1750)。
STM32F411简单应用 STM32F411简单应用 我以前写过关于这个芯片的一些简单介绍: 📷 就是这样,其实是一个引脚引出来的最小系统 https://github.com/WeActTC/MiniSTM32F4x1 我们在这个链接里面下载网店给的一些资料 📷 📷 📷 都是两个稳压器 📷 这个手册呢,一百多页,细节不是很多 📷 这个大几百页,细节繁复 参考手册 📷 microPython的引脚定义,板子完美支持mpy https://micropython.org/ 📷 引脚的定义是这样的,编
https://github.com/stm32duino/Arduino_Core_STM32 https://www.st.com/zh/development-tools/stm32cubemx
首先,我们需要了解一个东西,就是Systemlnit初始化函数会在main函数调用之前被执行,可以简单理解为,Systemlnit初始化函数在启动程序时在main函数之前,如下图所示:
最近学习stm32单片机,用VL53L0X这个传感器进行开发,花了不少时间和精力,写这个博客一个是为了记录自己的学习过程另外一个是感谢网上各位网友的帮助。我一直秉持分享的精神同时取之大众馈之大众。谨用这篇博客感谢各位的帮助。
CAN 是控制器局域网络 (Controller Area Network) 的简称,它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的,并最终成为国际标准(ISO11519以及ISO11898),是国际上应用最广泛的现场总线之一。差异点如下:
深化非阻塞编程思想,移植驱动到全新器件上,使用杜邦线洞洞板搭建的,不使用我们自己的开发板,来一期GPIO应用实战,并给大家展示下Event Recorder开狂暴模式 通过本次视频提供一些移植调试中遇到的各种问题解决思路。 视频: https://www.bilibili.com/video/BV1HF411s74g 本期视频主要分为如下几个部分: 第1部分:STM32CubeMX生成工程模板 第2部分:移植添加BSP相关驱动。 第3部分:添加Event Recorder的正确姿势,极速printf打印展示。 第4部分:调试仿真运行。 第5部分:不同主频的功耗问题。 本次实验平台使用的H730搭建:
视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519 本期视频教程为大家分享BSP驱动教程第11期 深化非阻塞编程思
最近想玩玩ESP32,在某宝上买了个ESP32的板子,40块的价格,带有1.14寸TFT显示屏,WiFi和蓝牙,小飞哥觉得还是可以的。入手,盘他。
介绍STM32F407外部中断配置步骤,以按键为例,实现外部中断配置,使用按键触发中断进行LED灯控制。
视频(1080p): https://www.bilibili.com/video/BV1SY411g7K4 本期视频主要分为如下几个部分: 第1部分:英文版参考手册GPIO章节学习。 (1)GPIO各种工作模式分析。 (2)GPIO 的速度等级高的时候, 最好使能 IO 补偿单元。 (3) 施密特触发输入。 (4)正确理解PA0_C, PA1_C, PC2_C PC3_C。 (5)H7的上电后GPIO默认已经是模拟模式,而F1,F4是浮空输入。 第2部分:英文版数据手册GPIO章节学习,了解GPIO的电气特性。 (1)STM32H7引脚允许的最大拉电流和灌电流 (2) STM32H7的弱上拉和下拉电阻大小。 (3) STM32H7的GPIO对TTL电平和CMOS电平的兼容问题 第3部分:GPIO应用笔记手册。第4部分:GPIO的HAL库,LL库和寄存器方式玩法。
本系列教程将HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用
通过这两个步骤,即可解锁 FLASH_CR,如果写入错误,那么 FLASH_CR 将被锁定,直到下次复位后才可以再次解锁。
第一篇:STM32F103ZET6单片机双串口互发程序设计与实现 第二篇:最简单DIY基于STM32单片机的蓝牙智能小车设计方案 第三篇:最简单DIY基于STM32F407探索者开发板的MPU6050陀螺仪姿态控制舵机程序 第四篇:最简单DIY基于STM32F407探索者开发板和PCA9685舵机控制模块的红外遥控机械臂控制程序 第五篇:注释最详细、代码最简单的STM32+摄像头+显示屏的颜色跟踪电路软硬件方案 第六篇:最简单DIY基于STM32单片机的WIFI智能小车设计方案
(MPU6886)6轴IMU单元是带有3轴重力加速度计和3轴陀螺仪的6轴姿态传感器,可以实时计算倾斜角度和加速度。该芯片采用mpu6886,具有16位ADC,内置可编程数字滤波器和片上温度传感器,采用I2C接口(addr:0x68)与上位机通信,并支持低功耗模式。
本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设,读取HTS221温湿度传感器的数据并通过串口发送。
STM32 芯片内部的 FLASH 存储器,主要用于存储我们代码。如果内部FLASH存储完我们的代码还有剩余的空间,那么这些剩余的空间我们就可以利用起来,存储一些需要掉电保存的数据。
包括蓝牙模块(TB03F)、wifi模块(esp8266)、门禁控制器(电插锁+继电器),RT1062开发板(带摄像头),
视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519 本期视频教程开始,正式开启各种外设专题教程,首先是GPIO专题。
先把背景交代一下,上一篇讲了下基本的设计意图和框架,实际上整体框架已经有了,这篇先把整个框架再描述下,再来实现我们的第一个例子。
因为有过嵌入式开发的基础,所以多少还是了解一些,比方JTAG调试、串口下载等等概念,但也奈何长时间不接触这方面的项目,渐渐也就生疏了!
刚开始学习的时候,会有很多疑惑,例如指针怎么用,结构体跟指针怎么配合,例如函数的参数有什么要求,如何实时更新IO口的数据等。如果重新进行C语言的学习,那么要学很久才能够系统地认识。本文则将比较容易想不起来的知识点进行简单的整理。
因为需要自动适配芯片进行系统配置,所以我们有必要通过读取一些系统寄存器来获取必要信息。 我们的代码需要兼容STM32F1/GD32F1/STM32F0/STM32F4 代码如下: #ifdef STM32F0XX void* p = (void*)0x1FFFF7AC; #else void* p = (void*)0x1FFFF7E8; #endif memcpy(ID, p, ArrayLength(ID)); CPUID = SCB->CPU
Mbed TLS是一个开源、可移植、易于使用、代码可读性高的SSL库。可实现加密原语,X.509证书操作以及SSL / TLS和 DTLS 协议,它的代码占用空间小,非常适合用于嵌入式系统。
这是本科时的毕业设计,想着之后读研了,研究方向是机器学习了,可能不会这么再碰32或者51之类的板子了,就想趁着还没有忘记就来梳理一下,纪念陪伴了我两年的硬件朋友们,也作为一个足迹。
本文我们将回顾下FMC的知识,并给出Flash读写的接口设计和示例,这在设计升级程序时十分重要。
科技进步不断推动新产品的出现,越来越多的电子产品开始着力解决社会焦点问题,随着城市发展以及人口流动性的增加,儿童户外被拐,老人外出走丢,交通工具被盗和大型物件丢失等问题变样严重起来,因此,为了更好地利用现代科学技术解决社会关注的问题。本文就设计出一款基于STM32的智能云端定位器。 主控芯片采用STM32F103C8T6,联网模块采用SIM800C,云平台采用中国移动的OneNet平台。 STM32采集GPS定位数据之后,通过SIM800C将数据上传到OneNet平台进行实时显示。
完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547 第29章 STM32F429移植汇编定点FFT库(64点
完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547 第29章 STM32F407移植汇编定点FFT库(64点
建立一个STM32工程 前期准备:版本说明:MDK5.15,如果有更高的版本可使用高版本。 版本号可从 MDK软件的“Help–>About uVision”选项中查询到。
近年来,随着电子产品的发展,数字日程表这项应用在人们工作和生活中起到越来越重要的作用。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间,忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,遇上重要事务,一时的耽误可能酿成大祸。
手机APP: 采用QT设计,程序支持跨平台编译运行(Android、IOS、Windows、Linux都可以编译运行,对应平台上QT的环境搭建,之前博客已经发了文章讲解)
下图是之前文章中描述的0x34和0x00000034的CRC码计算过程,供想学习的同学一个参考。
上次介绍了一下建立基于固件库的工程模板,这次来介绍一下新建基于寄存器的工程模板,因为两者有许多相似之处,所以就简单介绍一下。
最近做STM32的远程升级,保存到Flash里面,用于记录更新状态的信息总是无故的清理掉
SDMMC接口的全称叫SD/SDIO MMC card host interface,SD/SDIO MMC 卡 主机接口,通俗的来说,就是这个接口支持SD卡,支持SDIO设备,支持MMC卡。
如果有的话,你很幸运哈哈,在对的时间遇到对的库,接下来 mculover666 带你一起手把手在裸机移植 SFUD。
领取专属 10元无门槛券
手把手带您无忧上云