推荐阅读最新更新时间:2024-11-12 18:28
STM32F103 CubeMX I2C
最近在做一个项目,由于实时性要求高所以想把串口通讯、I2C、SIP都通过DMA来完成。 先用CubeMx配置后生成工程,然后做串口DMA收发测试程序一切顺利,接下来搞了一天I2C,总是在不成功,逻辑分析仪上SDA、SCL只看到有一个脉冲,断点调试发现死锁在 while(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET); 几乎放弃。后来看到:https://www.cnblogs.com/jackweibe/p/6056821.html 终于找到问题所在。 测试EEPROM: 特别要注意:I2C的地址是8位还是16位,如果是8位: HAL_I2C_Mem_Wr
[单片机]
基于STM32F103单片机的汽车远程防盗系统方案
近几年,汽车偷盗案件越来越多,给人们带来巨大的经济损失。市场上随之出现了各种各样的汽车防盗器,本汽车防盗系统采用ST公司生产的STM32F103R6T6(以下简称STM32F103)单片机作为控制器,功能强大,实时性好。 1 系统结构与功能 汽车远程防盗系统是基于现代无线通信技术设计的,可以不受距离的约束,将汽车的状态信息直接发送到车主手机,进行一对一防盗报警,汽车远程防盗系统的结构如图1所示。 汽车防盗系统的信息采集模块包括人体感应传感器、振动传感器等,用来采集汽车警情信息。传感器将采集到警情信息,传送给微处理器处理,微处理器开始执行报警程序。首先,发送短信到车主手机;然后,报警器根据不同的警情进
[单片机]
STM32F103C8T6通过MAX31865读取PT100电阻值
1.MAX31865 (1)简介 MAX31865是简单易用的热敏电阻至数字输出转换器,优化用于铂电阻温度检测器(RTD)。外部电阻设置RTD灵敏度,高精度Δ- Σ ADC将RTD电阻与基准电阻之比转换为数字输出。MAX31865输入具有高达±45V的过压保护,提供可配置的RTD及电缆开路、短路条件检测。 (2)特点和优点 集成更低系统功耗,简化设计,减少设计周期: 简便的RTD铂电阻之数字转换器; 支持100Ω至1kΩ (0°C时)铂电阻RTD (PT100至PT1000); 兼容于2线、3线和4线传感器连接; SPI兼容接口; 20引脚TQFN和SSOP封装; 高精度设备满足误差预算: 15位ADC分辨率,标称温度分辨率为0.
[单片机]
stm32f103 GPIO—— 一灯大师之库函数版
在使用库函数之前,我们先来看GPIO寄存器的结构体 该结构体中的成员,包含了引脚,输出速度,输出模式。我们可以使用这个结构体来对I/O口进行配置。 GPIO_InitTypeDef GPIO_InitStruct; //定义一个结构体,用来需要配置的寄存器信息 void LED_Config(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6; //配置的引脚为Pin6引脚 GPIO_InitStruct.GPIO_Speed =
[单片机]
C8051F340串口通信程序(UART0)
UART0 是一个异步、全双工串口,它提供标准 8051 串行口的方式 1 和方式 3。UART0 具有增强的波特率发生器电路,有多个时钟源可用于产生标准波特率(详见 18.1 增强波特 率发生器 )。接收数据缓冲机制允许 UART0 在软件尚未读取前一个数据字节的情况下开始接 收第二个输入数据字节。 UART0 有两个相关的特殊功能寄存器:串行控制寄存器(SCON0)和串行数据缓冲器 (SBUF0)。用同一个 SBUF0 地址可以访问发送寄存器和接收寄存器。写 SBUF0时自动访问 发送寄存器;读 SBUF0时自动访问接收寄存器,不可能从发送数据寄存器中读数据。 如果 UART0 中断被允许,则每次发送完成(SCON0
[单片机]
STM32F103C8T 学习 - 环境配置
一、搭建开发环境需要的文件 ST库:https://pan.baidu.com/s/1Nt5SCaaZZ2RjLcYtT7UApg ST-Link v2驱动及 Keil4 开发工具 :https://pan.baidu.com/s/1ibcL8XlMVW-oW7qA9rtp0w 1、首先我们需要一个ST库 ST的官网经常改变,就不放置路径了,毕竟过一段时间也会出错,大家除了在官网找也可以在网上找人家分享的资源,网上也有很多人分享。如果你是用库函数开发的话,则必须要有一个ST库,在找的时候要注意找对应的MCU系列ST库 2、安装MDK软件 MDK的安装很简单,直接下一步最后完成再破解就可以了,大家安装MDK软件时需要注意
[单片机]
STM32F103程序设计-4-如何制作模板例程文件
如何制作模板例程文件,主要有以下四步: 1.从官方下载的例程中复制一些有用的文件 2.对一些文件进行一些修改 3.添加路径 4.修改两个参数 具体步骤: 1.新建一个文件夹,把Libraries文件夹拷贝过来。新建main文件夹,拷贝官方例程中的STM32F10x_StdPeriph_Template文件夹下的4个文件过来 2.keil5新建一个工程 AddGroup的方法在工作组中建立三个组,并将Libraries、main文件夹中的相应文件对应拷贝到三个工作组中。 3.为上述三个工作组中的文件添加文件所处的路径 4.修改两个参数 5.对main.c进行修改,修改到最简
[单片机]
STM32F103与MCGS的通讯
将前两篇博文合并,可使得STM32F103与MCGS互相通讯,使用Modbus协议。 触摸屏中: 输入框关联一个数值型对象 该数值型对象在设备通道处是只写4WUB0000 在输入框中可以选择想要发送的数值 例如:发送数值2 STM32F1中: 接收到触摸屏发送过来的数据 对数据进行解析,参考之前的博文(Atmage16中使用Modbus协议) 获得数值2,点亮LED3 while(1){ scan_mes(&Commd); if(Commd) { if(Commd==1) { led3=1; } if(Commd==2) { led3=0; } } }
[单片机]