- 博客(19)
- 收藏
- 关注

原创 【C语言-----结构体】
结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。有了结构体类型,那如何定义变量,其实很简单!int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//初始化:定义变量的同时赋值struct Stu//名字int age;//年龄//结构体嵌套初始化int data;
2024-03-25 21:10:25
670

原创 【C语言-----内存函数】
情况1:destination的地址source的地址。情况3:destination的地址=source的地址。//destination - 目标内存块的地址。//destination - 目标内存块的地址。//ptr:指向要设置的内存块的指针。//source - 源内存块的地址。//num - 要复制的数据的字节数。//source - 源内存块的地址。//num - 要复制的数据的字节数。//num:要设置的字节数。
2024-03-25 21:04:33
562

原创 【CC2530裸机开发-----看门狗定时器】
在CPU可能受到一个软件颠覆的情况下,看门狗定时器(WDT)用作一个恢复的方法。当软件在选定时间间隔内不能清除WDT时,WDT就必须复位系统。看门狗可用于受到电气噪音电源故障静电放电等影响的应用,或需要高可靠性的环境。如果一个应用不需要看门狗功能,可以配置看门狗定时器为一个间隔定时器,这样可以用于在选定的时间间隔产生中断。四个可选的定时器间隔看门狗模式定时器模式在定时器模式下产生中断请求WDT可以配置为一个看门狗定时器或一个通用的定时器。WDT模块的运行由WDCTL寄存器控制。
2024-03-25 20:46:08
1318

