STM32串口收发处理 STM32串口收发STM32的串口接收和发送方式都有三种情况,即轮询、中断和DMA,俩俩组合便有9种可能的组合。下面挑出其中三种收发方式进行研究,以及优缺点比较。一、中断接收、轮询发送,无缓存模式1.1 原理当串口上有字节传送过来的时候,便会产生中断,即每个字节过来会产生一次串口接收中断。当有空闲中断产生的时候,认为一帧数据发送和存储完毕,置一个标志量到main函数中处理。适用于数据交互不太频繁的场合,因为平凡的串口数据发过来,会导致还没来得及处理的数据被新数据覆盖掉,产生丢帧的情况,这个是在实际
正泰DDSU66电表修改Modbus通信协议 一、需求将DDSU666默认的645协议修改成Modbus协议,并满足量产要求二、电表三、分析此款电表为DDSU666简化版本,不可以通过按钮设置通讯协议。故联系厂家得出相关的操作步骤。考虑到批量修改还需要编写相关上位机。四、步骤1)获取当前电表ID号(当前为645协议),指令发送有返回2)根据ID号修改成Modbus通信协议,指令发送无返回3)修改Modbus通信参数,将8n2改为8n14)修改Modbus通信地址为默认01五、上位机1)修改的上位机2)读取电表参数上位机(Mo
ESP8266网络时钟、天气(STM32+ESP-12F) 一、需求1)网络时间获取:获取NTP时间。2)指定地区天气获取:指定网址获取指定地区的天气。3)闹钟设置4)时间设置5)闹铃功能二、前期准备1)单片机最小系统板:smartESP开发板2)开发环境:MDK5.143)库函数:CubeMX5.6默认的HAL库版本4)ESP:ESP-12F5)显示:0.96 OLED IIC6)闹铃:蜂鸣器三、小项目效果图四、驱动原理1)ESP-12F:标准AT2)5向按键:AD检测3)蜂鸣器:PWM4)0.96 OLED:硬件I
CAN在线升级(STM32F103ZE) 一、需求1)上位机选择要升级的程序,进行升级。2)升级使用CAN为通信链路二、需求分析PC端是不能直接与CAN进行通信的,故需要中间设备进行数据转换,在设计的时候加上了串口转CAN,并制定通信协议连接上位机(电脑)和下位机(STM32F103ZE)。二、前期准备1)单片机:STM32F103ZET6 * 22)开发环境:MDK5.143)库函数:CubeMX5.6默认的HAL库版本4)CAN分析仪5)Labview:20186)VISA:16.0三、上位机效果四、上下位机通信
MAX6675驱动(STM32,K 热电偶) 一、前期准备单片机:STM32F103ZET6开发环境:MDK5.27库函数:STM32Cube FW_F1 V1.8.0触摸键模块:淘宝有售二、实验效果仿真:三、驱动原理参考MAX6675数据手册。四、驱动代码max6675.h#ifndef __MAX_6675_H__#define __MAX_6675_H__#include "stm32f1xx_hal.h"#include "gpio.h"#include "stdio.h"#define CS PAout(4
水准仪 一、产品(Demo)特点1)角度检测(XYZ):数据刷新率20Hz。2)数据记录:TF卡存储,具备按小时记录、按天记录,生成CSV文件。3)上位机监测:标准RS485、Modbus通信,0~31硬件地址编址。4)联网监测:可扩NB(如移远、有人)、LAN(UDP、TCP等)、CAN组网(支持CANOpen、iCAN)等。5)人机交互:支持硬件按键、指示灯、IO输出;支持触摸屏。6)供电:外接5V~12V电源供电。二、V0.1产品展望1)单片机换成国产单片机,降成本。2)UI使用开源的Lit
触摸键盘驱动(STM32,TTP229-B) 一、前期准备单片机:STM32F407VET6开发环境:MDK5.27库函数:STM32Cube FW_F4 V1.25.0触摸键模块:淘宝有售二、实验效果三、驱动原理参考TTP229-BSF数据手册。注意功能选择可能对程序的适配有直接的影响。驱动参考:触摸按键参考博客,在此感谢这位博主,给了我很大的启发四、驱动代码touch.h#ifndef __TOUCH_H__#define __TOUCH_H__#include "stm32f4xx_hal.h"#include "
婴儿床+环境监测(STM32) 一、需求1)监测尿床:湿度超过阈值,蜂鸣报警,报警声一般。2)监测火源:见到到火源,蜂鸣报警,报警声急促。3)检测环境光:亮关窗、黑暗开窗4)湿度本地显示二、前期准备1)单片机最小系统板:STM32F103C8T62)开发环境:MDK5.143)库函数:CubeMX5.6默认的HAL库版本4)尿床检测:HDT115)火源监测:火源探测模块6)环境光检测:光敏电阻7)报警:蜂鸣器8)本地显示:0.96 OLED IIC9)开关窗:步进电机,28YBJ-48三、小项目效果图四、
智能物联网大棚(STM32) 一、需求1)modbus组网,NB-IoT模块上传数据到云端2)从机1:CO2、TVOC、温度、湿度检测3)从机2:光强、土壤湿度检测3)主机:RS485(Modbus)采集从机数据,NB75模块上传到有人云,并显示出来二、前期准备1)单片机最小系统板:STM32F103C8T62)开发环境:MDK5.143)库函数:CubeMX5.6默认的HAL库版本4)RS485通信:TTL转RS485模块5)NB-IoT:有人 NB75-BA,带物联卡6)土壤湿度:土壤湿度计检测模块7)CO2
LoRa路灯(STM32) 一、需求1)普通模式,天黑灯亮。2)智能模式,天黑,有检测到汽车,汽车前面7盏灯亮起,过一个传感器,后面的灯熄灭3)传感器检测到的信号通过LoRa发出去,另一个LoRa接收控制路灯亮灭。二、前期准备1)单片机最小系统板:STM32F103C8T62)开发环境:MDK5.143)库函数:CubeMX5.6默认的HAL库版本4)车辆检测:红外壁障模块5)模式切换:按键6)LoRa:ATK-LORA-027)路灯:WS2812灯带8)黑白天检测:光敏电阻三、小项目效果图四、驱动原理
婴儿床(STM32) 一、需求1)播放音乐,播放、下一曲、上一曲。2)检测婴儿床的温湿度,尿床检测,本地显示和手机端显示。3)检测婴儿啼哭声,检测到啼哭声播放音乐。4)尿床检测,检测到尿床,蜂鸣报警。5)尿床报警值可设置(串口设置)。二、前期准备1)单片机最小系统板:STM32F103C8T62)开发环境:MDK5.143)库函数:CubeMX5.6默认的HAL库版本4)LCD:0.96寸OLED,IIC通讯5)音乐播放:DY-SV5W语音模块6)喇叭:5W,3寸,4 ohm7)按键8)温湿度:DHT
汽车防盗系统(STM32) 一、需求1)有人靠近汽车或碰到汽车,切断电源并声光报警,为汽车防盗模拟。二、前期准备1)单片机最小系统板:STM32F103C8T62)开发环境:MDK5.143)库函数:CubeMX5.3默认的HAL库版本4)热释电红外传感器:HC-SR5015)震动传感器:SW-18010P6)继电器7)蜂鸣器三、小项目效果图四、驱动原理1)震动传感器:IO,外触发2)蜂鸣器驱动:...
STM32红外遥控器驱动(STM32F1 CubeMX) 一、前期准备单片机:STM32F103ZET6开发环境:MDK5.14库函数:STM32Cube_FW_F1_V1.7.0红外遥控器:淘宝有售 )二、实验效果三、驱动原理解析NEC协议,使用TIM2输入捕获抓取高低电平时间,判断0或者1,识别传输过来的码流。CubeMX TIM2配置如下:需要完整工程的请加QQ:1002521871,验证:呵呵!四、驱动代码remote...
嵌入式FCT项目案例分享(STM32) 一、需求本项目是美的冰箱主板的一个低成本解决方案。1)测试DC电压;2)测试DC电流;3)测试AC电压;3)测试电机频率;4)测试LED亮灭;5)测WIFI信号;6)测试串口通信(主板自检输出);二、前期准备1)待测板Gerber,制作夹具;2)测试需求;3)根据测试需求,选用STM32F429主控测试板;4)自研频率采集卡(1M内方波);5)自研DC电压、电流采集卡(...
OLED驱动 1.3寸 硬件IIC驱动(STM32F4 CubeMX) 一、前期准备单片机:STM32F407VET6开发环境:MDK5.14库函数:STM32Cube_FW_F4_V1.16.01.3 OLED模块:淘宝有售二、实验效果三、驱动原理IIC配置:剩余的请参照具体的数据手册,大部分指令都是兼容的,不同驱动器可能会有细微的差别,请对照手册修改。需要完整工程或者有问题的请加QQ:1002521871,验证:呵呵.四、驱动代码ol...
直流马达驱动_ADC_PWM加减速(STM32F4 CubeMX) 一、前期准备单片机:STM32F407VET6开发环境:MDK5.14库函数:STM32Cube_FW_F4_V1.16.0直流电机模块:淘宝有售二、实验效果1)PWM波形20KHz,试验得到PWM在25%的时候,电机转动;2)调整电位器,改变PWM波,串口输出。三、驱动原理直流有刷电机的驱动十分简单,通电即可转动。运用H桥可以直接驱动电机正反转。当Q1、Q4导通,电机正...
直流马达驱动_PWM加减速(STM32F4 CubeMX) 一、前期准备单片机:STM32F407VET6开发环境:MDK5.14库函数:STM32Cube_FW_F4_V1.16.0直流电机模块:淘宝有售二、实验效果1)按键KEY1按下,正转->反转->停止,循环下去;2)按键KEY2按下,PWM增加5%,一直加到100%;3)按键KEY3按下,PWM减小5%,一直减到0%。4)PWM波为20K,正转启动要到30%,反转启...
直流马达驱动(STM32F4 CubeMX) 一、前期准备单片机:STM32F407VET6开发环境:MDK5.14库函数:STM32Cube_FW_F4_V1.16.0直流电机模块:淘宝有售二、实验效果1)按键KEY1按下,电机正转;2)按键KEY2按下,电机反转;3)按键KEY3案子啊,电机停转。三、驱动原理直流有刷电机的驱动十分简单,通电即可转动。运用H桥可以直接驱动电机正反转。当Q1、Q4导通,电机正转;Q2...
5D摇杆驱动(STM32) 一、前期准备单片机:STM32F103ZET6开发环境:MDK5.14库函数:标准库V3.55D摇杆模块:淘宝有售二、实验效果实现上下左右、左上、右上、左下、右下(有些手抖,按不到位)按下检测。三、驱动原理低有效,与普通按键驱动无异需要完整工程或者有问题的请加QQ:1002521871,验证:呵呵。四、驱动代码key.h#ifndef __KEY_H__#define...