C
无
昊月光华
大道三千,以代码能证我的道吗?
展开
-
C/C++里的解引用与多维数组指针(面经)
解析 :arr为一维数组指针.arr++则地址自增sizof(int)*7.7为列数.规律: n维数组指针自加,地址相差后n-1维相乘再乘以sizeof(类型).p=arr->p[0]第0行.以此类推.同类型的指针可以相减。原创 2023-05-18 15:44:41 · 350 阅读 · 0 评论 -
STM32中使用类“51”中的位bit做标志——节约资源之道
而我在LCD屏幕刷新时,需要记录变量是否改变再刷新,做判断的时间总比做刷新的时间短的多!1:用习惯了51的位bit,像二进制信号量一样只有0和1两种状态,我认为这两种状态还是利用得最为广泛的两种状态,就比如说WIFI的连接状态。2:早些接触时就念念不忘51里的bit,接触32因为其资源丰富我也不也怎么管,变量,全局变量使劲造就完事了。省,实在是省,一个16位的数据拆分为16个二值flag(0和1) ,这是我本篇文章中所说的。3:为保持勤俭节约的中华民族的美德,于是就有了本篇文章,以此不忘。原创 2023-03-15 17:19:21 · 541 阅读 · 1 评论 -
STM32整合ATK-01-LORA模块实现定向传输实现三点组网(一主加二从)案例
应物联网无外网的环境要求,需要使用Lora模块进行组网以此传输数据,本来用了正点原子的Lora模块,以正点的强大资料支持,我本应该非常熟悉这些组网操作了,但硬件调试实在是让我差不多很苦恼,一方面需要不断的去排查接线问题,一方面又要去关注软件代码是否已经发送了数据。Clora:地址615(16位 0-65535) 信道为15(最大信道为32,越好的LORA模块,信道数量越多,受相邻信道干扰的可能性越小!这里在我测试的时候,有时成功后过一段时间再次进行测试则又连不上,也许是因为接线的问题(这是硬件调试的通病)。原创 2023-03-09 19:00:08 · 2136 阅读 · 3 评论 -
ESP32基于Arduino驱动GY30光照传感器程序
esp32以arudino驱动gy30光照传感器原创 2022-07-11 11:11:47 · 1632 阅读 · 2 评论 -
单片机串口中断以及消息收发处理——对接受信息进行判断实现控制
串口消息收发控制原创 2022-06-12 12:26:01 · 3567 阅读 · 0 评论 -
蓝桥杯单片机第四届赛题源码
源码链接原创 2022-03-24 22:25:22 · 139 阅读 · 0 评论 -
蓝桥杯单片机点灯操作——做点灯大师
点灯嘛,谁不会啊,若是10年前stc89C52的芯片,连个锁存器都没得,直接对P0口操作就直接点亮了 ,而对应蓝桥杯的stc15F2K60芯片而言,无非就是多了锁存器,初始化P0口,P0口给对应的灯赋值,开锁存器送信号再关锁存器不就行了。是的,这样就行了。引言:(一次性点亮一个灯)void LedRunning(u8 s){if(s>7)return ;P0=0xff;P2=P2&0x1f|0x80;P0=~(1<<s);//s为0-7对应点亮...原创 2022-03-23 13:14:49 · 801 阅读 · 0 评论 -
蓝桥杯单片机第十二届第二批赛题源码
源码链接:链接:https://pan.baidu.com/s/1GNTpXN2m_Xg9utDqToCsxA提取码:yzh1...原创 2022-03-22 19:00:58 · 277 阅读 · 0 评论 -
基于蓝桥杯单片机第八届电子钟省赛试题源码
所实现的要求除第八届电子钟设计的全部要求外还加了当时钟和定时闹钟相等时,数码管跳转去显示温度,以及在时钟正常模式下按下s4则显示温度,松手后返回原显示界面这两个要求。(实际上历届大致都差不多,用的外设有些许不一样)附上百度网盘代码链接:...原创 2022-03-05 18:05:09 · 211 阅读 · 0 评论 -
C语言中使用其他源文件中的变量需注意的问题
结合最近在单片机开发的经验和教训写此笔记。一般情况下,我们想使用另一个源文件的变量,比如一个源文件中都是函数的实现,而main函数放在另一个源文件中,有以下几种解决方法。第一种方式:(1)在一个源文件文件中定义xx变量(如下的tes),为了便于测试创建了一个函数返回源文件中的tes值,验证在main函数使用时判断是否是同一个变量。 //test.c 定义tes变量的源文件#define _CRT_SECURE_NO_WARNINGS #include "test.h"#incl原创 2022-03-01 13:16:16 · 3692 阅读 · 1 评论 -
N皇后问题(C实现)
问题描述 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。输入格式 输入中有一个正整数N≤10,表示棋盘和皇后的数量输出格式 为一个正整数,表示对应输入行的皇后的不同放置数量。样例输入5样例输出10数据规模和约定 N≤10算法思路:用递归的方式判断N*N棋盘上是否有通路,每行一个皇后,当要放置的棋子大于行数时,原创 2022-02-26 18:30:26 · 520 阅读 · 0 评论 -
JOE的算数(快速幂算法实现)
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 有一天,JOE终于不能忍受计算a^b%c这种平凡的运算了。所以他决定要求你写一个程序,计算a^b%c。 提示:若b为奇数,,a^b=(a^(b/2))^2*a,否则a^b=(a^(b/2))^2。输入格式 三个非负整数a,b,c;输出格式 一个整数ans,表示a^b%c;样例输入7 2 5样例输出4数据规模和约定 30% a <= 100, b <= 10^4, 1 &l原创 2022-02-26 18:08:44 · 459 阅读 · 0 评论 -
接水问题(C实现)
资源限制时间限制:1.0s 内存限制:64.0MB问题描述 学校里有一个水房,水房里一共装有m 个龙头可供同学们打开水,每个龙头每秒钟的 供水量相等,均为1。 现在有n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1 到n 编号,i 号同学的接水量为wi。接水开始时,1 到m 号同学各占一个水龙头,并同时打 开水龙头接水。当其中某名同学j 完成其接水量要求wj 后,下一名排队等候接水的同学k 马上接替j 同学的位置开始接水。这个换人的过程是瞬间完成的,且没有任何水的浪.原创 2022-02-26 17:48:56 · 322 阅读 · 0 评论 -
国信长天单片机竞赛训练之用定时器中断实现时钟(一)
本次实现的(国信长天)蓝桥杯的一个单片机比赛,实现起来用定时器中断配合数码管实时显示,达到时钟效果。//main.c#include "sys.h" typedef unsigned char u8; typedef unsigned int u32;u8 code smg_index[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf}; void Delay100us() //@11.05...原创 2021-11-20 21:22:33 · 733 阅读 · 0 评论 -
国信长天单片机竞赛训练之配合定时器实现立即计数和随按下按键的时间计数(二)
本次训练实现当按下S18时且时间<1s 只计算一次,当按下s18且按下按键时间大于1s则在不松开的情况每过1s计数加一,而按下s19则是减一,与上同理。难点在于通过按键扫描记录按下未松手的key值,配合定时器中断实现每过1s计数加减,并把数值通过数码管显示。//mian.c#include "sys.h"#include "math.h"u8 key_value=0;static u32 example=0;static u32 count=0;static u32 time=0;原创 2021-11-20 21:32:38 · 766 阅读 · 0 评论 -
C语言的六种排序算法
void Swap(int *p, int *q)//三步异或{ *p = *p^*q; *q = *p^*q; *p = *p^*q;}void InsertSort1(int arr[], int n)//插入排序{ int i = 0; int j = 0; for (i = 1; i < n; i++) { int temp = arr[i];//拿出一个元素 if (arr[i] < arr[i - 1]) { for (j = i - 1; a原创 2021-05-31 17:42:36 · 167 阅读 · 0 评论 -
C语言数据结构——单链表的实现和归并
头文件: #include<stdio.h>#include <stdlib.h>struct int_slinkedlist_node;struct int_slinkedlist;int j;int ret;struct int_slinkedlist * int_slinklist_init();void int_slinkedlist_free(struct int_slinkedlist* list);void int_slinkedlist原创 2021-06-03 21:36:33 · 388 阅读 · 0 评论 -
国信长天单片机竞赛训练之超声波实验(四)
本次是第四次作业了,作业要求如下:1.结合定时器知识,使用定时器1作为中断源,使用定时器0做计数器进行超声波测距,并在数码管上显示;2.以第一种方式进行测距。当测试距离大于10cm,小于等于20cm时,蜂鸣器打开,继电器打开。大于20cm,小于40cm时,继电器打开,蜂鸣器关闭,当距离大于等于40cm时,继电器关闭;超声波的电气参数如下:本次作业用的是stc15f2k60s2.h,程序运行的频率设置为11.0592MHZ,实际上与12Mhz差别并不大(以我目前的水平感觉上可以兼...原创 2021-12-01 21:09:29 · 1161 阅读 · 0 评论 -
国信长天单片机竞赛训练之DS18B20温度报警实验(三)
目标要求:通过板载的DS18B20获取温度,并在数码管上保留4位小数显示,温度超过25.0000度,蜂鸣器报警;低于等于25.0000度,所有LED间隔2秒闪烁;温度超过25.0000度,通过串口发送“ temp high”字符串;低于等于25.0000,通过串口上传实时温度。ds18b20例程的代码在资料中有提供(基于stc89c52的),而国信长天的则是stc15k60s2,由于芯片工作频率不同需要在相关代码上做些修改,需要注意的是DS18B20是存取16位数据,分为高八位和低八位,...原创 2021-11-26 16:33:28 · 1406 阅读 · 1 评论 -
Esp32cam通过巴法云订阅控制拍摄照片并上传图云
最近经好友推荐,让我认识到了esp32cam的强大之处,26块钱的板子(ESP32CAM),其本身自带的io口就不必说了,它还加上了摄像头ov2640 200w像素,最最重要的是它是基于arduino开发的,也就是开源,你能在官网上身上轻松地找到案例代码并加以修改完成二次开发。我本次做的是通过巴法云平台的订阅功能通过发送“on”控制esp32cam上的摄像头来进行拍照上传至巴法云平台上的图云,在单片机未收到订阅主题的消息时则能通过本地的局域网服务器实时监测。巴法云又是一个...原创 2021-10-25 15:38:44 · 2433 阅读 · 0 评论 -
我的第一篇课程设计(交通咨询系统)
是这样,本人大一软件工程,因为当时课设选题的时候,我看了下那些题目,也就这个最难,而且我又注意到文档的修改日期,是2017年,当时就认为老师给老课题给我们做,是怕我们交不起作业,也由于老师自己...原创 2021-06-26 10:32:58 · 4710 阅读 · 11 评论