STM32 水质水位检测项目 (调试模块)和(延时模块)

分层

通过软件架构可以进行分层,驱动层Driver、接口层Interface、应用层App、公共层Common、用户层,分别创建这几个层级文件夹

调试模块:(涉及到驱动层和公共层)

1 打开Driver文件夹

2 将之前的USART文件直接复制到新项目的Driver文件夹中,记得keil中添加.c和.h文件

STM32 案例计算机和串口通讯及学习方法和重映像printf函数(逻辑查询以及寄存器代码如何书写)_stm32库函数串口代码-CSDN博客

printf函数

printf函数可以用来调试,但是随着代码的增多,为了更加方便,可以用条件编译来进行编辑

1 打开Common文件夹

2 新建两个文件debug.c和debug.h文件,用来调试

debug.h

新拓展:

format------格式化的占位符

...------------定义可变的参数

strrchr------从字符串最右边往左边寻找目标字符,找到后返回目标字符的地址函数

##------------连接前后可以用来省略,

FILE--文件路径及其

LINE--行号

cs 复制代码
#ifndef __DEBUG_H__
#define __DEBUG_H__

#include "usart1.h"

#include <stdarg.h>
#include <string.h>

//为了方便调试,定义一个宏进行条件编译
#define DEBUG

#ifdef DEBUG //调试Debug)模式

//从__FILE__中提取文件名
#define FLIENAME (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__)

#define dubug_init() Debug_Init()
#define debug_printf(format, ...) printf("[%s:%d]--" format, FLIENAME, __LINE__, ##__VA_ARGS__)
#define debug_printfln(format, ...) printf("[%s:%d]--" format "\r\n", FLIENAME, __LINE__, ##__VA_ARGS__)

#else   //发布(Release)模式 

#define dubug_init()
#define debug_printf(format,...)
#define debug_printfln(format,...)

#endif



//初始化
void Debug_Init(void);

#endif /* __DEBUG_H__ */

debug.c

cs 复制代码
#include "debug.h"

void Debug_Init(void){
    Usart1_Init();
}

延迟模块:(公共层)

1 打开Common文件夹

2 用之前滴答定时器的两个文件delay.c 和delay.h 放入新建立的Common文件夹中

流程:系统滴答定时器中的装载值LOAD值是向下计数,VAL计数器值清零它会自动装载LOAD值进行向下计数,每过一个时钟VAL减1。配置采用系统时钟源

STM32 创建和书写delay.c 和delay.h_stm32 delay.c-CSDN博客

相关推荐
黑猫学长呀3 小时前
存储宝典第2篇:盲封TT wafer是什么意思?
linux·嵌入式硬件·项目·芯片·ufs·晶圆·产测
都在酒里3 小时前
STM32标准库驱动HC-SR04超声波测距模块(定时器输入捕获,附完整工程代码)
stm32·嵌入式硬件·mongodb
qq_370773097 小时前
梁山派GD32F470ZGT6 FreeRTOS CMake 模板适配指南
单片机·嵌入式硬件·gd32·梁山派
嵌入式小站8 小时前
STM32 零基础可移植教程 03:蜂鸣器响一声,LED 跟着翻转一次
stm32·单片机·嵌入式硬件
星夜夏空999 小时前
STM32单片机学习(15) —— PC串口通信实验
stm32·单片机·学习
星夜夏空999 小时前
STM32单片机学习(14) —— STM32的串口外设
stm32·单片机·学习
都在酒里9 小时前
STM32标准库驱动L298N双H桥电机驱动模块(调速/正反转/多模式实战,附完整工程代码)
stm32·单片机·嵌入式硬件
Hello_Embed10 小时前
USB 学习指南+软硬件框架
网络·笔记·stm32·嵌入式·ai编程
key_3_feng10 小时前
鸿蒙车规级MCU开发方案
单片机·华为·harmonyos
踏着七彩祥云的小丑10 小时前
嵌入式测试学习第 13 天:串口助手软件安装、界面认识、参数配置
单片机·嵌入式硬件