自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AC0

学习记录

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

原创 【STM32】STLINKv2.1 两个LED代表的信息

STlink V2.1有红、绿两个LED组合。我的山寨版则换成了红、蓝LED。LED为橙色(红、蓝同时亮):ST-Link和目标芯片通信失败。LED为红色:建立PC与ST-LINK之间的通信(枚举结束)。LED闪烁绿色(蓝色)和红色交替:数据在目标和PC之间交换。LED闪烁红色:USB与PC正在枚举。LED为绿色(蓝色):上次通信成功。有常亮、常灭、闪烁等。

2024-06-12 21:05:31 162

原创 【STM32】计算定时器的溢出

计算定时器的溢出,中断开启

2024-05-26 15:03:42 215

原创 【STM32】检测SD卡是否插入

使用中断的方式检测SD卡是否插入。插入时初始化,拔出时取消初始化

2024-05-18 18:02:50 687 1

原创 【STM32】快速使用F407通用定时器输出可变PWM

网上的文章太啰嗦,这里直接开始。使用的是STM32CubeIDE,HAL。以通用定时器TIM12在 通道2上输出1KHz的PWM为例。要确定输出的引脚、定时器连接在哪里。在APB1上,最大计数频率84M。在APB2上,最大计数频率168M。

2024-04-30 20:43:35 772 1

原创 【STM32】F405/407的模块总览图,记录查看

从STM32F405/407数据手册中提取,方便以后查看。主要是什么外设连接在什么总线上,时钟频率是多少。TIM2、3、4、5、12、13、14在APB1上,最大频率84。TIM1、8、9、10、11在APB2上,最大频率168M。

2024-04-30 18:52:53 412 1

原创 【单片机】TFTLCD以十六进制显示数字

在STM32 F407,2.8寸LCD通过。定义两个数组,分别存放十六进制数字和转换后的数字。位数指转换后的十六机制位数,前面多余的显示0,一定要大于理论上转换后的位数否则无法正常显示。可以添加在LCD.c文件里,要先实现显示数字的代码。

2022-11-11 11:44:10 2549 2

原创 C:输入三个字符串,由小到大的顺序输出,用指针处理

分析代码结果

2020-12-17 23:13:45 3208

原创 C:输入三个整数,由小到大输出,用指针处理

分析输入三个数,两两比较排序代码#include <stdio.h>void sort(int *a, int *b, int *c){ int x; if(*a>*b){x=*a;*a=*b;*b=x;} if(*a>*c){x=*a;*a=*c;*c=x;} if(*b>*c){x=*b;*b=*c;*c=x;}}int main(){ int a,b,c; scanf("%d %d %d", &a,

2020-12-17 20:57:11 532

原创 C:化简根号

分析对于一个正整数,可以表示成,n从一个较大的数开始自减。如果b=1,即n是A的平方根,那么直接输出a(=n),否则输出。另用一个tag来表示A能不能化简,不能化简则以sqrt(A)来输出。代码#include <stdio.h>int main(){ int x, tag = 0; int a, b, n; scanf("%d", &x); for (n = 1000; n > 1; n--) { i.

2020-11-29 22:22:53 662

原创 C:冒泡排序 Bubble sort

分析

2020-11-29 16:05:26 123

原创 C:实现一个strlen,返回字符串长度

分析字符串以 '\0' 为结束标记,那么用一个循环判断当前字符是不是 '\0' 就知道有多少个字符了。代码#include <stdio.h>#define LENGTH 1000int strlen1(char[]); //一个返回str长度的函数int main(){ char s[LENGTH]; scanf("%[^\n]s", s); printf("The length of the string is %d", strlen1(s)

2020-11-20 23:38:50 335

原创 C:实现一个strcat(strncat),连接两个字符串

分析主要部分有两个:1、找到字符串1的末尾。2、将字符串2连接到1的末尾。分别用循环完成以上两部分。定义两个字符数组,后面的长度不大于前面的。注意:scanf(“%s”,str) 遇到空格便停止,因此用%[^\n]* c 同时吸收回车。在main中实现#include <stdio.h>#define LENGTH1 1000#define LENGTH2 1000 //两个字符串的长度,2<=1int main(){ char str1[LENGT.

