C语言
爻爻的大金毛
这个作者很懒,什么都没留下…
展开
-
STM32+AS608指纹模块
前言:这个串口逻辑有点问题,要是用串口做命令输入端的话要自己改一下串口逻辑,串口只是调试能不能用指纹模块的功能,后期不需要串口发命令所以没怎么写串口的命令逻辑1.AS608的资料挺全的,就是按照他给的来写命令,基本上看懂会用就行,没必要一个个写太多了2.AS608.c#include <string.h>#include "system.h" #include "usart2.h"#include "as608.h"u32 AS608Addr = 0XFFFFFFF.原创 2022-05-18 17:22:00 · 5906 阅读 · 8 评论 -
STM32+OLED
1.初始化static void OLED_GPIO_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;//开漏输出,原创 2022-04-30 23:27:54 · 2871 阅读 · 0 评论 -
STM32+超声波
1.初始化IO口void HC_SR04Init(void){GPIO_InitTypeDef GPIOInit;TIM_TimeBaseInitTypeDef TIMInit; NVIC_InitTypeDef NVICInit;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);NVIC_PriorityGroupConfig(N原创 2022-04-30 22:34:44 · 1294 阅读 · 1 评论 -
C51(DHT11)温湿度+LCD1602
前言:软件延时真的很坑,校园网真的很烂直接上码LCD1602部分(1).LCD1602.C#include <reg52.h>#include <LCD1602.h>#include <INTRINS.h>sbit LCD_RS=P2^6;sbit LCD_RW=P2^5;sbit LCD_E=P2^7;#define LCD_DatrPort P0//指令函数void LCD_WeitrCommand(unsigned char原创 2022-04-21 23:51:45 · 1433 阅读 · 4 评论 -
创建一个动态链表
创建函数struct student *creat() { struct student*head; struct student*p1,*p2; p1=p2=(struct student*)malloc(LEN);//开创空间 printf("输入num\n"); scanf("%d",&p1->num); printf("输入score\n"); scanf("%f",&p1->score); head=NULL; n=0; while(p1-&g.原创 2022-04-05 15:19:04 · 2182 阅读 · 0 评论 -
STM32固件库使用USART
1.USART的配置(1)关键结构体GPIO_InitTypeDefUSART_InitTypeDef NVIC_InitTypeDef//用于接收的中断1.1USART的TX在PA9,RX在PA10.2.时钟线2.1 USART时钟挂载在APB2上RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);//配时钟原创 2022-03-24 22:31:31 · 462 阅读 · 0 评论 -
寻找两个正序数组的中位数
1.题目描述给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。【用冒泡排序时间复杂度是O(n²)】2.程序int compFunc(void* a, void* b){ int* node1 = (int*)a; int* node2 = (int*)b; return (*node1 - *node2);}double fi原创 2022-02-11 11:21:08 · 474 阅读 · 0 评论 -
leetcode反转链表
1.双指针struct ListNode* reverseList(struct ListNode* head){struct ListNode*pre=NULL;struct ListNode*curr=head;struct ListNode* next = NULL;while(curr){ next=curr->next; curr->next=pre; pre=curr; curr=next; }return pre原创 2022-02-10 13:49:24 · 301 阅读 · 0 评论 -
leetcode 两数相加
题目要求给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。做法:模拟法基本操作遍历两个列表,逐位计算它们的和,并与当前位置的进位值相加。比如,两个链表对应位的数字分别为n1和n2,进位为carrybit,则它们的和为(pos1 + pos2 + carrybit),对应位上数字变为(pos1 +pos2 + car原创 2022-02-09 11:40:39 · 324 阅读 · 0 评论