自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 aip650驱动

【代码】aip650驱动。

2024-01-19 09:26:09 873

原创 matlab_rand 公式 r = a + (b-a).*rand(N,1)的分析

rand产生的最大数是1,则r = -2 + (-18).*rand(10,1) = -2 + (-18).*1 = -2 + (-18) = -20。因为rand产生的结果是0到1之间的随机数,所以rand产生的结果先乘以-18,这样可以得到0到-18之间的随机数,然后再加上-2,则将范围移动到-2到-20。例如 rand产生最小数是0,则r = -2 + (-18).*rand(10,1) = -2 + (-18).*0 = -2 + (0) = -2;

2023-09-30 09:04:30 155

原创 C语言创建一个链表并删除指定数据的节点

创建一个链表并删除指定数据的节点,通过 scanf 获取用户输入的数据,调用 deleteNode 函数删除对应节点,并输出删除后的链表。

2023-03-26 19:12:53 1172

原创 strcmp和memcmp的使用比较

当两个字符串不相等时,使用memcmp函数的时间复杂度是O(n),而使用strcmp函数的时间复杂度是O(min(m,n)),其中m和n分别是两个字符串的长度。因此,随着输入规模n的增大,O(n)算法的执行时间会增加,而O(1)算法的执行时间不会增加。从实际使用角度,在字符串的比较上来说,如果在不知道传入的字符串大小的情况下,先使用strlen获取字符串大小,再使用memcmp函数进行比较这种方式在效率上是比直接使用strcmp函数效率略低的,因为需要先遍历一遍字符串来获取其长度。

2023-03-26 18:22:54 1833

原创 C语言 一维数组元素的位替换

