STM32系列第4篇--C语言复习

发布者:zhaodawei617最新更新时间:2017-09-22 来源: eefocus关键字:STM32系列  C语言 手机看文章 扫描二维码
随时随地手机看文章

位操作

  1. & 与

  2. ~ 取反

  3. | 或

  4. ^ 异或

  5. << 左移

  6. >> 右移

define宏定义关键词 
define是C语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提供方便。

#define 标识符 字符串1

ifdef条件编译 
单片机程序开发过程中,经常会遇到一种情况,当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。

    #ifdef 标识符 
        程序段1 
    #else 
        程序段2 
    #endif 12345

extern变量申明

C语言中extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 
这里面要注意,对于extern申明变量可以多次,但定义只有一次。

typedef类型别名

    typedef unsigned          char uint8_t;    typedef unsigned short     int uint16_t;    typedef unsigned           int uint32_t;    typedef unsigned         int64 uint64_t;1234

结构体:构造类型

    Struct 结构体名{    成员列表1;
    成员变量2;
    …
    }变量名列表;12345

C语言关键字 :static

  1. Static申明的局部变量,存储在静态存储区。

  2. 它在函数调用结束之后,不会被释放。它的值会一直保留下来。

  3. 所以可以说static申明的局部变量,具有记忆功能。

指针 
指针指向的是地址,地址指向的是内容: 
我们需要一个变量,来存储地址,这个变量的值是地址,但是我们可以通过修改变量的值,来不断的改变地址,但是,我们如果需要改变该个地址的值的话,就需要,对地址的值进行修改,而不改变地址。

int a = 10;int *p ;
p = &a;*p =11;
a=?12345

这里我们看到,p 是一个变量,我们使用p来存储变量a的地址,这是,我们使用*p对于这个变量进行赋值,那么a的值最后,是多少呢,结果是11,因为我们使用*p赋值,就相当于a=11,赋值效果一样的。 
也就是说p是指针,指向地址;*p是地址,指向内容。


关键字:STM32系列  C语言 引用地址:STM32系列第4篇--C语言复习

上一篇:STM32系列第5篇--Systick滴答定时器
下一篇:STM32系列第3篇--GPIO初始化

推荐阅读最新更新时间:2024-03-16 15:38

STM32系列芯片的命名规则
  示例:     从上面的料号可以看出以下信息:   ST品牌ARMCortex-Mx系列内核32位超值型MCU,LQFP-48封装闪存容量32KB温度范围-40℃-85℃;      1.产品系列:   STM32代表ST品牌Cortex-Mx系列内核(ARM)的32位MCU;   2.产品类型: F:通用快闪(FlashMemory);   L:低电压(1.65~3.6V);   F类型中F0xx和F1xx系列为2.0~3.6V;F2xx和F4xx系列为1.8~3.6V;   W:无线系统芯片,开发版。   3.产品子系列:   050:ARMCortex-M0内核;   051:ARMCortex-M0内核;  
