目录一、cubeIDE 集成cubeMX二、STM32CubeMX界面简介        2.1 总界面及支持功能       【1】 功能页面         【2】支持配置的功能栏目&n            
                
         
            
            
            
               延时是一个很重要的概念,尤其是在利用单片机做项目的时候,比如利用IIC协议驱动EEPROM时,需要用到精准延时,延时时间太短或者延时时间太长都会影响到数据的写入和读出。因此正确写好延时对我们在学习单片机和利用单片机做项目时会有事半功倍的效果。      本文中实现延时用的是stm32f407系列单片机的定时器3,但不仅仅是定时器3,Syst            
                
         
            
            
            
            一文弄通STM32F103基于simulink自动代码生成CAN/USART/GPIO/TIM(stm32cubemx+stm32target+matlab2018b)写在前面1、stm32cubemx的配置1.1选择芯片型号1.2配置时钟1.3 配置时钟树1.4 配置下载模式1.5 TIM中断配置1.6 通讯配置CAN配置USART配置1.7 GPIO配置1.8 工程配置2、搭建simulin            
                
         
            
            
            
            一、I2C简介I2C(Inter-Integrated Circuit ,内部集成电路) 总线是一种由飞利浦 Philip 公司开发的串行总线。是两条串行的总线,它由一根数据线(SDA)和一根 时钟线(SCL)组成。I2C 总线上可以接多个 I2C 设备,每个器件都有一个唯一的地址识别。同一时间只能有一个主设备,其他为从设备。通常 MCU 作为主设备控制,外设作为从设备。STM32 的 I2C 外            
                
         
            
            
            
            前面说了USB鼠标,这次趁热打铁,说一下USB键盘。依然只说如何修改,不说背后的原理。原因你懂的,涉及的知识点太多了。会不会写成USB三部曲?    不知道猜猜我下一步再写个啥?1 生成工程首先,STM32CubeMX的配置部分不说了,和USB鼠标部分的一样。唯一需要注意的一点是,VID和PID这两个值要改一下,否则主机(也就是电脑)会以为你还是            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-12 23:08:45
                            
                                142阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            I2C简介I2C 通讯协议 (Inter - Integrated Circuit) 是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单, 可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多 个集成电路 (IC) 间的通讯。软件模拟PK硬件虽然说STM32是有I2C集成芯片的,但是目前来说是存在很大问题,多用几次就能明显的感觉出来,很容易出现玄学            
                
         
            
            
            
            介绍本项目是利用GPIO模拟I2C的从机网上常见的是模拟I2C主机本项目是作为一个两个单片机之间低速通信的用法从机功能实现I2C从机端读写寄存器编程思路I2C的从机实现比起主机来麻烦一些因为SCL的时序是由主机发送,从机需要响应注意:整个过程不考虑应答码思路是检测SCL与SDA的边沿(上升沿和下降沿)中断在SDA的边沿检测SCL的电平,如果SCL为高电平,则根据协议开始(SDA上升沿),或结束(S            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-12 12:12:43
                            
                                1258阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            2018/5/271.iic介绍:iic (Inter_Integrated Circuit)集成电路总线,是一种二线制的同步串行总线,一共有着SCL(时钟线)和SDA(数据线)2.配置步骤:<1>:iic的初始化按照对GPIO口的设置来配置iic相关的端口(这里以Stm32F103rc为例)注:可以使用定义的方法先定义相应端口//IO方向设置
#define SDA_IN()  {G            
                
         
            
            
            
            STM32 GPIO模拟多路I2C总线中阶操作I2C/IIC/2-WIRE(相同的总线不同的命名方式)访问时序的实现可以通过硬件功能模块的配置控制实现,也可以通过GPIO模拟时序实现。多路I2C设备的连接,如果每个I2C设备的地址不同,可以通过一路I2C总线连接各个设备,以发送协议的地址激活相应的I2C设备进行响应。对于I2C设备地址相同的多个设备,则需要用多路并行I2C进行访问,通常硬件功能模块            
                
         
            
            
            
            目录一、IIC协议操作MPU9250寄存器函数二、MPU9250的操作(举例)1、设置寄存器方法2、读取寄存器方法三、MPU9250简单数据读取流程1、初始化2、读取各传感器数据函数3、使用一、IIC协议操作MPU9250寄存器函数#define MPU9250Addr 	0xd0
/********************************************************            
                
         
            
            
            
            一,基础知识1,通道组ADC有两组通道:STM32 将 ADC 的转换分为 2 个通道组:规则通道组和注入通道组。规则通道相当于你正常运行的程序,而注入通道呢,就相当于中断。在你程序正常执行的时候,中断是可以打断你的执行的。同这个类似,注入通道的转换可以打断规则通道的转换, 在注入通道被转换完成之后,规则通道才得以继续转换。  ● 规则组由多达16个转换组成。规则通道和它们的转换顺序在ADC_SQ            
                
         
            
            
            
            第一:STM32 I/O 口的配置1-.1:I/O可以配置成8中不同的模式,输入四种:模拟输入,输入上拉,输入下拉,输入浮空; 输出四种:推挽输出,开漏输出,推挽式复用输出,开漏复用输出。 具体的配置如下表 新手看这个图 还是很懵的,CNF1/CNF0; MODE1/MODE0;PxODR寄存器这些是什么?答案是:控制I/O的寄存器。第二:STM32 I/O口寄存器STM32 每个I/O 都由7个            
                
         
            
            
            
            stm32cubemx实现模拟IIC https://blog.csdn.net/qq_45467083/article/details/109433847上面的代码只是iic的基础功能,这里增加了对一些地址读写寄存器的函数封装。#ifndef __IOI2C_H#define __IOI2C_H#include "main.h"typedef uint8_t u8;typedef uint32_t u32;#define SDA_GROUP		GPIOB#define SDA_PIN            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-06-08 14:40:57
                            
                                528阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录1、综述2、DMA事务3、通道选择4、仲裁器5、DMA数据流6、源、目标和传输模式6.1、外设到存储器模式6.2 存储器到外设模式6.3 存储器到存储器模式7、指针递增8、循环模式9、双缓冲模式10、可编程数据宽度、封装/解封、字节顺序11、单次传输和突发传输12、FIFO13、DMA传输完成14、DMA传输暂停15、流控制器16、流配置过程17、中断18、代码配置本文是根据STM32F207            
                
         
            
            
            
            0、系列目录STM32 软件模拟IICSTM32 使用DMP库处理MPU6050数据STM32 MPU6050与匿名上位机通讯(V2.6版)1、IIC通讯过程SCL和SDA在空闲时候均为高电平。 MCU接收到通讯命令后,首先广播从机地址(例:MPU6050地址为0x68,0x69)+读/写操作,从机收到后产生应答,随后开始SCL强制拉低,开始传送一字节数据 ①收到应答信号后,继续传送第二个字节……            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-08 09:57:12
                            
                                990阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1. 问题描述按以下方式使用CubeMX配置STM32F103C8T6的CAN总线后,发送数据正常,接收则一直无法进入接收中断,先记录该问题于此,如日后解决会更新该文章。如有前辈在看过我的代码后能够发现我的问题,也很欢迎在评论区加以指正,感激不尽。2.CAN配置CubeMX CAN波特率配置 波特率配置为1Mhz,系统时钟为64M,APB1则为32M。CAN其他配置NVIC配置生成代码后打开源代码            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-29 08:17:44
                            
                                765阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            I2C( Inter-Integrated Circuit)总线是由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                            精选
                                                        
                            2022-10-19 12:34:32
                            
                                1115阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            STM32 HAL库SPI+DMA接收数据的配置和使用方法材料 材料STM32F767stm32CodeMX第一次使用HAL库做SPI+DMA的接收实验,一开始做的时候网上没有多少资料,踩了一些坑,也是第一次写博客,分享一下自己的经历,让网友少踩一些坑。在使用SPI+DMA的时候,由于SPI协议的特性,主机(stm32)需要产生SCK并且同时接收和发送数据,所以配置DMA的时候,不能只配置SPI            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-18 11:34:04
                            
                                2186阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            STM32串口收发数据方式总结2021-5-3更新重新梳理了一下,并用代码一一实现:(HAL库)大致三种方式:阻塞、中断、DMA//-----串口收发方式测试------------------------------------------------------------------------------------------------------------------            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-11 20:15:14
                            
                                102阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             1.首先说下printf函数如下图所示,该方法是重定义fputc函数,让他变成向上位机发送数据,发送的数据会通过串口调试助手打印出来。#if 1
#pragma import(__use_no_semihosting)
//标准库需要的支持函数
struct __FILE
{
    int handle;
};
FILE __stdout;
//定义_sys_exit()以避免使