首页 > 其他分享 >STM32常用函数整理

STM32常用函数整理

时间:2024-07-11 23:32:43浏览次数:13  
标签:十六进制 常用 函数 02d uart2RxBuff %# datetime STM32 数组

STM32常用函数整理

标准库使用的API 用的都是 **char *** 数据类型

1./清空缓冲区/
  memset((char *)uart2RxBuff, 0, UART2RXBUFF_SIZE);

把uart2RxBuff中长度为UART2RXBUFF_SIZE的字符都写为0

2.拷贝
memcpy(数组1, 数组2, len);

把数组2的len长度的数据拷贝到数组1中

数组1与数组2都是指针

eg:

memcpy(&uart2ResponseBuff[uart2ResponseLen], uart2RxBuff, uart2RxLen);

把uart2RxBuff中该长度uart2RxLen的数据,拷贝到uart2ResponseBuff中(从uart2ResponseBuff中的第uart2ResponseLen开始拷贝

3.查找 —— 返回指针类型数据
strstr((char *)Buff, "+IPD");	//从左向右找字符串
strrchr("abc/def", '/');	//从右向左找字符

4.切割字符串

strtok((char *)Buff, ":");	//用:切割,第一次切割得到Buff数组中:前的数据指针
strtok(NULL, ":");	//第二次切割得到:后的数据指针

printf 、scanf 等衍生

1.printf

(1)

printf("%.*s", Len, uart2RxBuff);

从 uart2RxBuff 中 打印Len长度的数据

(2)%20s:宽度为20,高位用0补;
%4d:宽度为4,高位用空格补齐

sprintf(buff, "%04d-%02d-%02d %02d:%02d:%02d",	//%04d:宽度为4,高位用0补
		datetime.year,
		datetime.mon,
		datetime.day,
		datetime.hour,
		datetime.min,
		datetime.sec
		);

(3)`"%#x"输出前面带0x的十六进制数

​ "%#X" 输出前面带0X的十六进制数

printf函数输出一个以0x开头的十六进制数,使用"%#x"或者"%#X"格式化字符串。

%#x会输出小写字母的十六进制数,而%#X输出大写字母的十六进制数。

sprintf(cmd, "AT+CIPSEND=%d\r\n", dataLen);

把整合的数据(AT+CIPSEND=dataLen)给放到cmd中

uart2RxBuff:	+IPD,3,"192.168.43.197",9999:abc
sscanf((char *)uart2RxBuff,
                "%*[\r\n]+IPD,%d,\"%[^\"]\",%d",
                dataLen,
                dip,
                port);

拆分读取数组:(1)%*[\r\n] - 跳过多个\r\n (2)% [ ^ \ " ] - 匹配非双排引号

标签:十六进制,常用,函数,02d,uart2RxBuff,%#,datetime,STM32,数组
From: https://www.cnblogs.com/petard/p/18297359

相关文章

  • MySQL数据库常用命令
    目录前言:1.创建数据库2.删除数据库3.选择数据库4.创建数据表5.删除数据表6.查询数据7.修改数据8.ORDER BY 语句9.LIKE子句1.百分号通配符%:2.下划线通配符_:10.GROUPBY语句11.MySQL连接1.INNERJOIN(内连接):获取两个表中字段匹配关系的记录。2.LEFTJOIN(左......
  • GRE详解:概念、架构、原理、搭建过程、常用命令与实战案例
       我们将深入探讨如何在Linux上设置GRE(GenericRoutingEncapsulation,通用路由封装)。本文将涵盖GRE的定义、架构、原理、应用场景、常见命令体系,并通过详细的实战模拟展示如何在Linux系统上实际操作。希望通过这篇文章,您能深入理解GRE技术,并能在实际中应用。......
  • C语言基础:函数的定义、调用和递归
    在C语言中,函数是一段完成特定任务的代码块,可以被多次调用和重复使用,有助于提高程序的模块化和可维护性。函数通过定义和调用来实现。函数的定义函数的定义包括函数的声明和函数体,其中函数的声明用于告诉编译器函数的名称、参数类型和返回类型,而函数体则包含了具体的实现......
  • STM32的SPI接口详解
    目录1.SPI简介2.SPI工作原理3.SPI时序3.1CPOL(ClockPolarity,时钟极性):3.2CPHA(ClockPhase,时钟相位):3.3 四种工作模式4.相关代码4.1使能片选信号4.2使能通讯线4.3初始化SPI4.4设置SPI速度4.5读写数据1.SPI简介STM32的SPI(SerialPeripheralInterface)是一个......
  • C++入门——“命名空间”、“缺省参数”、“函数重载”、“引用”
    C++在C语言的基础上增加了许多东西,在我看来,它和它的名字一样,是C语言的Plus的Plus版本,而且支持C语言的大部分语法,让码农写起来很是别有一番韵味。在这里向大家介绍C++的一些语法结构。一、命名空间    在进行C语言的开发当中,随着代码量的增加,或者工程变得复杂,我们进行......
  • 没想到吧,Python print函数也能玩出花!
    目录1、基础打印技巧......
  • 实战Qt开发WordBN笔记软件#02 通过Gitee创建YourWordBN仓库;学会GIT常用指令,并实现多分
    01背景【WordBN字远笔记】是天恩软件工作室开发的一款免费笔记软件;WordBN基于VS2019、Qt6.5开发,使用QtQuick(QML)开发语言。本课程将以【WordBN字远笔记】的界面为实战基础,详细介绍如何基于Qt/QML开发语言,从零开始开发一套真正的程序,包括国际化、版本发布、安装包制作等项目......
  • STM32中断(NVIC和EXIT)
    CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。但STM32并没有使用CM3内核的全部东西,而是只用了它的一部分。STM32有76个中断,包括16个内核中断和60个可屏蔽中断,具有16级可编程的中断优先级。而常用的就是这60个......
  • git常用命令步骤
    1.克隆仓库gitclone仓库地址2.创建自己的分支gitbranch分支名字查看当前分支gitbranch-v查看已有分支gitbranch删除分支gitbranch-d分支名字3.将文件添加到缓存(.代表全部添加)gitadd.4.提交到版本库gitcommit-m"提交的描述信息"5.将本地......
  • 常用koishi-plugin-network-data-getter api推荐
           随机美少女{"command":"随机美少女","desc":"","sourceUrl":"http://api.weboss.hk/random/api.php","sendType":"image","dataType":"resource"......