[单片机]
<font color='red'>STM32</font><font color='red'>系列</font>芯片的命名规则
文字转声明: 编写程序将特定格式的输入转换为C语言声明
一. 程序功能 编写程序将特定格式的输入转换为C语言声明. 二. 程序源码 #include stdio.h #include string.h #include ctype.h #define MAXTOKEN 100 enum {NAME, PARENS, BRACKETS}; int tokentype; char token ; char name ; char datatype ; char out ; int p_getch(void); void p_ungetch(int); int main(void) { int type, lasttype;
[单片机]
单片机C语言实现独立按键检测与矩阵键盘操作
所有的电子产品几乎到涉及到按键操作。所以微控制器是如何识别一个按键是否被按下,按下后又该如何做出反应,又如何防止按键抖动呢?更深入一点,微控制器又是如何识别矩阵键盘的?本文将详细阐述如何用C语言实现独立按键的检测和矩阵键盘操作。 完成本文所需硬件:基于C51系列单片机的开发板(本文是基于STC12C5A60S2处理器的一款开发板),带中文版windows操作系统的电脑。 完成本文所需软件:KEIL系列平台(本文选取Keil uVision4), STC烧写软件-ISP-V6.82E 。 一、独立按键检测 这里我要实现用按键K1去控制发光二极管LD4。同时为了试验按键过程中与其他事件的冲突性,引入两个事件即LD1
[单片机]
单片机C语言程序设计:花样流水灯
/* 名称:花样流水灯 说明:16 只 LED 分两组 按预设的多种花样变换显示 */ #include reg51.h #define uchar unsigned char #define uint unsigned int uchar code Pattern_P0 = { 0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff, 0xaa
[单片机]
单片机<font color='red'>C语言</font>程序设计:花样流水灯
ARM-bootloader-C语言环境设计
一、栈初始化 1、概念解析 1.1栈 栈是一种具有后进先出性质的数据组织方式,也就是说后存放的先取出,先存放的后取出。栈底是第一个进栈的数据所处的位置,栈顶是最后进栈数据所处的位置。 1.2满栈和空栈 根据SP指针指向的位置,栈可以分为满栈和空栈。 1、满栈:当堆栈指针SP总是指向最后压入堆栈的数据 2、空栈:当堆栈指针SP总是指向下一个将要放入数据的空位置 ARM采用的是满栈 1.3、升/降栈 1、升栈:随着数据的入栈,SP指针从低地址- 高地址移动 2、降栈:随着数据的入栈,SP指针从高地址- 低地址移动 ARM采用的是降栈。有时候我们会说ARM采用的是满降栈。 1.4、栈帧
[单片机]
ARM-bootloader-<font color='red'>C语言</font>环境设计
C语言指针的简单示例
前边我们提到了,指针的意义往往在小程序里是体现不出来的,对于简单程序来说,有时候用了指针,反而可能比没用指针还麻烦,但是为了让大家巩固一下指针的用法,我还是写了个使用指针的流水灯程序,目的是让大家从简单程序开始了解指针,当程序复杂的时候不至于手足无措。 #include reg52.h sbit ADDR0 = P1^0; sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void ShiftLeft(unsigned char *p); void main(){ unsigned int i; unsigned cha
[单片机]
基于单片机的频率计的C语言源代码
本文是基于AT89C51单片机的频率计的C源程序。该频率计主要实现的功能有如下几个:   1. 测试功能   它表明数字频率计所具备的全部测试功能,一般包括测频,周期,累计脉冲数,频率比,时间间隔及自较等功能。   2. 测量范围   它说明不同功能的有效测量范围。如测频率时,测量范围是数字频率计处于正常工作条件下,被测信号的频率范围,一般用频率的上,下限值表示,低端大部分从10HZ开始;高端因不同的频率计而异。因此高端频率是确定低,中,高速计数器的依据。在测量周期时,测量范围常用周期的最大值,最小值表示。   3. 输入特性   数字频率计一般有2~3个输入通道,测试不同项目时,被测信号可经不同的通道输入仪器。输
[单片机]
基于单片机的频率计的<font color='red'>C语言</font>源代码
PIC单片机入门_C语言编程技术
1.为什么也是C语言? 用C 语言来开发单片机系统软件最大的好处是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高等,因此C 语言编程在单片机系统设计中越来越广泛的运用。PIC 单片机的软件开发,同样可以用C 语言实现。 Microchip 公司没有自行开发PIC单片机的C 语言编译器,但其他公司有开发众多支持PIC 单片机的C 语言编译器,常见的有Hitech、CCS、IAR、Bytecraft 等公司。其中最常用的是Hitech 公司的PICC 编译器,它稳定可靠,编译生成的代码效率高,在用PIC 单片机开发者中得到广泛认可。 Hitech-PICC 编译器基本上符合ANSI C标准,但是不支持函数的递归调用
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved