自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 C语言中一个宏关闭或者开启所有printf打印,实战必备

c.在a.h中//#define SUPPORT_LOG来关闭打印,#define SUPPORT_LOG来开启打印就行了。写c语言的时候,程序中有太多的pritnf函数,不过又不想一一去//它们怎么办?b.在其他.c文件中#include一下a.h就可以直接用LOG替代printf。d.具体为什么大家自行百度一下__VA_ARGS__和...关系。1.只需要一个宏就可以屏蔽所有printf。

2023-12-07 18:49:53 707

原创 函数初始化列表创建和使用

当不想显性调用某一个函数时候,比如文件a.c里有个函数A,若想在main.c里面调用函数A,但是又不想通过函数名A去调用函数A。4.可以在main函数最前面调用module_list_init(),也可以选择其他合适位置。2.通过INIT_MODE_EXPORT将int (*)(void)类型的函数加入到列表中。3.在main.c(或其他.c)中。1.在任意.h文件中。

2023-12-06 10:43:14 444 1

原创 c语言(IIC)对AT24c02进行读写

iic协议熟悉 学习笔记

2022-07-13 17:22:31 686 1

原创 c语言模拟uart协议的收发

讲述了uart的收发的思想和代码帮助大家更好的理解uart

2022-07-08 17:18:32 1290

原创 linux字符型驱动开发体验01

#include <linux/kernel.h> #include <linux/module.h> #include <linux/fs.h> #include <linux/cdev.h> #include <linux/wait.h> #include <linux/sched.h> #include <linux/poll....

2022-06-02 16:53:12 118

原创 stm32 按键外部中断开发代码 可对照database理解,汇编代码看中文注释即可

#include<stm32mp1xx_gpio.h>#include<stm32mp1xx_exti.h>#include<stm32mp1xx_gic.h>#include<stm32mp1xx_rcc.h>voidhal_gpio_init(void);voidhal_exti_init(void);voidhal_gicd_init(void);voidhal_gicc_init(void);...

2022-05-16 15:06:56 729

原创 stm32mp157学习记录 uart开发

