- 博客(9)
- 收藏
- 关注
原创 为什么C51常用unsigned char而不用unsigned int?
unsigned int 范围是0~65536,unsigned char 范围是0~256。因为前者占用字节少,在知道变量没有超过255时,用前者占用字节少,而且快。占用字节问题,不超过255的话还是用unsigned char,节约嘛。仅此而已,范围取值不一样用个地方也就不一样了,他们俩就这点区别。
2024-09-06 16:56:40 218
原创 C语言-结构体
这里是不是就明白了,struct包括花括号这里是结构体数据类型,然后用typedef将这个类型换一个新名字,叫GPIO_InitTypeDef。因为结构体是一种组合数据类型,在函数之间的数据传递中通常用的是地址传递而不是值传递。然后是typedef;(在一个复杂的程序里,用结构体将一些数据打包起来,有利于管理或者传递这些数据,并且有利于程序员的理解)需要写结构体名字c,然后用.运算符取索引(这里的索引是结构体子项的名字,比如c.x = 'A';下面这个就是结构体的数据类型,然后后面跟的是结构体变量的名字;
2023-12-09 21:04:55 77
原创 C语言-typedef
宏定义与typedef区别首先,宏定义的新名字在左边,typedef的新名字在右边;然后,宏定义不需要分号,typedef后面需要分号;其次,宏定义任何名字都可以换,而typedef只能专门给变量类型换名字。
2023-12-06 16:27:57 90 1
原创 C语言-宏定义
第一个用途:用一个字符串代替一个数字,便于理解,防止出错;比如在程序中经常用1代表高电平,0代表低电平,这还算好理解,但如果说1代表上拉输入、2代表下拉输入、3代表浮空输入等等,这时直接用数字来表示就非常麻烦,那我们就可以用宏定义将数据参数映射到一个字符串上,这样就比较好理解。第二个用途:提取程序中经常出现的参数,便于快速修改;
2023-12-06 16:09:27 108 1
原创 延时函数Delay
(E:\LearningFiles\STM32入门教程资料\程序源码\STM32Project\1-3 Delay函数模块)使用延时函数模块,需要先在 main.c 上面写上#include "Delay.h"回到Keil软件,点击三个箱子的按钮,添加组,也叫System(把它往上挪个位置)选择C/C++,添加这个新文件夹System的头文件路径。打开Delay.c文件可以看到这些函数的定义(怎么使用)把Delay.c\ Delay.h 粘贴到这里;可以打开Delay.h看一下,这里就是三个延时函数。
2023-11-16 16:40:18 4585 2
原创 批处理文件(降低工程文件内存)
因为工程编译产生的文件比较大(例如LED闪烁的工程就有20M,主要占空间的就是Listing和Objects这两个文件夹,这些都是工程的中间文件;分享个小工具(E:\LearningFiles\STM32入门教程资料\程序源码\STM32Project\1-2 keilkill批处理);这时它就会把这些中间文件都删掉,我们再看一下大小,这样就只要2M左右的大小了,然后就可以把这个文件夹打包把工程分享给别人了)。批处理文件可以把工程编译产生的中间文件都删掉;
2023-11-16 16:31:43 77
原创 Keil5新建工程
再找到stm32f10x和system的两个文件(E:\LearningFiles\STM32入门教程资料\固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x),(总共3个)Ctrl+C复制,粘贴到(新建)Start文件夹下;然后选中Start,在右边点击(Add Files)添加文件按钮,打开Start文件夹,文件类型选(All files)所有文件;
2023-11-02 14:08:32 1190
原创 点亮小灯操作
这里有个函数GPIO_SetBits,可以把指定端口设置成为高电平。我们是PC13口的LED,所以第一个参数就写GPIOC。·用库函数来实现点灯的操作(间接地配置寄存器)函数GPIO_ResetBits。3.最后设置高低电平来进行点灯。2.第二步是配置端口模式。用GPIO_Init函数。·1.首先是使能时钟。
2023-10-28 15:54:25 105
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人