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
转载
2024-07-22 15:36:44
182阅读
IIC简介 IIC物理层用软件模拟IIC时序一、空闲状态(初始化):SCL 和SDA都保持高电平二、开始信号 :SCL为高电平期间,SDA由高电平变为低电平。三、
STM32F103C8T6的内部FLASH容量有64K,如果需要使用到内部FLASH来保存我们自定义的一些数据,则一般会选择存储后面的页,这里我使用的时第62和63页;代码实现如下:头文件:1 /************************************************************
2 * Copyright (C) 2021 , 伽椰子真可爱
3 * A
转载
2024-04-23 12:11:30
739阅读
开发板:野火指南者(STM32F103VE)STM32库版本:STM32F10x_StdPeriph_Lib_V3.5.0IDE:KEIL5(代码编写很不方便,只在编译的时候用到)代码编写工具:Source Insight 4.0(跟读代码、编写代码的最佳工具)使用到的串口:USART1使用到的I2C:I2C1EEPROM型号:AT24C02 硬件原理图: 1. 新建user_
转载
2024-04-26 19:44:44
606阅读
1.新建工程首先是新建工程选择左上角的File然后点击NewProject,或者直接使用快捷键Ctrl+N新建工程2.开发板型号的选择然后选择开发板型号,在Commercial Part Number处输入STM32F103C8T6 然后在下方会有选择 直接双击型号 就会进入配置界面3.配置修改PINout&Configuration(1)RCC修改首先点击左上角的System Core然
本文介绍如何使用STM32标准外设库的GPIO端口模拟SPI,本例程使用PA5、PA6和PA7模拟一路SPI。SPI有4种工作模式,模拟SPI使用模式0,即空闲时SCK为低电平,在奇数边沿采样。
本文介绍如何使用STM32标准外设库的GPIO端口模拟SPI,本例程使用PA5、PA6和PA7模拟一路SPI。SPI有4种工作模式,模拟SPI使用模式0,即空闲
I2C( Inter-Integrated Circuit)总线是由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。
原创
精选
2022-10-19 12:34:32
1115阅读
STM32 GPIO模拟多路I2C总线中阶操作I2C/IIC/2-WIRE(相同的总线不同的命名方式)访问时序的实现可以通过硬件功能模块的配置控制实现,也可以通过GPIO模拟时序实现。多路I2C设备的连接,如果每个I2C设备的地址不同,可以通过一路I2C总线连接各个设备,以发送协议的地址激活相应的I2C设备进行响应。对于I2C设备地址相同的多个设备,则需要用多路并行I2C进行访问,通常硬件功能模块
介绍本项目是利用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阅读
STM32CubeMX 真的不要太好用由于工作内容的变动,我已经很久没有正经的玩过单片机了,近期又要用它做个小玩意了,还是选 stm32 吧,外设库开发不要太方便,哈哈哈先去 stm32 社区逛了逛,发现了一个新字眼 STM32CubeMX,简单看了下,大概明白是个 ST 公司新推出的一个配置工具,直接由图形界面简单配置下,生成初始化代码,并对外设做了进一步的抽象,让开发人员更只专注应用的开发,挺
转载
2024-06-19 19:44:29
461阅读
2.STM32CubeMX使用教程参考:http://www.mculover666.cn/posts/578764034/下载芯片对应的HAL库在官网上好难找,发现有一个办法。1.打开STM32CubeMX,菜单Help 里面”Manage embedded software packages“2.选择对应芯片包,点击 安装3.查看安装的包存取的位置。点击安装好的包,卸载,跳出对话框可以看出包的
转载
2021-08-06 16:27:00
485阅读
注:本文档仅针对GD32E103/F303系列替代STM32F103系列明:GD32E103/GD32F10x/GD32F30x都是和STM32F10x系列是完全PIN TO PIN兼容的,因此GD32F30x系列不是完全和STM32F30X系列兼容的。GD32F103是GD早期的产品,GD32E103和GD32F303是对GD32F103的升级和优化,所以4者是兼容的,虽然内核不同,但是通用外设
Ⅰ、写在前面相信很多人都知道STM32CubeMX这个工具,也是近年来开发STM32比较流行的一个工具。这个工具从两年前第一版到现在已经有多个版本了,功能也从简单越来越强大了。 是一个配置STM32代码的工具,它把很多东西封装的比较好,硬件抽象层、中间层、示例代码等。 现在ST公司升级和维护的库主要就是STM32CubeMX的HAL库和标准外设库,使用这两种库开发STM3
GUI Guider设计UI界面移植到STM32一、什么是GUI Guider什么是 GUI-Guider? GUI Guider 是恩智浦为 LVGL 开发了一个上位机GUI 设计工具,可以通过拖放控件的方式设计 LVGL GUI 页面,加速 GUI 的设计。 设计完成的 GUI 页面可以在 PC 上仿真运行,预览自己设计的UI界面。确认设计完毕之后可以生成 C 代码,再整合到 MCU 项目中。
之前裸机emWin成功了,接下来尝试CubeMx FreeRTOS emWin,又遇到三个坑。先说第一个坑:我直接再之前裸机的工程上增加FreeRTOS,结果生成程序后,编译报一大堆错误,分析了一下错误实在是无从下手,因此怀疑CubeMx有问题,因此我就将Keil工程文件夹全部删除,再重新生成。再次编译情况好转,但是还是不少错误。这是第二个坑!第二个坑:CubeMx配置FreeRTOS选项中有2个
目录前言示例CubeMonitor基础设置导出为csv文件Matlab画图参考文献 前言STM开发小白一枚,最近调试程序需要在程序运行中实时监控变量的值,并且需要把他导出。找资料时发现中文教程比较少,于是便记录一下具体过程。步骤其实都是参考官方手册的,英文好的可以直接去看(详见最后链接),说的很详细。示例示例中需要监控的变量为电机的实际速度以及目标指令速度。CubeMonitor基础设置安装之后
目录一、创建项目1.新建工程2.添加main.c和Func.s3.编写代码二、C语言调用汇编1.无参数调用2.有参数调用三、汇编语言调用C函数四、参考文献 一、创建项目1.新建工程新建一个工程,步骤可以参考Keil环境下完成一个基于STM32汇编程序的编写,芯片选择STM32F103VE 新建工程完成如下:2.添加main.c和Func.s右击 Source Group 1 ,点击 Add Ne
转载
2024-10-14 14:17:54
475阅读
1.输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32的定时器,除了TIM6和TIM7,其他定时器都有输入捕获功能。STM32的输入捕获,简单的说就是通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存(TIMx_CCRx)里面,完成一次捕获。同时还可以配置捕获时是否触发中断/DMA 等.2