起因:做硬件设计的时候数码管屏的图纸错误,导致共阴极做成了共阳极,原本存放一维数组8个元素的64位数据都需要经过对角线进行翻折。具体如下图:上图中,举例说明若a[0]=0x02,a[1]=0x00, 当沿着图中虚线将a[0]的第二位元素与a[1]的第一位元素进行替换,则输出a[0]=0x00,a[1]=0x01.代码如下typedef unsigned int uint8_t;void switch_buf(uint8_t buf[8]);void switch_buf(u.

2021-12-28 08:49:07 1340

原创 [驱动]BL0937

// 注:使用华大半导体HC32L130系列单片机。其中定时部分省略bl0937.h#ifndef _BL_0937_HPP_#define _BL_0937_HPP_// 注:BL0937可测量电压电流 或 功率struct _bl0937_{ ////////////////////////////////////////////////////////////////////////// // 以下参数需要在初始化前做好配置 en_gpio_port_t _port; //

2021-07-23 20:04:42 3696 3

原创 递归——二进制与十进制转换

十进制转二进制void to_binary(int n){ int r; r = n%2; // 取末位,必为0或1 // if (n >= 2) { // n < 2为终止条件 to_binary(n/2); } putchar('0'+r);}

2021-06-20 20:49:41 1019 1

原创 [驱动] 三位一体七脚数码管

使用HC32L13X系列,Cortex-M0内核LedDrv.h#ifndef _LED_DRV_HPP_#define _LED_DRV_HPP_#include "gpio.h"#define HLD_RAM_LEN 4 // ram的大小extern uint8_t sg_hld_display_ram[HLD_RAM_LEN]; // ramextern struct _hwr_led_drv_ sg_hld;#define GET_LED_RAM() sg_

2021-04-16 21:31:48 1044

原创 [驱动] HT1621M

单片机为HC32L13X,Cortex-M puls内核Ht1621m.h#ifndef _HT1621M_HPP_#define _HT1621M_HPP_#define HT1621M_RAM_SIZE 16struct _ht1621m_{ uint8_t _port_cs; uint8_t _port_wr; uint8_t _port_dat; uint8_t _pin_cs; uint8_t _pin_wr; uint8_t _pin_dat; ui.

2021-04-16 20:56:07 205

原创 [驱动] TM1729

注:本程序使用华大半导体HC32L13X系列单片机。Cortex-M0 plus内核Tm1729.h#ifndef _TM1729_HPP_#define _TM1729_HPP_extern void tm1729_init(void);extern void tm1729_disp(uint8_t* p, uint8_t size);#endifTm1729.c#include "BaseDef.h"#include "Tm1729.h"#incl..

2021-04-16 20:14:05 2087 1

原创 迭代法

1、求fn = 3 * fn1 - 2 * fn0中n等于20时候的值,fn0=1,fn1=2 int fn, fn0 = 1, fn1 = 2; int i; for (i = 2; i <= 20; i++) { fn = 3 * fn1 - 2 * fn0; fn0 = fn1; fn1 = fn; } printf("%d", fn);

2020-09-29 15:48:35 190

原创 排序相关程序

1、将a[]中的数据按大小顺序排到b[] int a[5], b[5], i ,j ; int maxn, point; for (i = 0; i < 5; i++) { scanf_s("%d", &a[i]); } for (i = 0; i < 5; i++) { maxn = 0; for (j = 0; j < 5; j++) { if (a[j] &gt

2020-09-29 13:29:21 75

原创 求素数

素数要求n除以2到平方根n所有数后仍为其本身的数。//判断素数——穷举法 int i = 2, m=1, q; scanf_s("%d", &q); for (i; i <= sqrt(q); ++i) { if (q%i == 0) { m = 0; break; } } printf("%s", m == 1 ? "yes" : "no"); getchar(); getchar(); return 0;//判断素数——穷举法 int

2020-09-28 20:06:46 292

原创 C语言中用泰勒法计算sinx的值

已知sinx的泰勒公式展开式sinx=x-x^3/3!+x^5/5!-x^7/7!+x^9/9!-…(无穷级数形式),将其转化未带有拉格朗日型余项的n阶麦克劳林公式:由此可得#include <stdio.h>#include<math.h>double fact(int n){ if (n == 0) return 1; return fact(n - 1)*n;//求1-(2*n-1)的阶层}double fact_2(int n){ lon

2020-09-28 15:34:31 14344 1

原创 C语言中关于while(scanf(“%d%d”)!=EOF)引发的思考

while(scanf(“%d%d”)!=EOF)关于scanf的几个要点:1、scanf的引号中是否需要加入非输入控制符int scanf(const char *format, ...);也就是说scanf有两种用法 一种是scanf("输入控制符", 输入参数); 一种是scanf("输入控制符非输入控制符", 输入参数);。在printf中非输出控制符是原样输出的,所以在scanf中的非输入控制符也需要原样输入。 “输入控制符”和“输出控制符”是一模一样的。例如:...

2020-09-28 12:09:46 1906

原创 【STM32F10x】三:使用stm32标准库函数

虽然使用寄存器操作是最直接的操作硬件的方式,但是在STM32中提供给了一种更加方便快捷的使用方式——库函数。库函数是实际上是一种对于寄存器以结构体形式的封装。首先,在stm32中库函数主要分为了两块:stm32标准库库CMSIS目录下的<core_cm3>和<stm32f10x_it>文件和stm32标准外设库STM32F10x_StdPeriph_Driver 目录下src目录中的.c文件。 只要将这些头文件添加到项目中即可使用。首先观察RCC,在上一次的写入中,使用到了R

2020-06-17 19:17:18 1414

原创 【STM32F10x】二:利用结构体访问外设

之前了解使用寄存器操作GPIOA口的LED灯亮灭程序,原理是将寄存器的地址强制转换成指针形式, 然后对指针进行操作。这一章尝试通过将外设定义成结构体的形式来操作外设寄存器。本章重点在于理解和使用<结构体>来控制外设寄存器,然后举例一个按键控制LED灯实现亮灭功能,通过结构体访问RCC和GPIO的相关寄存器。预备知识1:寄存器地址和结构体在形式上都是地址连续分布通过C语言...

2020-06-17 17:35:38 534

翻译 关于5G关键技术——Massive MIMO 基本原理中波束的探究

摘要近年来移动数据业务量呈现几何指数增长,在可预测的未来我们急需能够满足更高的传输速率,更大的带宽容量和更低延时的无线通信系统。而相比较第四代(4G),第五代(5G)移动通信需要在无线传输上取得突破性创新,以实现频谱效率和功率效率提升10倍以上的目标,其中,MassiveMIMO(大规模天线技术,亦称为Large Scale MIMO)是第五代移动通信(5G)中提高系统容量和频谱利用率的关键技术。本文将MassiveMIMO技术的研究进行原理阐述,其中重点阐述MIMO技术在功率增益上的提高——波..

2020-06-12 23:03:50 8161 1

原创 【STM32F10x系列】一:寄存器相关操作

讲解关于在编写处理器代码过程中,真正处理器操作的本质还是寄存器,只有理解了寄存器的运行原理,才能理解代码运行

2020-04-23 01:30:32 1210

原创 SQL server安装错误

若出现以下错误: SQL Server 安装程序在运行 Windows Installer 文件时遇到错误。 Windows Installer 错误消息: 打开安装日志文件的错误。请验证指定的日志文件位置是否存在,是否可以写入。 Windows Installer 文件: c:\Baiduyunpan\cn_sql_server_2014_express_with_advan...

2020-03-20 09:27:23 1255

stm32exti.rar

关于实现STM32F10x的中断程序控制LED灯亮灭,其中选择使用GPIOA管脚Pin_0端口进行输入及复用控制。初始状态灯熄灭,当按下按键,检测跳转到EXTI0_IRQHandler函数中执行中断控制,GPIOA取反并延时,清除标志位,等待下一次按键按下。

2020-04-19

空空如也

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

TA关注的人

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