第3章-stm32单片机C语言程序设计基础-电子课件

上传人:des****85 文档编号:292144726 上传时间:2022-05-13 格式:PPT 页数:154 大小:1.55MB
返回 下载 相关 举报
第3章-stm32单片机C语言程序设计基础-电子课件_第1页
第1页 / 共154页
第3章-stm32单片机C语言程序设计基础-电子课件_第2页
第2页 / 共154页
第3章-stm32单片机C语言程序设计基础-电子课件_第3页
第3页 / 共154页
第3章-stm32单片机C语言程序设计基础-电子课件_第4页
第4页 / 共154页
第3章-stm32单片机C语言程序设计基础-电子课件_第5页
第5页 / 共154页
点击查看更多>>
资源描述

《第3章-stm32单片机C语言程序设计基础-电子课件》由会员分享,可在线阅读,更多相关《第3章-stm32单片机C语言程序设计基础-电子课件(154页珍藏版)》请在金锄头文库上搜索。

1、退出退出嵌入式单片机原理及应用燕山燕山大学大学电气工程学院自动化系电气工程学院自动化系 1 ARM嵌入式系统概述2 STM32单片机结构和最小系统 3 基于标准外设库的C语言程序设计基础 4 STM32通用输入输出GPIO5 STM32外部中断6 STM32通用定时器7 STM32通用同步/异步收发器USART8 直接存储器存取DMA9 STM32的模数转换器ADC10 STM32的集成电路总线I2C11 STM32的串行外设接口SPI第第3章章 基于标准外设库的基于标准外设库的C语言程序设计基础语言程序设计基础 3 3.1.1 嵌入式嵌入式C C语言基础语言基础文件结构、程序板式、文件结构、

2、程序板式、C C语言知识精编语言知识精编 3 3.2.2 CMSISCortex-M3 CMSISCortex-M3微控制器软件接口标准微控制器软件接口标准CMSISCMSIS概述、概述、STM32F10 xSTM32F10 x标准外设库标准外设库 3.3 3.3 基于基于MDKMDK的的STM32STM32开发开发退出退出C语言的特点语言的特点1、语言简单、紧凑、灵活。(32个关键字,9种控制语句)2、运算符丰富(34种表达式)3、数据结构丰富4、具有结构化的控制语句5、目标代码质量高,程序执行效率高。6、可移值性好7、兼有低级语言和高级语言的特点3.1 嵌入式嵌入式C语言基础语言基础 3.

3、1 嵌入式嵌入式C语言基础语言基础 每个C程序通常分为两个文件,一个文件用于保存程序的声明,称为头文件,以“.h”为后缀。另一个文件用于保存程序的实现,称为源文件,以“.c”为后缀。如果一个工程中头文件数目较多,通常将头文件和源文件分别保存在不同的目录以便于维护。例如可以将头文件保存于inc目录,源文件保存于src目录。退出退出版权和版本版权和版本声声明明/* Copyright (c) 2014,燕山大学电气工程学院* All rights reserved.* 文件名称:filename.h* 摘 要:简要描述本文件的内容* 当前版本:1.1* 作 者:输入作者(或修改者)名字* 完成日期

4、:2014年7月20日* 取代版本:1.0 * 原作者 :输入原作者(或修改者)名字* 完成日期:2014年1月10日*/头文件结构头文件结构头文件版权和版本声明、预处理块和函数声明头文件版权和版本声明、预处理块和函数声明/ 版权和版本声明版权和版本声明#ifndef_GRAPHICS_H_#define_GRAPHICS_H_#include #include “myheader.h” / 引用非标准库的头文件void Function1();/ 全局函数声明#endif源文件结构源文件结构源文件版权和版本声明、头文件的引用和程序的实现体源文件版权和版本声明、头文件的引用和程序的实现体/ 版

5、权和版本声明版权和版本声明#include “graphics.h”/ 全局函数的实现体void Function1()简单的简单的C程序介绍程序介绍例1:最简单的程序#include /包含头文件 int main(void)/*主函数*/printf(“this is a c program!n”); /*输出了一句话*/例例2 求两个数之和求两个数之和#include /包含头文件 int main(void)/*主函数*/ int a,b,sum;/*定义变量*/a=100;b=200; /*给变量赋值*/sum=a+b/*求a与b的和*/printf(“sum=%dn”,sum);/

