一文弄通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
前面说了USB鼠标,这次趁热打铁,说一下USB键盘。依然只说如何修改,不说背后的原理。原因你懂的,涉及的知识点太多了。会不会写成USB三部曲? 不知道猜猜我下一步再写个啥?1 生成工程首先,STM32CubeMX的配置部分不说了,和USB鼠标部分的一样。唯一需要注意的一点是,VID和PID这两个值要改一下,否则主机(也就是电脑)会以为你还是
转载
2024-09-12 23:08:45
142阅读
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
/********************************************************
目录一、cubeIDE 集成cubeMX二、STM32CubeMX界面简介 2.1 总界面及支持功能 【1】 功能页面 【2】支持配置的功能栏目&n
延时是一个很重要的概念,尤其是在利用单片机做项目的时候,比如利用IIC协议驱动EEPROM时,需要用到精准延时,延时时间太短或者延时时间太长都会影响到数据的写入和读出。因此正确写好延时对我们在学习单片机和利用单片机做项目时会有事半功倍的效果。 本文中实现延时用的是stm32f407系列单片机的定时器3,但不仅仅是定时器3,Syst
一、I2C简介I2C(Inter-Integrated Circuit ,内部集成电路) 总线是一种由飞利浦 Philip 公司开发的串行总线。是两条串行的总线,它由一根数据线(SDA)和一根 时钟线(SCL)组成。I2C 总线上可以接多个 I2C 设备,每个器件都有一个唯一的地址识别。同一时间只能有一个主设备,其他为从设备。通常 MCU 作为主设备控制,外设作为从设备。STM32 的 I2C 外
第一:STM32 I/O 口的配置1-.1:I/O可以配置成8中不同的模式,输入四种:模拟输入,输入上拉,输入下拉,输入浮空; 输出四种:推挽输出,开漏输出,推挽式复用输出,开漏复用输出。 具体的配置如下表 新手看这个图 还是很懵的,CNF1/CNF0; MODE1/MODE0;PxODR寄存器这些是什么?答案是:控制I/O的寄存器。第二:STM32 I/O口寄存器STM32 每个I/O 都由7个
一,基础知识1,通道组ADC有两组通道:STM32 将 ADC 的转换分为 2 个通道组:规则通道组和注入通道组。规则通道相当于你正常运行的程序,而注入通道呢,就相当于中断。在你程序正常执行的时候,中断是可以打断你的执行的。同这个类似,注入通道的转换可以打断规则通道的转换, 在注入通道被转换完成之后,规则通道才得以继续转换。 ● 规则组由多达16个转换组成。规则通道和它们的转换顺序在ADC_SQ
目录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
1. 问题描述按以下方式使用CubeMX配置STM32F103C8T6的CAN总线后,发送数据正常,接收则一直无法进入接收中断,先记录该问题于此,如日后解决会更新该文章。如有前辈在看过我的代码后能够发现我的问题,也很欢迎在评论区加以指正,感激不尽。2.CAN配置CubeMX CAN波特率配置 波特率配置为1Mhz,系统时钟为64M,APB1则为32M。CAN其他配置NVIC配置生成代码后打开源代码
转载
2024-06-29 08:17:44
756阅读
介绍本项目是利用GPIO模拟I2C的从机网上常见的是模拟I2C主机本项目是作为一个两个单片机之间低速通信的用法从机功能实现I2C从机端读写寄存器编程思路I2C的从机实现比起主机来麻烦一些因为SCL的时序是由主机发送,从机需要响应注意:整个过程不考虑应答码思路是检测SCL与SDA的边沿(上升沿和下降沿)中断在SDA的边沿检测SCL的电平,如果SCL为高电平,则根据协议开始(SDA上升沿),或结束(S
转载
2024-10-12 12:12:43
1255阅读
I2C简介I2C 通讯协议 (Inter - Integrated Circuit) 是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单, 可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多 个集成电路 (IC) 间的通讯。软件模拟PK硬件虽然说STM32是有I2C集成芯片的,但是目前来说是存在很大问题,多用几次就能明显的感觉出来,很容易出现玄学
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阅读
0、系列目录STM32 软件模拟IICSTM32 使用DMP库处理MPU6050数据STM32 MPU6050与匿名上位机通讯(V2.6版)1、IIC通讯过程SCL和SDA在空闲时候均为高电平。 MCU接收到通讯命令后,首先广播从机地址(例:MPU6050地址为0x68,0x69)+读/写操作,从机收到后产生应答,随后开始SCL强制拉低,开始传送一字节数据 ①收到应答信号后,继续传送第二个字节……
转载
2024-07-08 09:57:12
985阅读
Ⅰ、写在前面 学习本文之前可以查看我前面的文章: STM32CubeMX介绍、下载与安装 STM32CubeMX使用方法及功能介绍 本文接着上一篇文章结合基本IO配置实例,讲述关于STM32CubeMX新建工程的过程。最终通过STM32CubeMX工具配置完成一个驱动IO(点亮LED)的软件工程,也就是通过STM32CubeMX配置完成之后,打开工程直接下载就能点亮LED的工程。 &
I2C( Inter-Integrated Circuit)总线是由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。
原创
精选
2022-10-19 12:34:32
1115阅读
STM32的每个IO都可以作为外部中断输入。
STM32的中断控制器支持19个外部中断/事件请求:
线0~15:对应外部IO口的输入中断。
线16:连接到PVD输出。
线17:连接到RTC闹钟事件。
线18:连接到USB唤醒事件。每个外部中断线可以独立的配置触发方式(上升沿,下降沿或者双边沿触发),触发/屏蔽,专用的状态位。 从上面可以看出,STM32供IO使用的中断线只有16个,但是
(文章目录)
前言
本篇文章带大家简单的配置一下FreeRTOS
一、FreeRTOS介绍
在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统(RTOS)可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。下面我就带大家使用cuebMX配置一下RTOS。
二、cubeMX配置
1.单片机型号选择
2.sys配置
原创
2023-10-17 10:08:23
659阅读