草庐IT

stm32使用多串口不输出无反应的问题(usart1、usart2)

在使用stm32c8t6单片机时,由于需要使用两个串口usart1、usart2。usart1用作程序烧录、调试作用,串口2用于与其它模块进行通信。使用串口1时,正常工作,使用串口2时,无反应。查阅了相关资料串口2在PA2\PA3引脚上。RX\TX正反插无反应。最终找出原因是程序配置出现问题,但编译是没有报错的。下面是我个人发现的问题问题程序:voidUSART2_Init(u32bound){//GPIO端口设置 GPIO_InitTypeDefGPIO_InitStructure; USART_InitTypeDefUSART_InitStructure; NVIC_InitTypeDef

【智能家居入门2】(MQTT协议、微信小程序、STM32、ONENET云平台)

此篇智能家居入门与前两篇类似,但是是使用MQTT协议接入ONENET云平台,实现微信小程序与下位机的通信,这里相较于使用http协议的那两篇博客,在主程序中添加了独立看门狗防止程序卡死和服务器掉线问题。后续还有使用MQTT协议连接MQTT服务器的智能家居项目。前言一、硬件模块二、连接服务器测试三、两个协议的对比分析1、代码结构上:2、获取服务器数据上:3、架构上:四、下位机主要代码1、接收并解析云平台下发数据:2、传感器数据上云:五、微信小程序主要代码1、index.js2、index.wxml六、源码获取前言这里给出前两篇使用http协议博客的网址:①实现数据上云:https://blog.

毕设分享 STM32智能家政机器人

文章目录0前言1主要功能2硬件设计(原理图)3核心软件设计4实现效果5最后0前言🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是🚩毕业设计STM32智能家政机器人(源码+硬件+论文)🥇学长这里给一个题目综合评分(每项满分5分)难度系数:3分工作量:3分创新点:4分🧿项目分享:见文末!1主要功能本设计一种基于Android平台实现语音识别和命令生成,通过蓝牙无线传输至下位机,由下位机中的STM32

最详细STM32 启动流程

一、STM32三种启动方式常规模式(主闪存存储器):这是最常见的启动模式。在此模式下,处理器会执行复位向量表中的复位地址,从而启动芯片。芯片会执行各种初始化操作,包括时钟初始化、外设初始化等,然后跳转到用户定义的启动代码。基地址:0x0800000Bootloader模式(系统存储器):这是一种特殊的启动模式,通常用于更新固件或通过外部接口(如UART或USB)加载新的程序。在此模式下,处理器会将启动地址设置为Bootloader的起始地址,而不是复位向量表中的复位地址。Bootloader负责检查外部接口是否有新的程序,如果有,则加载并启动新程序;否则,它会跳转到复位向量表中的复位地址。基地

STM32 硬件随机数发生器(RNG)

STM32硬件随机数发生器文章目录STM32硬件随机数发生器前言第1章随机数发生器简介1.1RNG主要特性1.2RNG应用第2章RNG原理框图第3章RNG相关寄存器3.1RNG控制寄存器(RNG_CR)3.2RNG状态寄存器(RNG_SR)3.3RNG数据寄存器(RNG_DR)第4章RNG代码部分第5章STM32F1软件模拟RNG前言在日常生活中有很多情况都有用到随机数的应用,比如手机验证码、快递取件码等。第1章随机数发生器简介随机数发生器(RandomNumberGenerators,简称RNG),用于生成随机数的程序或硬件。STM32F4以上性能的芯片内部自带了硬件随机数发生器(RNG),

【STM32】软件SPI读写W25Q64芯片

目录W25Q64模块W25Q64芯片简介硬件电路W25Q64框图Flash操作注意事项状态寄存器​编辑指令集 INSTRUCTIONS​编辑​编辑SPI读写W25Q64代码硬件接线图MySPI.cMySPI.hW25Q64W25Q64.cW25Q64.hW25Q64_Ins.hmain.c测试SPI通信(W25Q64芯片简介,使用SPI读写W25Q64存储器芯片) SPI通信文章:【STM32】SPI通信http://t.csdnimg.cn/ZKzWthttp://t.csdnimg.cn/BE3GqW25Q64模块W25Q64芯片简介W25Qxx系列是一种低成本、小型化、使用简单的非易失性

FreeRTOS_Stm32F407系列单片机标准库移植

这里写目录标题1、下载FreeRTOS源码1.1github仓库下载1.2官网下载1.3百度网盘下载2、FreeRTOS移植2.1首先需要有一个可运行的标准库工程2.2在工程内创建一个FreeRTOS文件夹,然后在FreeRTOS文件夹中再新建port、include、src三个文件夹。2.3port文件夹移植2.4include文件夹移植2.5src文件夹移植2.6移植FreeRTOSConfig.h配置文件2.7在keil中添加文件路径2.8打开组文件夹管理,新建FreeRTOS组2.9添加freeRTOS源文件2.10编译排错1、先编译链接下工程2.根据下面图操作打开FreeRTOSCo

STM32 学习(四)中断系统

一、中断系统介绍众所周知,轮询是CPU通过不断地查询某个外部设备的状态,如果外部设备准备好,就可以向其发送数据或者读取数据,这种方式由于CPU不断查询总线,导致指令执行受到影响,效率非常低。而与之相对应的就是中断,正常情况CPU会处理其他的事情,如果设备有需要CPU处理的事情就产生一个中断,CPU就会停下正在做的事情来处理中断。中断的执行流程如下:STM32中断包含很多中断源(中断通道),并且使用NVIC统一管理中断,由左边的地址组成的表称为中断向量表,表中的内容为中断入口的地址: NVIC为嵌套向量中断控制器(NestedVectoredInterruptController),在STM32

STM32 I2C

目录I2C通信 软件I2C读写MPU6050I2C通信外设硬件I2C读写MPU6050I2C通信R/W:0写1读十轴:3轴加速度,3轴角速度,3轴磁场强度和一个气压强度 软件I2C读写MPU6050MyI2C.c#include"stm32f10x.h"//Deviceheader#include"Delay.h"/***@brief为I2C的SCL线写入数据*@paramBitValue:要写入的数据*@retval无*/voidMyI2C_W_SCL(uint8_tBitValue){GPIO_WriteBit(GPIOB,GPIO_Pin_10,(BitAction)BitValue);

在STM32上实现RS485通信

RS485是一种常用的串行通信协议,通常用于远距离数据传输和多点通信。在STM32单片机上实现RS485通信,通常需要配置相关硬件和软件,包括串口外设、GPIO和通信协议。本文将介绍如何在STM32上实现RS485通信,包括硬件连接、串口配置和通信协议,并给出相应的代码示例。一、RS485通信原理RS485通信标准是一种差分信号标准,可以实现远距离、高速率和多节点通信。它采用半双工通信方式,使用两根信号线(A和B)来传输数据,具有较强的抗干扰能力。在RS485通信中,数据传输使用某种规定的通信协议,如Modbus等。二、硬件连接在STM32上实现RS485通信,需要连接USART外设的TX和R