STM32F407 —— 硬件 I2C 驱动的步骤与应用一、I2C相关知识1、物理层(1) 定义(2) 通信方式2、协议层(1) 空闲状态(2) 起始信号与停止信号的定义(3) 应答信号(4) 数据传输(5) 数据有效性3、I2C 基本读写过程(1) 主机写数据到从机(2) 主机读从机数据二、实战应用1、I2C 驱动 4线 0.96寸 OLED 显示屏2、I2C 驱动 MS5837 压力传感器
 项目:温湿度表芯片:STM32F030C6T8液晶:华迪1.54寸 TFT屏温湿度传感器:SHT30     主要对液晶屏官方驱动代码进行了增加和修改。一、STM32CubeMX建立工程        I2C1 给SHT30, SPI给液晶屏,TIM16用于内部基础定时,TIM
一、操作环境IDE:keil 5.25版本(或者更高版本)板子:STM32F767核心板(SDIO接口用于读写SD,片外32M的SDRAM,USB slave)二、BootLoader的的实现和作用在Linux操作系统中一般BootLoader用于引导内核启动,先多板上要用到的外设进行初始化,接着创建一个很小的文件系统,用于引导内核以及根文件系统。在STM32F4系列以及跟高的性能cpu中存在FM
嵌入式开发-STM32硬件SPI驱动TFT屏这次用到的TFT屏CubeMX设置代码编写增加的内容需要注意问题代码下载 这次用到的TFT屏现在的TFT屏幕已经很便宜了,65536色屏幕,2.8英寸,分辨率320X240的液晶屏才20元,我为了图省事,多配了一个转接板12元,共32元包邮到家,真是香。 上面这个是这次用到的2.8寸TFT屏幕(20元),下面的是0.96寸OLED屏(10元),可见尺寸
嵌入式应用程序的开发可以基于微控制器厂商提供的驱动程序库,也可以针对外设寄存器直接编写驱动程序。使用厂商提供的驱动程序库进行开发,简单、快捷,兼容性好,便于移植,但代码略多;直接针对寄存器编程进行开发(建议利用头文件stm32f10x.h定义的寄存器结构和位定义),费时耗力,但能够深入理解原理,代码简洁高效。所以,建议初学者从驱动程序库入手,逐渐深入到寄存器编程。MDK-ARM开发工具本身已经包含
STM32CubeMX 真的不要太好用由于工作内容的变动,我已经很久没有正经的玩过单片机了,近期又要用它做个小玩意了,还是选 stm32 吧,外设库开发不要太方便,哈哈哈先去 stm32 社区逛了逛,发现了一个新字眼 STM32CubeMX,简单看了下,大概明白是个 ST 公司新推出的一个配置工具,直接由图形界面简单配置下,生成初始化代码,并对外设做了进一步的抽象,让开发人员更只专注应用的开发,挺
转载 2024-06-19 19:44:29
461阅读
STM32CubeMx之SD卡驱动1.SD卡简介    SD存储卡(Secure Digital Memory Card)是一种基于半导体快闪存储器的新一代高速存储设备。SD存储卡的技术是从MMC卡(MultiMedia Card)格式上发展而来,在兼容SD存储卡基础上发展了SDIO(SD Input/ Output)卡,此兼容性包括机械,电子,电力,信号和软件,通常将SD、S
推荐 原创 2022-11-30 09:20:57
1383阅读
1点赞
关于sprintf()函数的用法 sprintf(),指的是字符串格式化函数,把格式化的数据写入某个字符串中。 int sprintf(char *string, char *format [,argument,…]);使用时需引入头文件 #include “stdio.h“【例】:有一个表示温度的整型变量tmp,现在要将其格式化为字符串“温度是:XX摄氏度”,并将其通过串口1发送出去。#inc
转载 6月前
116阅读
基于STM32的避障小车最近几天的学习了STM32输入捕获输入捕获的相关知识,为了巩固自己学习的知识特意制作一辆有三个超声波组成的4轮避障小车来加深对输入捕获的理解。1.输入捕获简介输入捕获模式可以用来测量脉冲宽度或者测量频率。 我们以测量脉宽为例,用一个简图来说明输入捕获的原理,如图 15.1.1 所示: 如图 15.1.1 所示,就是输入捕获测量高电平脉宽的原理,假定定时器工作在向上计数模式,
一、联网应用的发展趋势随着互联网技术的普及和物联网应用的兴起,各种设备和系统开始向互联网靠拢,实现互联互通。在这样的背景下,嵌入式系统的联网需求变得愈发迫切。传统的嵌入式系统往往只需实现单机功能,与外界通信的方式也大多是基于串口通信或者局域网通信,而现在越来越多的嵌入式系统需要实现与互联网的通信,实现远程监控、数据采集、远程升级等功能。因此,对于嵌入式开发者来说,如何在STM32等常见的嵌入式开发
STM32CubeMX 窗口及工具介绍1 前言1.1 STM32CubeMX1.2 准备工作2 STM32CubeMX 窗口介绍3 STM32PackCreator 工具介绍4 结束附录 相关教程 1 前言1.1 STM32CubeMX 图1 STM32CubeMX(点击图片进入 ST 官网 STM32CubeMX 介绍页面) 1.2 准备工作    系统版本: Windows 10 专
  这个我实在网上找了好久找了一个可用的程序,大部分,你搜索编码器程序出来的都是电机的相关程序,而我要的是旋钮式的,PEC11-4020F-S0018型号的编码器。  这个代码写得挺完善的,就是没有写主函数,因此调用问题上,还是费了好些神才弄出来,关键它里面的一些定义,我很久没有些程序,都不清楚了,如:typedef struct tagspin {     RotateStatus
转载 2024-07-06 15:01:56
70阅读
  文章目录一、串口通信简介1.1 百度百科解释1.2 通信接口1.3 串口通信分类1.4 STM32串行通信的通信方式二、STM32的串口通信2.1 功能引脚2.2 数据寄存器2.3 控制器2.4 小数波特率生成三、总结 一、串口通信简介 1.1 百度百科解释来源百度百科 串行接口是一种可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并
工欲善其事必先利其器,作为stm32开发程序员来说,一般情况都会使用keil或者IAR来进行编辑编译调试单片机设备,这两款IDE界面及代码智能补全不是很友好。作为宇宙最强IDE,visual studio可以通过安装visual gdb来调试嵌入式设备,可以通过安装蕃茄助手来实现代码智能提示。st公司也推出了官方的IDE:stm32cubemxIDE。集成了TrueSTUDIO
注意:MDK系列安装步骤差别不大,方法相通,本文以MDK5.27安装为例。MDK527软件下载a. 云盘下载:链接: https://pan.baidu.com/s/1Fb5tJzc7FzeXt_w6um38_w 提取码: s1b5b. 官网下载(建议下载最新版本):http://www2.keil.com/mdk5 MDK527安装教程双击打开MDK527,点击Next &
转载的STM32 ADC多通道采集 程序代码存在部分错误,但思路可用 另外这个函数库应该是V2.0或V1.8的 可作为学习参考用 并推荐网址: (库函数配置说明讲得详细)STM32 ADC多通道转换 描述:用ADC连续采集11路模拟信号,并由DMA传输到内存。ADC配置为扫描并且连续转换模式,ADC的时钟配置为12MHZ。在每次转换结束后,由DMA循环将转换的数据传输到内存中。ADC可以连续采
在做最近的项目时,我发现一个这样的问题:对STM32中的IO进行配置(以对B系列下的PB10、PB13配置成输出模式为例),即使在配置参数一样的情况下,这两个IO输出能力还是有很大的差别。 情况一:如图焊接电路,两个IO口配置的是同样推挽模式,编写程序使得LED灯进行闪烁,我当时碰到的情况就是一个LED灯能够闪烁,另一个LED灯死活不闪。后来换成三极管驱动LED灯的方式,才解决这样的问题。由此可以
困扰我一天多时间的问题,RTC时间变慢!这个你肯定会说晶振有问题,起振电容不匹配等等!额其实我也这么认为!应用场景如下:低功耗项目需求,stm32L412CBUx芯片每次执行完动作后进入STOP模式,然后通过RTC闹钟唤醒再进行动作,这个顺序周而复始。但是每次动作记录下的数据时间却发现怪怪的,时间和手机标准时间慢了好多,运行20分钟慢了将近8分钟左右,那是多么恐怖!于是将其每次打印出来,果不出所料
 本例程采用的芯片是STM32F103RET6,其中CAN通信部分硬件电路连接如下图所示,CAN_P和CAN_N分别连接到芯片的PA11和PA12引脚上,PCB布线时,尽量走差分等长线。 STM32CubeMX配置如下: 时钟及下载方式根据个人的实际情况进行选择。CAN参数配置如下:模式选择回环模式,并打开RX0中断(接收中断)。时钟配置如下: 主要配置就这
文章目录1. 所用硬件2. 生成工程2.1. 创建工程选择主控2.2. 系统配置2.3. 配置工程目录2.4. 配置用到的外设3. ADC配置(四选一)3.1. 单通道轮询3.2. 单通道中断3.3. 多通道轮询3.4. DMA模式 1. 所用硬件正点原子Mini板,主控 STM32F103RCT6.用到的外设:串口1(PA9、PA10)任意几个GPIO口(这里用PA1、PA2、PA3,对应AD
转载 2024-08-24 19:18:47
367阅读
  • 1
  • 2
  • 3
  • 4
  • 5