- 博客(10)
- 收藏
- 关注
原创 switch中case和break
突然想到一个问题,如果switch语句中,case的后面没有加break会怎么样呢?试试看,哈哈/*可以猜想一下程序的运行结果。*/#include "stdio.h"int main(){ char a = 0; printf("不加break\n"); switch(a){ case 0:printf("1\n"); case 1:printf("2\n"); case 2:printf("3\n");break; case 3:printf("4\n"); def
2022-04-02 14:53:21
5960
原创 char * 和 int * 的区别
char * 和 int * 的区别在学习过程中遇到了对单片机LCD外设内存地址操作的问题,问题如下例如内存的起始地址是0XA20(内存分布如下),定义一个变量add = 0XA20(代表LCDM1);访问下一个地址(如LCDM2)时采用add+1的操作我应该怎么利用变量来操作地址里面的内容呢?方法一:*(unsigned char *)add = 0X0F; // LCM1*(unsigned char *)(add+1) = 0X0F; // LCDM2
2022-04-01 11:40:08
2761
原创 单总线协议(1-wire)
微处理器与 DHT11之间的通讯采用单总线通信,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:一次完整的数据传输为40bit,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。通讯过程:流程如下产生起始信号
2022-02-15 11:10:27
3394
原创 STM32学习笔记——(5)按键检测
按键检测一、按键检测一、按键检测如上图所示,若按键KEY1未按下时检测点为低电平,按下时检测点为高电平。若按键KEY2/3/4未按下时检测点为高电平,按下时检测点为低电平。程序如下:/**************************一些宏定义***************************/#define KEY1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)//读取按键1(KEY1)#define KEY2 GPIO_ReadInp
2021-11-03 17:35:37
7202
原创 C语言学习笔记——(2)数组
数组1、什么是是数组2、数组的定义2.1数组的表达2.2数组的含义2.3数组的大小:3. 字符数组4.字符串操作5.二维数组1、什么是是数组数组是指有序的元素序列。如果将有限个类型相同的变量的集合命名,那么这个名称就是数组名,而组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。简而言之,数组就是有限个相同类型变量的有序序列。数组中的数据按着一定的方式存储到空间2、数组的定义再讲数组前先引进一个概念:基本数据类型和构造数据类型基本数据类型包括:整型(short,int,lon
2021-11-02 15:55:18
4908
原创 STM32学习笔记----(4)GPIO
STM32必须掌握的有时钟树和系统架构,感觉那个是比较简单的,多看几遍就能看会了。在后面的笔记中也会记录到这些,如果自己看不懂的话可以跟着不同外设的笔记来了解一下。这篇笔记是讲解的GPIO,学会了GPIO的话就可以完成32的第一个功能STM32----GPIOGPIO描述GPIO模式输入配置GPIO寄存器介绍GPIOGPIO描述GPIO,英文全称为General-Purpose IO ports,中文意思是通用I/O端口。在嵌入式系统中,经常需要控制许多结构简单的外部设备或者电路,这些设备有的需要通
2021-10-31 16:21:13
2111
原创 STM32学习笔记----(3)修改系统时钟
如果你的外部晶振时25MHz,你的系统初始化是按照8MHz来初始化的会发生啥情况?会把单片机锁死,让你下不进去程序,如果不知道原因的化,这个时候贼难受。(想解锁的话,换个电脑,把可以在你板子上正常运行的程序,按着复位键下载到你的单片机里面)第一次玩F407就出现的这个情况,原子哥的是8M的我的单片机是25M的,试了一上午,锁死一上午,最后想到晶振,才解决这个问题。前提:外部晶振变化,还希望系统时钟为最大值。F4的修改的方法如下第一步第二步F1的修改方法:...
2021-10-25 23:18:33
846
原创 STM32学习笔记----(2)启动文件介绍
知识补充:C语言五大区:堆区-------存储动态开辟的空间 malloc ,由程序员决定开辟和释放栈区-------存储的形参,实参,局部变量,由编译器开辟和释放全局变量区–存储全局变量,static修饰的局部变量文本常量区–常量,只有只读权限代码区----- 存储二进制代码区STM32启动过程startup_stm32f10x_hd.s文件(了解大致过程即可)功能开辟栈空间(如果不是太懂的话,C语言专栏有C语言5大区的介绍)Stack_Size EQU 0x00000400
2021-10-25 22:42:04
436
原创 C语言学习笔记——(1)控制流程
C语言的控制语句有9条——“9条语句”,这9条语句是后期写逻辑控制的基础,需要熟练使用这九条语句。这9条语句又可细分为:条件语句、循环语句、控制语句。条件语句1.if语句if (条件语句) { 执行语句; } else { 执行语句; }2.switch语句switch (变量名) { case 常量 1:语句;break; case 常量 2:语句;break; ...... default: 语句; }循环语句3.for语
2021-09-22 11:12:01
218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