6、*输出结果*/ scanf(“%d%d”,&a,&b);例例3 求两个数中的最大数求两个数中的最大数#include /包含头文件int max(int x,int y); /*定义max函数,函数值为整型,x,y为型参,整型*/ int z; /*函数内用到内部变量z,也要加以定义*/ if(xy) z=x; /*比较x,y的大小,如果x大于y,则执行z=x*/else z=y; /*否则执行z=y*/return(z); /*将z的值返回,通过max带回调用处*/ int main(void)/*主函数*/int a,b,c; /*定义变量*/ scanf(“%d%d”,&a,&b); /

7、*输入变量a,b的值*/ c=max(a,b); /*调用函数,将得到的值赋给c*/ printf(“max=%dn”,c); /*输出c的值*/C程序的结构特点和书写格式程序的结构特点和书写格式1、函数是组成C程序的基本结构2、一个函数由两部分组成:函数说明部分函数体函数体:说明部分 执行部分 3、一个程序总是从main函数开始执行4、语句以分号;结束5、书写格式自由6、用/*/做注释字符集字符集什么是字符集在C语言程序中允许出现的所有基本字符的组合称为C语言的字符集。字符集分类(1) 大小写英文字母(52个)(2) 数字符号(10个)(3) 键盘符号(33个)(4) 转义字符C语言的基本元

8、素语言的基本元素1、符号集(字符集)C语言使用的基本符号共有如下5种:(1)大写字母:A-Z(2)小写字母:a-z(3)阿拉伯数字:0-9(4)下划线:_(5)标点符号和运算符标识符标识符什么是标识符什么是标识符标识符是用户自定义的一种字符序列,通常用来表示程序中需要辨认的对象名称。标识符的命名规则标识符的命名规则标识符是由字符或下划线开头的字母、数字、下划线组成的一串符号;保留字不能作为标识符。“_”可以作为标识符的第一个字母,但是往往用于库代码正确标识符正确标识符:sum i a2 a_2 _a2 _a_2错误的标识符错误的标识符:2a a? c.g a-2 if whileC语言的数据类

9、型语言的数据类型数据是操作的对象,数据类型是指数据的内在表现形式(代码、存储、运算)C语言程序的数据类型如下:空类型数据类型基本类型数据类型指针类型整型int实型(浮点型)字符型char单精度flaot双精度double数组结构体共用体枚举型派生类型退出退出关键字关键字意义意义char声明字符型变量或函数数double声明双精度变量或函数据enum声明枚举类型类float声明浮点型变量或函数型int声明整型变量或函数long声明长整型变量或函数short声明短整型变量或函数signed声明有符号类型变量或函数struct声明结构体变量或函数union声明共用体(联合)数据类型unsigned声

10、明无符号类型变量或函数void声明函数无返回值或无参数,声明空类型指针C语言的数据类型语言的数据类型常量常量什么是常量又称为字面量,表述常数常量类型整型常量实型常量字符常量字符串常量常量和变量常量和变量一、常量和符号常量1、常量:在程序运行过程中, 其值不能被改变的量常量区分为不同类型(表现形式)如:12、3.2、a二、变量1、变量:其值是可以改变的量,它用标识符(变量名)来表示,在内存中占据一定的存储单元。2、变量的定义方法类型符标识符3、注意:1.见字知意2.先定义后使用3.习惯:符号常量大写,变量名小写如:int a,b,max; char c1,c2,s; float x,y,z; d

11、ouble i,j;变量变量变量数据类型数据类型类型符号占用字节数数据类型类型符号占用字节数整型int4无符号长整型unsigned long4短整型short2单精度实型float4长整型long4双精度实型double8无符号整型unsigned int4字符型char1无符号短整型unsigned short2变量存储类型变量存储类型存储类型存储类型符存储地点自动型auto内存堆栈区寄存器型registerCPU的通用寄存器静态型static内存数据区外部参照型extern变量的定义和初始化变量的定义和初始化变量的初始化变量在定义时就要初始化变量赋初值的语句格式存储类型符 数据类型符 变

12、量名=初值;结构型的定义结构型的定义定义语句struct 结构名称 数据类型1 成员1名; 数据类型2 成员2名; . . 数据类型n 成员n名;结构的本质是不同类型元素的集合结构型变量的定义和引用结构型变量的定义和引用结构型变量的定义方法:先定义结构型、后定义变量struct student int id; char name20; int age;struct student x , y;结构型变量成员的引用结构型变量成员的引用引用方法结构型变量成员的引用方法引用格式:结构型变量名.成员名结构型变量成员地址的引用方法引用格式:&结构型变量名.成员名结构型变量地址的引用方法引用格式:&结构型

13、变量名指向结构型数据的指针变量的定义和引用指向结构型数据的指针变量的定义和引用指向结构型变量的指针定义方法:同结构型变量的定义方法,区别在于定义时变量名前面加*。引用方法方法1: (指针变量).成员名方法2: 指针变量成员名基础练习:基础练习:输入3个学生信息,并输出!(使用两种引用方式,结构体变量和结构体指针)学生结构体定义如下:struct student int id; char name20; int age;编程练习编程练习学生管理系统:学生管理系统可以实现学生信息的录入,查询,注销等功能。定义学生的结构体(以后可以按照具体情况增加个人信息内容)struct student int

14、id; char name20; int age;C语言中的运算符语言中的运算符运算符运算符什么是运算符用来表示各种运算的符号称为运算符。运算符特点运算符必须有运算对象运算对象,运算对象都有规定的数据类型数据类型,同时运算结果也有确定的数据类型。每个运算符都有自己特定的运算规则运算规则。当表达式中出现多个运算符时则必须考虑运算符的优先级优先级。同级别的运算符还规定了结合性结合性。算术运算符算术运算符运算符名称优先级结合性+、-取正、取负2自右向左*、/、%乘、除、取余数3自左向右+、-加、减4自左向右增增1、减、减1运算符运算符有哪些运算符号j = i+; 相当于 j = I; i= i+1;

15、j = +i; 相当于 i = i +1; j = i; 运算符名称优先级结合性+增12自右向左- -减1关系运算符关系运算符运算符名称优先级结合性=、 、= 、大于等于、大于、小于等于、小于6自左向右=、!=等于、不等于7自左向右关系运算符要点关系运算符要点关系运算符可以用来比较两个数值型数据的大小,也可以比较两个字符型数据的大小。关系运算符的运算结果是逻辑值,若为“真”用整数1表示,若为“假”用整数0表示。逻辑运算符逻辑运算符运算符名称优先级结合性!逻辑非2自右向左&逻辑与11自左向右|逻辑或12自左向右逻辑运算符的特点逻辑运算符的特点逻辑运算符运算对象是数值型或字符型等;如果是非0表示逻

16、辑真,0表示逻辑假。运算结果是逻辑值,如运算结果为真用1表示,若为假则用0表示。逻辑运算逻辑运算用“&”对两个表达式进行计算时,若第1个表达式的值为“假”,则与第2个表达式的值无关,结果肯定为“假”,所以C语言规定此时第2个表达式不再计算用“| ”对两个表达式进行计算时,若第1个表达式的值为“真”,则与第2个表达式的值无关,结果肯定为“真”,所以C语言规定此时第2个表达式不再计算赋值运算符和赋值表达式赋值运算符和赋值表达式一、赋值运算符“=”用法:变量=表达式作用:将表达式的值赋给变量如:a=5;ave=(a+b)/10;二、赋值结果和类型转换1、实型数据(包括单、双精度)赋给整型变量时,舍弃实数的小数部分。2、整型数据赋给单、双精度变量时,数值不变,但以浮点数形式存储到变量中#include “stdio.h” void main() int i; float f; i=1.23; f=45; printf(“%d %fn”,i,f);结果:i=1 f=45.000000逗号运算符和逗号表达式逗号运算符和逗号表达式形式:表达式1,表达式2,表达式n作用:用于连接表达式 如:3+5,6

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号