2020-11-20 23:18:24 2123

原创 C:打印乘法表

用两次for。#include <stdio.h>int main(){ int i = 1, j = 1,r=1; scanf("%d",&r); for (; i <= r; i++) { for (j=1; j <= i; j++) printf("%d*%-2d=%-3d ", j,i, i * j); printf("\n"); } return 0;

2020-11-11 18:06:19 177

原创 C:求一个3x3的整型矩阵对角线元素之和

分析利用二维数组储存矩阵;注意到主对角线i=j,次对角线i+j=2。#include <stdio.h>int main(){ int a[3][3] = {0}; int i, s1 = 0, s2 = 0; printf("输入3x3矩阵计算对角线和:\n"); for (i = 0; i < 3; i++) { scanf("%d %d %d", &a[i][0], &a[i][1], &.

2020-11-10 20:20:23 12681 4

原创 C:二维数组打印杨辉三角

V1#include <stdio.h>#define rows 10 /*在此更改打印行数*/int main(){ int a[10][rows] = {1, 0}, i, j, b; /*i行,j项,b输出数,{1,0}是给第二行用*/ for (i = 1; i < rows; i++) /*将所有行第一列置1*/ a[i][0] = 1; for (i = 1; i < rows; i++) {

2020-11-08 22:29:15 729

原创 C:猴子想peach吃桃问题

问题猴子第一天摘下若干个桃子,当即吃了一半又多一个,第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上时,只剩下一个桃子了。求第一天共摘多少桃子?分析设day(n)为第n天早上的桃子,也即是n-1天剩下的桃子。那么有day(10)=1day(9) = [day(10) + 1] x 2……day(n) = [day(n-1) + 1] x2代码#include <stdio.h>int...

2020-10-15 13:08:49 266

原创 C:计算“完全数”

完全数是它所有的真因子(即除了自身以外的约数)的和等于它本身。思路对每个给定范围的i,用j去除i,如果整除,则是i的因子。将真因子加起来并与i作比较就可以得到完全数。代码#include <stdio.h>int main(){ int i, j, k; //i为目标数,j为i的因子,k为因子和 for (i = 1; i <= 1000; i++) { k = 0; //计算每个i前将和置0 for (j =

2020-10-14 21:10:39 657 1

原创 C:通过三边判断三角形种类

分析输入三边-边是否为0-是否构成三角形-各种三角形。等腰直角三角形的边只能用近似值。用if-else嵌套结构。代码#include <stdio.h>int main(){ float a, b, c; //输入三边 while (1) //循环输入 { printf("输入三边\n"); scanf("%f %f %f", &a, &b, &c); if (a != 0 &&am

2020-10-07 00:26:06 1316

原创 C:求一元二次方程ax^2+bx+c=0的根

分析输入的系数 a b c(其中a≠0),用空格分隔。计算 Δ ,分三种情况输出。计算用求根公式并保留三位小数。代码#include <stdio.h>#include <math.h>int main(){ float x1, x2, d, a, b, c; while (1) //循环输入 { printf("输入a(≠0) b c\n"); scanf("%f %f %f", &a, &b, &c); if (a

2020-09-20 13:40:16 11565

原创 C:1000内水仙花数

分析对于每个三位数(100~999)i,分别计算百个十位并取整,将得到的数字计算立方和并与 i 比较,相等就说明是水仙花数。代码如下#include <stdio.h>int main(){ int a, b, c, d; //百十个位 for (float i = 100.0; i <= 999.0; i++) { a = i / 100; //取百位,强制转换类型 b = (i - 100 * a) / 10; //取十位.

2020-09-20 11:24:49 221

原创 C:求100~200素数

#include <stdio.h>int prime(int p) //素数判断{ int i; for (i = 2; i < p; i++) if (p % i == 0) return 0;//是素数 return 1;//不是素数}int main(){ int a, b = 0; long i; printf("以下为100~200的素数:\n"); for (i = 100; i <= 200; i++) //100-200的素数.

2020-09-19 20:38:01 181

空空如也

空空如也

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

TA关注的人

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