1. 硬件连接1.1 从设备端引脚连接1.2 mcu端引脚连接2. iic初始化1 #include "delay.h" 2 3 #define IIC_SCL PBout(8) //SCL(输出) 4 #define IIC_SDA PBout(9) //SDA(输出) 5 #define IIC_SDA_R PBin(9) //SDA(输入) 6 7 vo
STM32F103C8T6的内部FLASH容量有64K,如果需要使用到内部FLASH来保存我们自定义的一些数据,则一般会选择存储后面的页,这里我使用的时第62和63页;代码实现如下:头文件:1 /************************************************************ 2 * Copyright (C) 2021 , 伽椰子真可爱 3 * A
转载 6月前
393阅读
开发板:野火指南者(STM32F103VE)STM32库版本:STM32F10x_StdPeriph_Lib_V3.5.0IDE:KEIL5(代码编写很不方便,只在编译的时候用到)代码编写工具:Source Insight 4.0(跟读代码、编写代码的最佳工具)使用到的串口:USART1使用到的I2C:I2C1EEPROM型号:AT24C02 硬件原理图: 1. 新建user_
转载 6月前
200阅读
I2C( Inter-Integrated Circuit)总线是由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。
原创 精选 2022-10-19 12:34:32
957阅读
介绍本项目是利用GPIO模拟I2C的从机网上常见的是模拟I2C主机本项目是作为一个两个单片机之间低速通信的用法从机功能实现I2C从机端读写寄存器编程思路I2C的从机实现比起主机来麻烦一些因为SCL的时序是由主机发送,从机需要响应注意:整个过程不考虑应答码思路是检测SCL与SDA的边沿(上升沿和下降沿)中断在SDA的边沿检测SCL的电平,如果SCL为高电平,则根据协议开始(SDA上升沿),或结束(S
STM32CubeMX 真的不要太好用由于工作内容的变动,我已经很久没有正经的玩过单片机了,近期又要用它做个小玩意了,还是选 stm32 吧,外设库开发不要太方便,哈哈哈先去 stm32 社区逛了逛,发现了一个新字眼 STM32CubeMX,简单看了下,大概明白是个 ST 公司新推出的一个配置工具,直接由图形界面简单配置下,生成初始化代码,并对外设做了进一步的抽象,让开发人员更只专注应用的开发,挺
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
453阅读
(一)GPIO1.GPIO通用输入输出端口的简称。2.STM32的引脚分类电源管脚(VDD\VSS\VREF)晶振管脚(PH0\PH1)复位管脚(NRST)下载管脚BOOT管脚(下载模式切换,boot0、boot1)GPIO管脚STM32F407ZGT6数据手册中P44查看管脚功能3.GPIO的基本结构3.1.推挽和开漏(1)推挽输出输出控制为1或0时分别使P-MOS和N-MOS切换导通和关闭的状
  这个我实在网上找了好久找了一个可用的程序,大部分,你搜索编码器程序出来的都是电机的相关程序,而我要的是旋钮式的,PEC11-4020F-S0018型号的编码器。  这个代码写得挺完善的,就是没有写主函数,因此调用问题上,还是费了好些神才弄出来,关键它里面的一些定义,我很久没有些程序,都不清楚了,如:typedef struct tagspin {     RotateStatus
文章目录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
2.STM32CubeMX使用教程参考:http://www.mculover666.cn/posts/578764034/下载芯片对应的HAL库在官网上好难找,发现有一个办法。1.打开STM32CubeMX,菜单Help 里面”Manage embedded software packages“2.选择对应芯片包,点击 安装3.查看安装的包存取的位置。点击安装好的包,卸载,跳出对话框可以看出包的
转载 2021-08-06 16:27:00
410阅读
目录一、创建项目1.新建工程2.添加main.c和Func.s3.编写代码二、C语言调用汇编1.无参数调用2.有参数调用三、汇编语言调用C函数四、参考文献 一、创建项目1.新建工程新建一个工程,步骤可以参考Keil环境下完成一个基于STM32汇编程序的编写,芯片选择STM32F103VE 新建工程完成如下:2.添加main.c和Func.s右击 Source Group 1 ,点击 Add Ne
之前裸机emWin成功了,接下来尝试CubeMx FreeRTOS emWin,又遇到三个坑。先说第一个坑:我直接再之前裸机的工程上增加FreeRTOS,结果生成程序后,编译报一大堆错误,分析了一下错误实在是无从下手,因此怀疑CubeMx有问题,因此我就将Keil工程文件夹全部删除,再重新生成。再次编译情况好转,但是还是不少错误。这是第二个坑!第二个坑:CubeMx配置FreeRTOS选项中有2个
网络小说千千万,多数书虫看小说,都会找排行榜上面的热门小说来阅读。但是,很多老书虫也感觉排行榜上的热门小说不符合自己的胃口,反而一些冷门小说更有吸引力。因此,老书虫的口碑也成为一些朋友挑选小说的重要渠道。我是真游泳的猫,一个看小说20年的老书虫。很多朋友都喜欢从我的文章找小说看,感谢大家的喜爱和信赖。今天我给大家强推强推3本冷门网络小说,水平优秀却不火,真让粉丝鸣不平。书荒的朋友不妨试试这些小说呢
开发环境STM32CUBMX正点原子STM32F407ZGT6探索者开发板MDK-ARM 5.31第一种方式:直接接收配置外部时钟源 2.配置时钟树 3.配置串口一 生产代码后进入工程重定向printf到串口1(建议在usart.c里重定向) 重定向代码块int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */
0、系列目录STM32 软件模拟IICSTM32 使用DMP库处理MPU6050数据STM32 MPU6050与匿名上位机通讯(V2.6版)1、IIC通讯过程SCL和SDA在空闲时候均为高电平。 MCU接收到通讯命令后,首先广播从机地址(例:MPU6050地址为0x68,0x69)+读/写操作,从机收到后产生应答,随后开始SCL强制拉低,开始传送一字节数据 ①收到应答信号后,继续传送第二个字节……
定时器的用法很多:1、作为32bits时基(替代24bits的systick寄存器)。也即仅读取定频自增的TIMx->CNT2、定时中断3、跳边沿计数4、捕获跳边沿时刻5、输出PWM(也叫:比较输出)6、等等以编程中最常见的定时中断为例首先配置时钟树:定时器的时钟来自于内部的PLL分频->AHB->APB1或2(到底是APB1还是2,需要查手册,或者源码中的宏,如下图可见,2/3
26.3.1  模式选择该外设可以在以下四种模式之一1)从机发送模式2)从机接收模式3)主机发送模式4)主机接收模式 IIC协议时序 MSB:Most Significant Bit(最高有效位)起始条件:SCL为高电平状态,SDA从高电平拉低 停止条件:SCL为高电平状态,SDA从低电平拉高数据发送的顺序:先发送高位 I2C模块图 &n
STM32CubeMX系列教程整理了一下,放在一起方便大家查看。有什么不对的地方,也欢迎大家指正。【教程】
原创 2022-10-17 10:54:55
676阅读
文章目录:目录一、FLASH的相关背景知识二、FLASH的相关操作。三、项目中遇到的关于FLASH操作的问题。 一、FLASH的相关背景知识STM32的存储器分为RAM 和 ROM。RAM为常说的内存。比如手机的内存2G 4G等等。是程序跑起来时占用的存储空间。特点是掉电数据易丢失。ROM为常说的硬盘。比如手机的128G存储空间。特点是掉电数据不容易丢失。在STM32中FLASH 和 E
  • 1
  • 2
  • 3
  • 4
  • 5