原创 【ESP8266-NodeMCU裸机开发------连接云平台】使用ESP8266-NodeMCU连接新大陆云平台
使用的通讯协议:ndp.nlecloud.com,端口:8600,8601(TLS)本次使用的单片机型号为:ESP8266-NodeMCU。开发环境:Arudino IDE。使用的温湿度传感器:DHT11。
2023-11-16 16:47:04
900
3
原创 【STM32HAL-----红外遥控】
红外线是波长介于微波和可见光之间的电磁波,波长在 760 纳米到 1 毫米之间,是波形比红光长的非可见光。自然界中的一切物体,只要它的温度高于绝对零度(-273)就存在分子和原子的无规则运动,其表面就会不停的辐射红外线。当然了,虽然都是辐射红外线,但是不同的物体辐射的强度是不一样的,而我们正是利用了这一点把红外技术应用到我们的实际开发中。
2025-01-15 00:40:25
1120
原创 【STM32HAL-----GPIO】
IO引脚分布特点:按组存在、组数视芯片而定、每组最多16个IO引脚。特点:空闲时(高阻态),IO状态不确定,由外部环境决定。
2025-01-15 00:31:50
1325
原创 【CC2530裸机开发-----超声波传感器(HC-SR04)】
超声波传感器是将超声波信号转换成其他能量信号的传感器。超声波是振动频率高于20kHz的机械波超声波测距主要应用于一些工业现场的位置监控、移动机器人的自动避障行走、汽车倒车、建筑施工工地,可在潮湿高温。多尘等恶劣环境下工作。例如:液位、厚度、管道长度等场合。超声波具有指向性强、能量消耗缓慢且在介质中传播的距离较远的优点,因而经常用于距离的测量。相比于其它定位技术而言,超声波定位技术成本低、精度高、操作简单、工作稳定可靠,非常适合于短距离测量定位。cc2530单片机为许多控制提供了高度灵活和低成本的解决办法。
2025-01-15 00:27:32
462
原创 【C语言-----文件管理】
磁盘上的文件就是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类)。
2024-09-17 19:51:34
1127
1
原创 【CC2530裸机开发-----片内温度采集】
外界温度变化不会立刻体现的采样结果上,如果使用打开的电烙铁靠近CC2530,采样结果会快速发生变化,请尽量不要用手直接接触CC2530来验证内部温度传感器。静电可能会导致芯片损坏。每1000毫秒对温度进行一次更新。使用CC2530的ADC对内部温度传感器进行采样,并计算采样结果所对应的真实值,温度值通过串口发送,CC2530的温度传感器并不精准,
2024-09-17 19:48:36
510
原创 【C语言-----数据存储:浮点型存储】
0.5*(1/2)的二进制形式为0.1,由于规定正数部分必须为1,即将小数点右移1位,则为1.0*2^(-1),其E等于-1+127=126,表示为01111110,而尾数1.0去掉整数部分为0,补齐0到23位的数00000000000000000000000,则其二进制表示形式为:0 01111110 00000000000000000000000。对于64位的浮点数(double),最高位的1位是符号位S,接着的个位是指数E,剩下的52位为有效数字位M。(-1)^S表示符号位,当S=0,V为正数;
2024-03-30 09:16:23
1033
1
原创 【C语言-----数据存储:整型存储】
但是,由于我们的i是一个unsigned int类型的,是一个无符号数,当程序执行到-1时,-1存到i中,i就把-1看成一个很大的数。当程序执行到-128的时候,在进行-1-128的操作由于char的取值范围是~128-127,当i变成-129的时候,i会变成127。同时,加法和减法也可以统一处理(CPU只有加法器),此外,补码和原码相互转换,其运算过程是相同的,不需要额外的硬件电路。因为我们的i是无符号(unsigned int)类型的数据,当-1存到i的时候,i会把最高位当成有效位。
2024-03-28 20:45:19
800
原创 【C语言-----Visual Studio 2022调试】
调试(Debugging/Debug),又称除错,是发现和减少计算机程序或电子仪器设备程序错误的一个过程。通常称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。逐语句,就是每次都执行一条语句,但是这个快捷键可以使我们的执行逻辑进入函数内部(这是最常用的)逐过程,通常用来处理一个过程,一个过程可以是一次函数调用,或者是一条语句。通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。开始调试之后,可以查看当前环境的寄存器的使用信息。
2024-03-28 15:49:03
657
原创 【C语言-----柔性数组】
C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员。int i;int a[0];//柔性数组成员}type_a;int i;int a[];//柔性数组成员}type_a;
2024-03-28 11:05:30
410
原创 【C语言-----动态内存管理】
C语言提供了一个动态内存开辟的函数:这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。如果开辟内存成功,则返回一个指向开辟好空间的指针。如果开辟内存失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。返回值的类型是(void*)类型,所以malloc函数并不知道开辟空间的类型,具体在使用的时候由使用者自己来决定。如果参数size为0,malloc的行为是标准是未定义,取决于编译器。
2024-03-28 10:54:45
906
1
原创 【C语言-----(联合)共用体】
联合也是一种特殊的自定义类型。这种类型定义的变量也包含一系列的成员,特征是这些成员共用同一块空间(所以联合也叫共用体)。//联合类型的声明union Uint a;int c;int main()//联合变量的定义union U u;//计算联合变量的大小//查看联合类型成员是否在同一块空间上return 0;结论:证明了联合的大小和空间共用。
2024-03-25 21:15:08
175
1
原创 【C语言-----枚举】
枚举顾名思义就是------列举。把可能的取值-------列举。比如我们现实生活中:一周的星期一到星期日是有限的7天,可以一一列举。性别:男,女,保密,等等。颜色:红,黄,蓝,绿,等等。这里就可以使用枚举了。man,womanenum colorred,yellow,blue,black以上定义的enum people,enum color,都是枚举类型。{}中的内容是枚举类型的可能取值,也叫枚举常量。
2024-03-25 21:13:38
156
原创 【ESP8266-NodeMCU裸机开发------自动连接最强信号WiFi网络】
假如我们的ESP8266-NodeMCU开发板只在一个地方使用,它只用知道这个地方的一个WiFi即可,但是如果我们想在多个地方,多个WiFi网络环境下,你又想让自己使用到最强的WiFi信号而不用去自己去找,那么我这个代码或许可以帮助到你。今天教大家使用ESP8266-NodeMCU开发板连接当前WiFi网络中最强信号的WiFi。
2023-11-17 11:26:26
350
1
原创 【CC2530裸机开发-----IAR开发环境安装】
这样IAR8051-8.10开发环境就已经下载好了,如果桌面上没有快捷方式,就点击键盘win键,搜索IAR,找到文件所在地,把快捷方式拷贝一份就好了。6.公司和用户名随便填,License填注册机生成的License,然后点Next。7.输入注册机生成的License Key,然后点击Next。4. 选择我接受许可协议的条款,再点击Next。2.开始安装IAR,选择Next点击。8.选择完全安装,然后点击Next。9.选择安装位置,然后点击Next。10. 默认即可,点击Next。12.安装等一会就好了。
2023-11-16 21:48:18
2075
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人