unsignedcharget_a_byte(){unsignedcharc;while(!(USART4->ISR&(0X1<<5)));//判断RXFIFO中数据是否被接收 c=USART4->RDR;//接收数据returnc;}void send_a_byte(constchardata){...

2022-05-11 11:58:06 196

原创 AliOS Thins ubuntu16.04下环境搭建

1:准备工作,亲测在ubuntu16.04环境下进行 1.更新软件源列表sudo apt update 2.更新所有应用为最新软件sudo apt upgrade 3. 安装python pip gitsudo apt-get install -y python python-pip git ...

2022-05-09 11:21:34 297

原创 基于golang做一个简易私有网盘

服务器端代码main.gopackagemainimport("io""net/http""os""fmt")funcuploadHandler(whttp.ResponseWriter,r*http.Request){r.ParseMultipartForm(32<<20)file,handler,err:=r.FormFile("file")iferr!=ni...

2022-03-02 14:56:05 895

原创 uart接受串口数据(DMA+IT方式,基于HAL库)

1.通过stm32cubeMx使能usart1并使能usart1中断,开启usart1的接受DMA2.在void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)函数的最后添加//使能空闲中断__HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE)。huart1为usart1句柄。UART_IT_IDLE为串口空闲的一个宏3.在main函数紧挨着while(1)且在while(1)前面的地方加入

2022-02-10 16:23:13 1338

原创 c语言写得有点像python

代码://__VA_ARGS__ 可变参数 由...替代#include <math.h>//里面有NAN,不知道NAN的可以百度一下用法#include <stdio.h>#define makelist(...) (double[]){__VA_ARGS__, NAN}#define sum(list1, list2) sumA(makelist list1, makelist list2)//将数组1和数组2中的元素相加结果返回double sumA...

2021-11-19 10:30:10 1171

原创 c语言求回文数

输入121返回1,因为121是回文数输入123返回0,因为123不是回文数小于0的数不是回文数bool is_palindrome(int x){ int y = x;//记录一下x的值 long int value = 0;//存储x的反倒值 if(x < 0){//x小于0直接返回0; return 0; } while(x > 0){ value = value * 10 + x % 10;//倒置x的关键...

2021-11-17 10:43:20 575

原创 c语言实现将字符串转换为整数(atoi)

intmyAtoi(char*str){intvalue=0;charsysmbol=' ';//先取出空格while(*str==' '){str++;}//取正负号if(*str=='+'){sysmbol='+';str++;}elseif(*str=='-'){sysmbol='-';...

2021-11-17 09:58:32 979

原创 c语言实现字符串以指定字符进行分割

1 #include <stdio.h> 2 #include <stdlib.h> 3 char** split(char* s, char* o){ 4 int num = 0;//记录.出现的个数 5 int index = 0; 6 char* temp1 = s; 7 char* temp2 = s; 8 char* temp3 = s; 9 //...

2021-11-08 16:01:33 2582

原创 c语言字符串长度获取

代码如下:/*函数:int getStrLen(const char* headChar)输入参数:headChar:需要判断长度的字符串的首地址返回值:字符串长度*/#include <stdio.h>int getStrLen(const char* headChar){ int len = 0;//接受字符串长度的一个变量 while(*headChar){//如果headChar指针的值不为空,则进入while循环 headChar+...

2021-11-04 11:34:25 738

原创 c语言拼接两个字符串函数strcat的实现

代码如下:/*函数定义:void StrCat(char* headChar, char* tailChar)函数参数:headChar:需要拼接的字符串首地址tailChar:拼接内容字符串的首地址功能:拼接字符串*/#include <stdio.h>void StrCat(char* headChar, char* tailChar){ char* tempChar = headChar;//用tempChar来修改地址的值,这样headChar还是指向...

2021-11-04 11:15:03 3636

原创 makefile的简单应用纪录(将多个文件各生成一个.o文件)

# -C dir读入指定目录下的Makefile# -f file读入当前目录下的file文件作为Makefile# -i忽略所有的命令执行错误# -I dir指定被包含的Makefile所在目录# -n只打印要执行的命令,但不执行这些命令# -p显示make变量数据库和隐含规则 # -s在执行命令时不显示命令# -w如果make在执行过程中改变目录,打印当前目录名CC = gcc #定义CC为gccOBJS = main.o p1.o p2.o p3.o p4.o p5.oOB...

2021-11-04 10:28:03 1329

原创 新手入门stm32F407用寄存器点亮一个led灯过程分享

纪录一下自己的学习stm32寄存器点灯的过程看完这个过程可能不会让你点灯成功但是会让大家对寄存器点灯更加透彻1.我觉得寄存器点灯是stm32中非常需要学习的东西2.直接上手库函数的话可能就不知道自己用的东西是怎么回事(底层一点的知识)3.库函数是建立在寄存器的基础上的先来类比一下:大家试想一家酒店有很多家房间,房间都有门牌号,我们可以将这个门牌号看成c语言中的指针。房间这个实体看成寄存器,我们就可以通过门牌号去找到各个寄存器,也就是通过指针去找到寄存器,当然找到房间之后我们可以改变房间里

2021-10-29 16:08:16 1665

原创 c语言中输入一个字符串逆序输出

#include <stdio.h>void nixu(char* str, int len){ char temp; for(int i = 0; i < (len / 2); i++){ temp = str[i]; str[i] = str[len - i - 1]; str[len - i -1] = temp; } fo...

2021-10-27 21:47:36 3004

原创 c++中简单的模板编程

/*函数的模板*///案例要求:需要一个两数相加的函数,该函数能进行任一同类型数据的相加,不同类型的数直接template<typename T1, typename T2>void sum(T1 a, T2 b)。#include <iostream>using namespace std;//书写格式如下 其中template <typename T>是固定的,后面正常加普通函数定义就行// T 就当成一个数据类型,如int float double 等等。

2021-10-26 17:11:13 149

原创 c++中使用多线程

通过pthread_create创建线程,然后将类函数通过函数指针的方式传入,在将Student类传参传入线程函数。编译时用g++ main.c -o main -std=c++11 -lpthread ,线程间可以通过指针进行数据共享。#include <pthread.h>#include <iostream>#include <time.h>#include <stdio.h>#include <unistd.h>using n

2021-10-26 16:10:18 181

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除