这个小项目是来自参加电设时,老师发的STM32入门(进阶)任务,具体的要求如下:软件设计要求编写简单I/O程序,能用板上的4个基本按键控制10个LED灯的亮灭。(扩展要求:设计不同的流水灯或呼吸灯效果,并能用按键切换)编写显示模块的显示程序,能在显示屏上显示欢迎信息,欢迎信息包括学号姓名。(扩展要求:能模拟广告牌的文字滚动显示效果,并用按键控制滚动方向和速度)编写程序输出PWM波形(频率为100k
最近刚做完一个项目,基于STM32做的,使用到了物联网相关的技术,准备做个简单的经验分享和技术总结,即一些外设的使用方法和驱动代码,例如使用AT24C08作为EEPROM外部存储,使用IIC通信;使用ESP8266与阿里云服务器进行通信,用到的是Mqtt协议,(也有在考虑到安全性,换一个服务器,或者自己搭建一个,没这方面经验,有经验的各位也可以指点一下),以及串口通信涉及到的所有问题;定时器的使用
STM32的芯片架构 STM32芯片主要由内核和片上外设组成 以下图为例(我们所使用的STM32就属于Cortex-M系列) 芯片制造商得到CM3处理器内核的使用授权后,它们就可以把CM3内核用 在自己的硅片设计中,添加存储器,外设, I/O以及其它功能块。不同厂家设计出的单片机 会有不同的配置,包括存储器容量、类型、外设等都各具特色。(以stm32F103为例,就是属于ARMv7架构,corte
GPIOx_CRL(x=A~E) 地址偏移:端口配置的初始地址加上偏移地址就是该特殊寄存器的地址 GPIO通用输入输出8种工作模式 1.浮空输入模式: (1)当GPIOx_CRL或GPIOx_CRH寄存器的CNF[1:0]位设置为01,并且MODE[1:0]位设置为00时 (2)STM32复位之后默 ...
转载 2021-04-08 13:51:00
891阅读
2评论
前言众所周知,在32位单片机中,STM32占有重要市场份额,其社区活动频繁,网上相关资料也比较多,无论是学习入门,还是工作使用,都无疑是极好的选择,本节开始,我们将学习如何使用STM32,首先,我们使用HAL库搭建开发环境。一、基础知识1. STM32简介STM32是意法半导体公司的主打产品,意法半导体公司是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。意法半导体(ST)STM
一、SysTick基础简介:SysTick系统定时器是 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一次中断,以此循环往复。因为 SysTick 是属于 CM3 内核的外设,所以所有基于 CM3
转载 2024-05-16 14:20:13
528阅读
总线矩阵  上图为stm32f4的总线矩阵,其中主控总线有8条,被控总线有7条,主设备和从设备通过各自的总线两两相交连接,图中两条总线相交且为圆圈的地方,表示这两条总线对应的主设备可以访问从设备,如I总线(指令总线),只有跟 M0、M2和M6这三根被控总线交叉的时候才有圆圈,就表示I总线只能跟这三根被控总线通信,这样就可以知道stm32f4的启动有三种分别是FLASH、内部SRAM、外部存储FSM
本文讲述的是如何从零开始,使用keil建立一个简单的STM32的工程,并闪烁LED灯,给小白看。第零步,当然首先你得有一个STM32的板子,其IO口上接了一个LED。。。第一步,建立一个文件夹0.0第二步,打开keil,建立工程在弹出来的对话框中选择你所用的STM32的芯片。在接下来弹出来的对话框中选择是,这样keil就帮我们建立好了启动文件。 第三步,新建一个main.c文件,并添加到
转载 2023-06-19 15:27:24
969阅读
stm32在freertos系统下使用串口DMA接收方式对接freemodbus-rtu协议栈 文章目录stm32在freertos系统下使用串口DMA接收方式对接freemodbus-rtu协议栈前言码农工程师,人狠话不多,大家多看图和代码!!!一、准备工作cubemx配置dma初始化的一个注意点二、拆解freemodbus1.porttimer.c文件不再使用(不使用定时器判断接收完成),接口
转载 2024-03-17 00:43:12
1176阅读
1点赞
1评论
一、设计内容1、 已有材料:STM32小车相关硬件 2、 开发工具:Keil uVision5 3、 资料:相关硬件说明书、指导老师提供的部分基础工程代码及教学视频 4、 实现功能:小车基本动作控制驱动、小车调速控制、蓝牙实现小车遥控、小车的自动避障(超声波+红外线)、小车的循迹功能二、芯片引脚介绍三、开发环境配置1) 安装MDK——keil5.28 ① 下载md528a.exe ② Custom
转载 2023-10-23 23:36:06
410阅读
STM32:嵌入式开发的强大选择在嵌入式系统开发领域,STMicroelectronics推出的STM32系列微控制器凭借其出色的性能和丰富的功能,已成为工程师们的首选之一。作为基于ARM Cortex-M内核的32位微控制器,STM32系列提供了从入门级到高性能的完整产品线,满足各种应用场景的需求。强大的硬件特性STM32系列最显著的特点是它的多样性。从低功耗的STM32L系列到高性能的STM3
STM32 SPI协议简介STM32是ST公司推出的一款基于ARM Cortex-M内核的32位微控制器,具有高性能、低功耗、易扩展等特点。其中,SPI(Serial Peripheral Interface)是STM32中常用的通信协议之一。SPI协议概述SPI协议是一种同步的串行通信协议,由一个主设备和一个或多个从设备组成。主设备通过时钟信号控制数据传输,从设备在时钟信号的作用下接收或发送数据
原创 2023-06-19 18:12:17
869阅读
如何理解ARM、STM32、51单片机,Intel之间的关系?  1、STM32是使用了ARM核的MCU; 2、其实除了STM32,ARM核的使用范围很广,TI与Freescale也有使用ARM核的MCU与SOC。我们通常把使用ARM核作为核心运算功能的片上系统叫做ARM芯片,于是对ARM芯片的开发,就是题主所说的ARM编程。 4、由于ARM芯片在使用上其实大同小异,同时STM32芯片推
转载 2023-06-04 21:48:52
343阅读
在各类通信中,常使用memcpy将接收到的字节数组(如:unsigned char buffer[100]),直接复制到结构体当中,无须解码,直接使用结构体中的变量就完事了。但,使用MDK5作为IDE, 对STM32芯片进行编程完成类似操作时,确并不如意。相关代码如下:// 如果有一些似曾相识的感觉,那应该是上一篇讲STM32用中断实现串口通信的文章 #include "usermain.h" #
转载 2024-05-07 22:01:01
1109阅读
      STM32是指令和数据共用相同的地址空间,即程序存储器、数据存储器、寄存器和I/O端口在一个4GB的线性地址空间内。数据字节以小端格式存放在存储器中,一个字的最低地址字节被认为是该字的最低有效字节,而最高地址字节是最高有效字节。一、STM32存储器架构      4G的地址空间即地址编码的范围,编码就是对每一个程序存储、数据存
转载 2023-07-16 19:56:19
769阅读
1.引言本人购买了一个ESP8266的WiFi模块,想做一个物联网控制小灯的demo。 本文记录了基于机智云平台,移植代码,实现物联网小灯详细操作步骤。并不是移植步骤很麻烦, 只是文章真的写的极其详尽了 文章目录1.引言2.准备材料2.1硬件准备2.1.1.ESP8266模块2.1.2.单片机及杜邦线等2.2 外设接线说明2.2.1.ESP8266接线2.2.2.其他外设接线2.3.软件准备2.
转载 2024-05-08 11:48:55
1744阅读
背景在使用PyTorch深度学习框架的时候,不管是训练还是测试,代码中引入PyTorch的第一句总是: import torch 在Gemfield前述专栏文章里,我们已经得知,torch/csrc/stub.cpp链接libshm.so、libtorch_python.so、libcaffe2_gpu.so生成了_C.cpython-37m-x86_64-linux-gnu.s
韦东山 数码相框 项目学习(三)freetype的移植要把freetype移植到STM32MP157上,我们主要完成四步源码下载解压配置、编译对应文件复制到对应目录一、源码下载解压源码的下载可以进入去https://freetype.org/这个网址进行下载,本次移植我们使用的是2.4.10版本,然后将下载下来的压缩包上传到服务器。然后执行tar -jxvf freetype-2.4.10.tar
简介IAP(In Application Programming)即在应用编程, IAP 是用户自己的程序在运行过程中对User Flash 的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。通常实现 IAP 功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信方式(
转载 2024-05-03 13:40:25
176阅读
模拟IICIIC协议GPIO配置根据时序图完成代码起始与停止信号等待应答读写字节检查设备是否连接 IIC协议I2C 通讯协议(Inter-Integrated Circuit)是由Phiilps公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要USART、 CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。它是一个支持多设备的总线。“总线”指多个设备共
转载 2024-03-20 14:56:28
178阅读
  • 1
  • 2
  • 3
  • 4
  • 5